Commit Graph
100 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto ca739b1b51 Post-release version bump 2025-02-03 09:25:28 -03:00
Georges Basile Stavracas Neto 20d366f820 48.beta 2025-02-03 09:24:29 -03:00
Georges Basile Stavracas Neto 905a813f58 views/week: Protect against 0-height scrollview
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1352
2025-01-31 19:38:27 -03:00
Georges Basile Stavracas Neto 47fd758d01 views/month: Override dispose, not finalize 2025-01-22 16:45:39 -03:00
Georges Basile Stavracas Neto b329813e7b Post-release version bump 2025-01-13 10:20:59 -03:00
Georges Basile Stavracas Neto fa06949728 48.alpha2 2025-01-13 10:10:45 -03:00
Georges Basile Stavracas Neto 5591e6aa60 48.alpha 2025-01-13 09:42:50 -03:00
Georges Basile Stavracas Neto a1d45d9583 ci: Integrate with GNOME Release Service 2024-12-18 15:19:41 -03:00
Georges Basile Stavracas Neto 6d1fd2839b ci: Make AARCH64 manual
As long as it fails to build, we cannot enable this.
2024-12-18 15:17:36 -03:00
Georges Basile Stavracas Neto 74d85a7484 ci: Rework to modern standards
Build x86_64 and aarch64. Rename a few things.
2024-12-18 15:16:15 -03:00
Georges Basile Stavracas Neto f883de2d02 core/context: Properly initialize time format
The property default and the actual initialization didn't agree on
24h.
2024-12-16 15:55:09 -03:00
Georges Basile Stavracas Neto f227055122 event-editor/dialog: Use action in the Save / Done button 2024-11-28 09:11:52 -03:00
Georges Basile Stavracas Neto 363dd585df event-editor/dialog: Switch to GSimpleActionGroup 2024-11-28 09:11:51 -03:00
Georges Basile Stavracas Neto 7ad83d1d92 test/utils: Cosmetics 2024-11-20 13:23:03 -03:00
Georges Basile Stavracas Neto 5283bfe546 event-editor/dialog: Compose calendars model
Currently we only show writable calendars in the calendar row, but
for read-only events, the read-only calendar must be selected. But
that's impossible because it's not in the model.

Change the model to a flattened list as follows:

+ FlattenListModel -----------+
|                             |
| + writable calendars -----+ |
| |                         | |
| | - Calendar 1            | |
| | - Calendar 2            | |
| | - Calendar 3            | |
| | [...]                   | |
| |                         | |
| +-------------------------+ |
| + read-only calendars ----+ |
| |                         | |
| | - Calendar 1            | |
| | [...]                   | |
| |                         | |
| +-------------------------+ |
+-----------------------------+

