Commit Graph
4519 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto 42df20b904 45.rc 2023-09-02 10:33:32 -03:00
Georges Basile Stavracas Neto 5503e5ca50 views/month: Handle reduced animations setting
Move rows slightly faster in that case.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1080
2023-09-02 10:28:39 -03:00
Georges Basile Stavracas Neto 20ad7f3676 views/month: Reset offset when animation is done 2023-09-02 10:26:41 -03:00
Georges Basile Stavracas Neto b0813fb605 month-view-row: Clamp last cell to [first cell, 6]
This is not ideal but it's what we've got for now.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1083
2023-09-02 10:26:41 -03:00
Alan Mortensen 7ae5765788 Update Danish translation 2023-09-01 18:19:00 +00:00
Daniel Rusek 6769b7a719 Update Czech translation 2023-09-01 09:00:33 +00:00
Aurimas Černius a0073fd241 Update Lithuanian translation 2023-08-31 19:20:18 +00:00
Fran Dieguez 8a2c51e141 Update Galician translation 2023-08-29 21:49:02 +00:00
Nathan Follens 086d175a4a Update Dutch translation 2023-08-27 18:02:49 +00:00
Georges Basile Stavracas Neto e3a350126b gui/month-cell: Accept drops from other months
We support that now fairly easily, let's enable it.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1077
2023-08-25 18:07:04 -03:00
Georges Basile Stavracas Neto f6c4fe108d core/calendar-monitor: Join view thread in dispose
Joining the calendar view thread in finalize is too late; dispose
is an earlier phase, and recoverable.

Do that.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1085
2023-08-25 17:18:16 -03:00
Georges Basile Stavracas Neto d8742df706 core/calendar-monitor: Remove unnecessary g_main_loop_quit() 2023-08-23 11:25:59 -03:00
Georges Basile Stavracas Neto ef1f154c7a core/shell-search-provider: Check for pending search
Now that GcalTimeline properly notifies about the complete state,
it uncovered an issue where GcalShellSearchProvider was dereferencing
a NULL pointer.

Protect against that.
2023-08-23 11:19:10 -03:00
Georges Basile Stavracas Neto b32353e0ed core/timeline: Update completed when adding or removing
We need to do that, so we can keep properly keep the complete
property up-to-date.
2023-08-23 11:19:10 -03:00
Georges Basile Stavracas Neto 0eb3ebb1fa core/timeline: Track complete state differently
Don't try and track the number of completed calendars; instead,
recalculate the completed state from scratch every time. This
is not a performance concern, as we're dealing with at most some
hundreds of calendars.
2023-08-23 11:19:10 -03:00
Georges Basile Stavracas Neto f16b0a1563 core/calendar-monitor: Assert more startup conditions
The calendar view thread can start spinning its own mainloop
before g_thread_new() returns, and in that case we have a NULL
thread.

Check that either the GThread is what we expect it to be, OR,
the thread is NULL and there are no messages in the queue.
2023-08-23 10:17:01 -03:00
Georges Basile Stavracas Neto 8403052d88 core/calendar-monitor: Initialize and clear mutex
An oversight from previous commits
2023-08-23 10:11:13 -03:00
Georges Basile Stavracas Neto 373da242d0 core/calendar: Ensure notify happens in main thread
The notify signals of ESourceSelectable seem to come from the
ESourceRegistry thread, and this has the potential to derail
the execution of Calendar. This might be true for all signals
we connect to.

Make sure to always emit notify signals on the main thread.
2023-08-23 09:33:01 -03:00
Georges Basile Stavracas Neto 42de771c24 core/calendar-monitor: Join thread before NULLifying it
This allows the threading macros to compare against the correct
value.
2023-08-23 09:33:01 -03:00
Georges Basile Stavracas Neto 6f45dcc26f core/calendar: Notify about the right property
When we change colors, notify about colors, not the name.
2023-08-22 17:28:13 -03:00
Georges Basile Stavracas Neto 9e341d87e4 core/monitor: Assert we're in the right thread
Right now everything works as expected, but this should catch cases
where we're running functions on the wrong thread.
2023-08-22 17:25:56 -03:00
Georges Basile Stavracas Neto df66e484a7 core: Add global threading utility
For now, we only store what's the main thread of the program.
2023-08-22 17:25:56 -03:00
Amn Alam 4e054f276b Update Punjabi translation 2023-08-21 00:15:10 +00:00
Baurzhan Muftakhidinov 73fa6d2260 Update Kazakh translation 2023-08-19 16:18:54 +00:00
Georges Basile Stavracas Neto 9e3a727eb7 Post-release version bump 2023-08-18 12:53:01 -03:00
Georges Basile Stavracas Neto a489b76a68 45.beta 2023-08-18 12:50:25 -03:00
Georges Basile Stavracas Neto 970ece7814 Bump release version to 45.beta
I missed the alpha release :/
2023-08-18 12:01:35 -03:00
Georges Basile Stavracas Neto da84b727b3 core/subscriber: Pass old event on update
Now that we keep precise control over GcalEvent instances, and
can use simple pointer comparisons everywhere, GcalMonthView
implemented its update function as a simple remove + add pair.

