Commit Graph
100 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto bebfe587e1 views/month: Add missing GCAL_EXIT 2025-03-11 17:52:15 -03:00
Georges Basile Stavracas Neto de342e5606 gui/event-widget: Properly handle read-only events
Handle it internally, as it should be.
2025-03-11 17:52:14 -03:00
Georges Basile Stavracas Neto 03e6e39433 views/month: Rebuild layout blocks at once per frame
Instead of rebuilding them all every time an event is added or removed,
rebuild it once per frame. In case the month view isn't visible, don't
do anything, and wait until it's mapped to actually rebuild the event
blocks.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1381
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1125
2025-03-11 17:52:14 -03:00
Georges Basile Stavracas Neto 67a6d0a002 views/month: Cosmetics 2025-03-11 15:22:51 -03:00
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