The read-only calendars list only ever has 1 item: the calendar
of the current event, and only if the event is in a read-only
calendar.
2024-11-08 17:38:10 -03:00
Georges Basile Stavracas Neto 1354467dc1 event-editor/dialog: Bind sensitive to writable property
So that the row is insensitive for read-only calendars.
2024-11-08 17:37:28 -03:00
Georges Basile Stavracas Neto 5b0c44c06c calendar-combo-row: Fix a memory leak 2024-11-08 17:17:47 -03:00
Georges Basile Stavracas Neto 416a369f0c window: Remove unused error handling 2024-11-06 10:43:42 -03:00
Georges Basile Stavracas Neto 2c3eceaa48 style: Use CSS variable for event radius 2024-11-06 10:40:32 -03:00
Georges Basile Stavracas Neto 1e8fa097e0 window: Simplify CSS recalculation code 2024-11-06 10:36:46 -03:00
Georges Basile Stavracas Neto 963e6a28dd style: Remove unused CSS style 2024-11-06 10:24:18 -03:00
Georges Basile Stavracas Neto 6b92164ff2 importer: Don't duplicate string unnecessarily 2024-11-06 10:05:27 -03:00
Georges Basile Stavracas Neto 2d75d3fb30 importer: Assert instead of trace
We go to great lengths to convert to UTF-8, so it's only fair to
expect it to be UTF-8
2024-11-06 10:04:26 -03:00
Georges Basile Stavracas Neto fa88b4999c importer: Cosmetics 2024-11-06 10:04:03 -03:00
Georges Basile Stavracas Neto 004fdb0f3d utils: Shuffle and cleanup some paintable code
- It's only used in GcalShellSearchProvider so move it there.
- GdkTexture implements GIcon so no need to convert to a pixbuf.
2024-10-11 22:55:03 -03:00
Georges Basile Stavracas Neto c5424c8bfa calendar-management/new-calendar: Remove unused code 2024-10-11 22:39:04 -03:00
Georges Basile Stavracas Neto fc642bb65d build: Remove enum templates
Meson has a handy way to do that without these template files. Let's
just use it
2024-10-11 22:36:35 -03:00
Georges Basile Stavracas Neto 127199e28c Post-release version bump 2024-09-16 10:43:40 -03:00
Georges Basile Stavracas Neto 41208bc746 47.0 2024-09-16 10:28:53 -03:00
Georges Basile Stavracas Neto eea9a921ac Post-release version bump 2024-09-02 10:24:41 -03:00
Georges Basile Stavracas Neto 76f368e1b5 47.rc 2024-09-02 10:21:03 -03:00
Georges Basile Stavracas Neto 5f86b88c3b views/month: Increase overflow popover min width
Makes it so that it's at least 1.25 the width of a day cell, and at
most 1.5 of that.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1166
2024-08-13 16:25:45 +00:00
Georges Basile Stavracas Neto 2b85b9c680 views/month: Rename a variable
Makes it clearer that this is the day cell.
2024-08-13 16:25:45 +00:00
Georges Basile Stavracas Neto 54657788d0 views/month: Use variables some more
Makes it easier to reason about the if conditions there.
2024-08-13 16:25:45 +00:00
Georges Basile Stavracas Neto 74eb734a12 Post-release version bump 2024-08-05 14:25:34 -03:00
Georges Basile Stavracas Neto 9a13378d7c 47.beta 2024-08-05 13:31:14 -03:00
Georges Basile Stavracas Neto 147acf8ff1 Post-release version bump 2024-07-25 11:10:06 -06:00
Georges Basile Stavracas Neto 5d0d764c09 47.alpha 2024-07-25 11:08:23 -06:00
Georges Basile Stavracas Neto 75a42c7d83 event-widget: Truncate the correct string
I shouldn't write code in a hurry
2024-07-09 17:40:01 -03:00
Georges Basile Stavracas Neto 06bf58d5fa event-widget: Don't modify translated strings 2024-07-09 17:35:48 -03:00
Georges Basile Stavracas Neto ae03627f0c utils: Port to AdwAlertDialog 2024-07-09 17:09:29 -03:00
Georges Basile Stavracas Neto 5a0aef6def tests: Disable a pair of tests
They're failing CI, I don't know why, and I'm afraid it's not really
related to GNOME Calendar itself. So just disable them for now.
2024-07-09 19:04:46 +00:00
Georges Basile Stavracas Neto b1a8720384 build: Properly sort tests alphabetically 2024-07-09 19:04:46 +00:00
Georges Basile Stavracas Neto de5f663373 style: Use CSS variables for event widget styling
This vastly simplifies the code!
2024-06-11 17:22:35 -03:00
Georges Basile Stavracas Neto 00919f6305 build: Depend on GTK4 >= 4.15.2
We'll start using CSS variables
2024-06-11 17:21:57 -03:00
Georges Basile Stavracas Neto eced2151aa calendar-management/edit: Use external-link-symbolic icon
As per mockups.
2024-05-02 14:54:43 -03:00
Georges Basile Stavracas Neto 9add430c30 calendar-management/edit: Always show calendar location
As per mockups.

See https://gitlab.gnome.org/Teams/Design/app-mockups/-/issues/102
2024-05-02 14:54:43 -03:00
Georges Basile Stavracas Neto 41390a246e build: Bump minimum libadwaita version to 1.6.alpha 2024-05-01 11:10:23 -03:00
Georges Basile Stavracas Neto 0228df3bc9 calendar-management/page: Remove unused vfuncs 2024-05-01 10:45:57 -03:00
Georges Basile Stavracas Neto 57ba8e2bf1 calendar-management: Rework page interface
Make GcalCalendarManagementPage require implementors to be
AdwNavigationPages
2024-05-01 10:44:16 -03:00
Georges Basile Stavracas Neto 7bbd144b56 Post-branching version bump 2024-04-21 19:51:05 -03:00
Georges Basile Stavracas Neto d8a2f70cd4 46.1 2024-04-21 19:45:31 -03:00
Georges Basile Stavracas Neto 36c05e7650 Post-release version bump 2024-03-18 12:13:30 -03:00
Georges Basile Stavracas Neto 64f2fb7b4d 46.0 2024-03-18 12:10:37 -03:00
Georges Basile Stavracas Neto ef91ca2856 Post-release version bump 2024-03-05 09:11:32 -03:00
Georges Basile Stavracas Neto 7191987bbc 46.rc 2024-03-05 08:59:28 -03:00
Georges Basile Stavracas Neto cbe89a9daa gui/event-editor: Rework calendars menu
Use a GtkListBox and bind from the model. Create rows from the model
items, and bind properties as needed.