The problem is that we're not passing the old event instance,
so removals never actually happen, since the new instance is
not yet available to subscribers.

Pass old event in additio to the new one, and use it where it
makes sense.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1073
2023-08-18 10:41:41 -03:00
Georges Basile Stavracas Neto 60223adc5c core/calendar-monitor: Replace signals by callbacks
This should save quite some resources when manipulating events.
Signals are relatively expensive, and 2 pointer chases are
definitely better than a global lock + FFI stashing + signal
manipulation.
2023-08-18 10:41:18 -03:00
Georges Basile Stavracas Neto ec840fbab9 style: Improve selection visuals of month cells
Add specific CSS rules for the selected state, and make it a bit
more prominent.
2023-08-17 21:22:49 -03:00
Georges Basile Stavracas Neto bd989aae66 views/month: Implement event creation flow
Add a click gesture to detect when we have to start monitoring
cursor motion. Also add a motion event controller to react to
cursor motion, and enable and disable the this motion controller
on button press and release, respectively.

Selection is implemented as a pair of GDateTimes stored in the
month view struct. Whenever a selection begins, the start date
is set; the end date is only set when moving the cursor. It is
valid to have a start of the selection, and no end (meaning, a
1 day selection); it is, however, forbidden to have an end but
not a start.

Future improvements can be added later, such as scrolling when
moving the cursor close to the edges of the month view. We're
gonna have to live without that for now though.

Implement the GcalView.clear_marks vfunc now that we have a
selection to operate on.
2023-08-17 21:13:54 -03:00
Georges Basile Stavracas Neto ded56392ef views/month: Use inclusive week end to format title
Otherwise we end up with D+1 in the last date.
2023-08-17 19:41:55 -03:00
Georges Basile Stavracas Neto 0e4c4d5177 views/month: Use month and year rangers in titles 2023-08-17 18:46:52 -03:00
Georges Basile Stavracas Neto 632484b719 month-cell: Cleanup unused function
We handle weather internally now, no need to expose a function to
set that.
2023-08-17 18:28:30 -03:00
Georges Basile Stavracas Neto f344241a1a weather-service: Cleanup unused method 2023-08-17 18:28:30 -03:00
Georges Basile Stavracas Neto 4a2412897a month-cell: Bring back weather information
Now GcalMonthCell handles it internally, instead of receiving the
weather information from the parent view.

This is a modified version of a patch originally written by
camelCaseNick.
2023-08-17 18:27:05 -03:00
Georges Basile Stavracas Neto 904ae8c4f6 weather-service: Add method to fetch info for date
This will be used by next commit to reintroduce weather data
in the Month view.

Patch originally made by camelCaseNick.
2023-08-17 18:26:49 -03:00
Florentina Musat 4042f43f46 Update Romanian translation 2023-08-17 16:12:44 +00:00
Georges Basile Stavracas Neto dabbc597d9 month-cell: Show month name on the 1st day
This helps differentiate when the month change happens.
2023-08-16 21:21:47 -03:00
Georges Basile Stavracas Neto b8b1db7bcd style: Improve out-of-month day cell visuals
Make them more easily recognizable.
2023-08-16 21:21:47 -03:00
Georges Basile Stavracas Neto 28ee1e1244 month-cell: Add 'numeric' CSS class
Gives us a nice consistent look
2023-08-16 21:21:47 -03:00
James Westman eff84e9905 build: Remove direct dependency on geocode-glib
It's still a dependency through libgweather, but Calendar doesn't use it
directly. It looks like it was added for the weather feature, in a
function that ended up being removed.
2023-08-16 10:58:14 +00:00
Hari Rana d80536c83b summary-section: Remove find-location button 2023-08-15 18:28:58 -04:00
Quentin PAGÈS 94e5bdd88e Update Occitan translation 2023-08-15 14:26:15 +00:00
Georges Basile Stavracas Neto f1f9d83943 views/month: Implement get_children_by_uuid
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1057
2023-08-14 14:57:51 -03:00
Georges Basile Stavracas Neto 1fd984306f views/month: Animate discrete scrolls
When scrolling with a scroll wheel, animate towards a target
row. If multiple scrolls happen before the animation completes,
change the target row of the animation.
2023-08-13 18:37:12 -03:00
Georges Basile Stavracas Neto 8f04f40272 views/month: Factor out row offsetting in a function
And use it in the pixel-based variant.
2023-08-13 18:37:12 -03:00
Georges Basile Stavracas Neto 12a9e8193f views/month: Rename a function
We'll introduce a variant of this function that operates directly
on row offsets, instead of pixel values.
2023-08-13 18:37:12 -03:00
Efstathios Iosifidis fcef48ce69 Update Greek translation 2023-08-13 21:06:59 +00:00
Philipp Kiemle bb54f0d9d4 Update German translation 2023-08-13 18:57:09 +00:00