Commit Graph
4446 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto d2c606a221 views/dazzling: Actually use start date
Oopsie
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 83acb98f9e views/dazzling: Make debug prints more useful 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 66cb36e855 views/dazzling-month-view: Implement differential date change
Should make the Today button work properly now.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 1c307de688 views/dazzling: Remove unused field 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto f9f9ccbb8c month-view-row: Rewrite layout algorithm
Calculate event blocks upfront, in a way that is agnostic to
pixel sizes, and keep them alive as long the event is around.

Calculate which event blocks are visible at layout time, and
only set the child visibility of the event widgets, instead
of truly showing or hiding them. This makes size_allocate not
queue relayouts.

There are many opportunities for optimizations that we can
eventually land, but this seems to work decently so far.

RTL support is still missing.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto b775256ef8 views/month-cell: Use GtkInscription
It allows us to change text without causing a relayout.
This will be important later.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto a04b5da975 month-view-row: Remove unnecessary field 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 6382b1f383 month-view-row: Remove redundant check
All events of a row are, technically, in the same row!
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto cc51e88ed2 month-view-row: React to event visibility 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 3506100f5b views/dazzling-month-view: Show event popovers 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 3a36f75877 views/dazzling-month-view: Tentatively support wheel scroll
Add a dedicated discrete scroll event controller, and ensure
each event controller handles the right types of events.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 3f0b1e57de views/dazzling-month-view: Handle events
Most of the code is copied from GcalMonthView, so it sucks
slightly. But it seems to work reasonably well so far.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 7f57cfeb83 range: Add API to check if range contains datetime
This will be used by next commits to make some code
more legible.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto f8f2c10a8e views/dazzling-month-view: Propagate context to rows 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto adaf735ada views/month-view-row: Remove unused variables 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto d62bd1ae77 views/dazzling-month-view: Sketch timeline subscription
Right now it does nothing beyond reporting a range, but eventually
we'll populate this code.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 628d530ee5 window: Don't leave GcalDazzlingMonthView alone in the rain
It is now part of the family, and we can't just bully this view
like this anymore.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto f36fcbbbbd views/dazzling-month-view: Notify active-date changes 2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto 72d4f45cd1 views/dazzling-month-view: Initialize on current date
Calling gcal_view_set_date() ensures that all week rows have
their ranges setup. This will be useful later.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto a527bbe5dc views: Sketch out new month view
Nothing really works here, this is very WIP. It doesn't even show
events. Let's build from here.
2023-08-11 15:13:44 -03:00
Fran Dieguez 230d1b2fec Update Galician translation 2023-08-09 19:19:22 +00:00
Boyuan Yang 89154b10bf Update Chinese (China) translation 2023-08-08 18:05:41 +00:00
Piotr Drąg af63eab273 Update Polish translation 2023-08-08 19:41:26 +02:00
Yosef Or Boczko e0401bb3e4 Update Hebrew translation 2023-08-08 14:40:01 +00:00
Artur So df11243baa Update Russian translation 2023-08-08 14:31:04 +00:00
Sabri Ünal 7010a3feb6 Update Turkish translation 2023-08-08 10:58:59 +00:00
Daniel Mustieles 1be9bdfb93 Updated Spanish translation 2023-08-08 08:18:57 +02:00
Hari Rana db8127e79a calendar-row: Port to AdwActionRow
`AdwSwitchRow` doesn't allow us to add widgets before the switch as a suffix, which will be required for further use.
2023-08-07 23:15:22 +00:00
Vasil Pupkin 1cfc83ece9 Update Belarusian translation 2023-08-07 20:40:36 +00:00
Jiri Grönroos 70dc1df4e6 Update Finnish translation 2023-08-07 16:20:57 +00:00
Georges Basile Stavracas Neto 3dc669f2ec calendar-monitor: Set the right field when removing events 2023-08-07 14:51:52 +00:00
Georges Basile Stavracas Neto 04522b7817 core/calendar: Remove connection timeout
As per discussions, this is not really what we want here. There
already is offline caching and post-connection sync, so we want
to show events as soon as possible.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1027
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/569
2023-08-07 14:51:52 +00:00
Jürgen Benvenuti e606585c89 Update German translation 2023-08-07 14:30:36 +00:00
Victoria Lacroix b35212c88c gcal-application: Ctrl+R to synchronize calendars
In !332, there was some difficulty with having two accelerators for the
"Synchronize calendars" action, so the Ctrl+R accelerator was left out.

This commit adds the Ctrl+R accelerator to gcal-window.ui by specifying
it before the F5 accelerator. The result is that only F5 is shown as an
accelerator in the overlay menu, but Ctrl+R still works.

Ctrl+R was also added to help-overlay.ui, displayed alongside F5.

Fixes #1052
2023-08-06 11:08:35 -04:00
Danial Behzadi ea13fb8495 Update Persian translation 2023-08-05 11:31:23 +00:00
Yuri Chornoivan b22b47c3f6 Update Ukrainian translation 2023-08-05 06:47:44 +00:00
Ekaterine Papava de66db477f Update Georgian translation 2023-08-05 05:15:54 +00:00
Hari Rana c6aaf730b9 window: Add F5 shortcut for Synchronize Calendars 2023-08-04 19:05:15 -04:00
Yuri Chornoivan 930f18b0b7 Update Ukrainian translation 2023-08-04 19:37:41 +00:00
Danial Behzadi e2750315e9 Update Persian translation 2023-08-04 14:32:54 +00:00
Hugo Carvalho d45bd7d610 Update Portuguese translation 2023-08-04 13:28:14 +00:00
Hari Rana f210382bdc calendar-row: Port to AdwSwitchRow 2023-08-03 22:11:12 -04:00
Hari Rana 3c5a1cf870 notes-section: Disable Tab 2023-08-03 11:26:19 +00:00
Yosef Or Boczko 94240b5f44 Update Hebrew translation 2023-08-03 07:37:20 +00:00
Efstathios Iosifidis abef09a393 Update Greek translation 2023-08-02 17:57:52 +00:00
Georges Basile Stavracas Neto 2b78d57459 calendar-monitor: Don't replace new events
If an event is already present in the cache, don't attempt
to insert it, which replaces the available event instance
with the new one.
2023-08-02 11:05:06 -03:00
Georges Basile Stavracas Neto 9c21dff77d calendar-monitor: Improve lifecycle of updated events
Keep a ref alive while updating the old event, as it may be
destroyed during signal emission.
2023-08-02 11:05:00 -03:00
Georges Basile Stavracas Neto 745e022aa0 calendar-monitor: Don't remove events unnecessarily
Apparently I never properly implemented range comparison in
remove_events_outside_range(). Do so now.

This makes the infinite scrolling month view stop flickering
events when changing weeks.
2023-08-02 11:04:52 -03:00
Georges Basile Stavracas Neto f7ee9279ad calendar-monitor: Operate in batches
Instead of smashing the main thread's mainloop with
potentially hundreds or even thousands of idles that
add, remove, or update individual events, pass arrays
of events around.
2023-08-02 11:04:40 -03:00
Georges Basile Stavracas Neto 8b403f10ef calendar-monitor: Use a GPtrArray for accumulated events
This will ease future changes.
2023-08-02 11:04:37 -03:00