The action target is set only when the calendar is writable because
setting an invalid action+target pair makes the row insensitive.

Remove the ancient menu icon hack.
2024-03-01 00:39:42 -03:00
Georges Basile Stavracas Neto 4795999092 Revert "event-editor: Revert "New Event" string back to "Unnamed Event""
This reverts commit 18da9c9f3b.
2024-02-25 14:32:07 -03:00
Georges Basile Stavracas Neto 18da9c9f3b event-editor: Revert "New Event" string back to "Unnamed Event" 2024-02-25 13:18:06 -03:00
Georges Basile Stavracas Neto 1257af8b89 Post-release version bump 2024-02-24 17:58:17 -03:00
Georges Basile Stavracas Neto e688acbd16 46.beta1 2024-02-24 17:55:35 -03:00
Georges Basile Stavracas Neto b82f0165c1 46.beta 2024-02-24 17:52:49 -03:00
Georges Basile Stavracas Neto ac8c7d6c4f gui/event-widget: Set weak ref on preview popover
So that when it's destroyed, the internal ref becomes NULL and we then
can safely call g_clear_pointer() on it.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1154
2024-02-18 17:25:42 -03:00
Georges Basile Stavracas Neto 1114e566d9 style: Update month border colors
Use a defined color for that, and make them more in line with the
Adwaita style.
2024-01-27 13:36:28 -03:00
Georges Basile Stavracas Neto 350cc6479f window: Use adw_dialog_present() everywhere 2024-01-27 12:53:22 -03:00
Georges Basile Stavracas Neto 26c71e18f6 event-editor: Use adw_dialog_close() to hide 2024-01-27 12:53:10 -03:00
Georges Basile Stavracas Neto df8526f471 event-editor: Cleanup some code
Remove the constructed() override, we can do that in init().
2024-01-27 12:40:23 -03:00
Georges Basile Stavracas Neto b52b27eace event-editor: Turn into an AdwDialog 2024-01-27 12:38:35 -03:00
Georges Basile Stavracas Neto 72d3caaf94 calendar-management: Make it an AdwDialog
So it can behave like a bottom sheet when collapsed.
2024-01-27 12:32:12 -03:00
Georges Basile Stavracas Neto b42f3d46d4 build: Depend on libadwaita 1.5.alpha 2024-01-27 12:32:12 -03:00
Georges Basile Stavracas Neto 1fbd5e0621 event-widget: Use GtkInscription for summary text
It's slightly more performant than a GtkLabel, which is demonstrably
the widget dominating the perf profile of the app.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1125
2023-12-17 22:32:18 +00:00
Georges Basile Stavracas Neto 1043917ecf event-editor/time-selector: Don't change dropdown on callback
The 'update_time' function shouldn't try to update the dropdown,
as it is actually invoked by the dropdown itself. This causes a
cyclic loop with signal emission.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1133
2023-12-13 19:41:41 -03:00
Georges Basile Stavracas Neto 3b9bf55dd5 event-editor/time-selector: Properly diff times
Helps: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1133
2023-12-13 19:41:41 -03:00
Georges Basile Stavracas Neto a944aafa00 gui/date-chooser: Use translated weekday abbreviations
It matches what GNOME Shell does, and makes the app more localizable.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1122
2023-11-17 13:47:48 -03:00
Georges Basile Stavracas Neto 82a6fa364e event-editor/date-selector: Use portal for week dates
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1022
2023-11-07 18:55:05 +00:00
Georges Basile Stavracas Neto bed4c9b62c Post-branching version bump 2023-10-23 10:15:46 -03:00
Georges Basile Stavracas Neto e91eccffde Post-release version bump 2023-10-23 10:15:14 -03:00
Georges Basile Stavracas Neto a40ddb658c 45.1 2023-10-23 10:12:32 -03:00
Georges Basile Stavracas Neto ab714d6f39 gui/event-popover: Show at the top
Seems slightly less worse than showing at the sides of the event.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1006
2023-10-18 15:51:32 -03:00
Georges Basile Stavracas Neto 4fb2cd87b0 event-popover: Rework spacings
This allows the scrolled window to have infinite borders
2023-10-18 15:47:46 -03:00
Georges Basile Stavracas Neto ddaf0e17a4 views/month: Create timed ranges
This allows proper range comparisons.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1106
2023-09-28 13:21:30 -03:00
Georges Basile Stavracas Neto 3ff57f71e4 views/month: Dispose overflow popover 2023-09-28 11:52:40 -03:00
Georges Basile Stavracas Neto e9ab7effad calendar-management/edit: Remove unnecessary binding
This is handled by the C code now.
2023-09-28 11:52:11 -03:00
Georges Basile Stavracas Neto 80a258c705 core/timeline: Use g_clear_handle_id
Saves us a few lines of code.
2023-09-28 11:33:30 -03:00
Georges Basile Stavracas Neto 96625ec595 core/calendar-monitor: Protect against NULL range 2023-09-28 11:33:02 -03:00
Georges Basile Stavracas Neto 27ee81b072 views/month: Only diff when current range exists
Right after bring created, the current date - and consequently
the range - is NULL. We shouldn't diff in this case.
2023-09-28 11:25:27 -03:00
Georges Basile Stavracas Neto 9a665a94c7 application: Add message when running as a service 2023-09-28 11:19:23 -03:00
Georges Basile Stavracas Neto 750c62d4f2 core/context: Use Settings portal for 24h setting
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1105
2023-09-23 02:54:09 -03:00
Georges Basile Stavracas Neto b26f33ea10 utils: Remove 24h utility function
The last user of this function is gone now.
2023-09-23 02:39:39 -03:00
Georges Basile Stavracas Neto 38108ffa7a event-widget: Fetch 24h setting from context
Instead of using the auxiliary function.
2023-09-23 02:39:07 -03:00
Georges Basile Stavracas Neto c8543aa822 views/week/header: Use en dash
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1107
2023-09-22 11:47:47 -03:00
Georges Basile Stavracas Neto a7f798a815 views/month: Use en dash
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1107
2023-09-22 11:45:47 -03:00
Georges Basile Stavracas Neto a25cd4fec7 Post-release version bump 2023-09-18 09:07:26 -03:00
Georges Basile Stavracas Neto 619d95c336 45.0 2023-09-18 09:04:06 -03:00
Georges Basile Stavracas Neto 77c908b394 event-widget: Properly unparent preview popover
GcalEventWidget currently doesn't track the preview popover, and
that can easily crash Calendar upon destruction.

Track that, and unparent on dispose.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/986
2023-09-14 12:09:11 -03:00
Georges Basile Stavracas Neto 8d79fe2ffd views/month: Demote assertion to regular check
We can have a NULL selection start, when starting the drag on the
header section.
2023-09-13 18:34:22 -03:00
Georges Basile Stavracas Neto 439b46af89 core/calendar-monitor: Remove g_autoptr from a variable
g_hash_table_lookup() is not transfer-full, so this g_autoptr + the
g_hash_table_remove() call end up double-unreffing the event, which
causes a crash.

Remove g_autoptr from the variable.
2023-09-13 17:51:34 -03:00
Georges Basile Stavracas Neto dd61f8ef6f views/month/row: Adjust for exclusive end date
Subtract a second from the end date so we can properly compare dates.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1098
2023-09-13 14:25:45 -03:00
Georges Basile Stavracas Neto 07c5b6280a core/calendar-monitor: Transfer event ownership properly
g_steal_pointer() is not enough, since the event is not declared
with g_autoptr.

Use g_object_ref().

Fixes: f7ee9279ad
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1097
2023-09-13 14:18:36 -03:00
Georges Basile Stavracas Neto a1810433ed core/timeline: Don't excise events from queue
When removing the last subscriber (something that can happen when
closing the main window), GcalTimeline clears the event queue. But
that leaves us in an inconsistent state, as we don't process any of
the potentially removed events.

Don't do that.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1087
2023-09-13 09:17:12 -03:00