Zoey Ahmed
c3635967bc
window: Go back/forth views using hardware buttons
...
Refactor `on_window_previous_date_activated_cb` and
`on_window_next_date_activated_cb` into separate methods for going to
the prev/next view, to be used in the callbacks for both the
forward/back buttons in the UI, and for the `Gtk.GestureClick` callbacks
that listens for the hardware buttons to be pressed.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1494
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/682 >
2026-01-15 17:02:17 +00:00
Jean-François Fortin Tam
e6a4c204ab
gui/calendar-list: Ellipsize long headers labels
...
This prevents long calendar accounts' names from breaking the whole UI.
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1531
2026-01-06 10:53:48 -05:00
Georges Basile Stavracas Neto
fcc8845669
50.alpha
2026-01-05 20:02:30 -03:00
Jean-François Fortin Tam
719f60e289
appdata: Add keywords to improve discoverability
...
The description is not used for searching by some software center apps,
like GNOME Software.
Use keywords to make this app easier to find, as per this documentation:
https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-keywords
2025-12-31 14:49:03 -05:00
99aea45334
utils: Honor "week-start-day" gsetting on startup
...
This lets users override the "first day of the week" through a
GSetting, instead of being forced to use whatever is defined by
the locale, which often may not be correct for their culture,
language or location.
Currently this would apply only upon (re)starting the app.
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/160
Co-authored-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com >
Co-authored-by: Titouan Real <titouan.real@gmail.com >
Co-authored-by: Adrien Plazas <aplazas@gnome.org >
2025-12-28 13:02:27 -05:00
Hari Rana
6d47fc1db8
views/month-view-row: Add offset when allocating event widgets
...
The SEPARATOR_OFFSET constant is for the box shadow property
defined in month cells' CSS. Since the box-shadow property does
not contribute to layout, so these offsets need to be set manually.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/676 >
2025-12-28 17:04:32 +00:00
Hari Rana
b0a5ff18d5
views/month-view-row: Compute exact width of event widgets
...
Currently, month cells are using `round()` to allocate the width,
whereas event widgets are using implicit double → int conversion,
which causes event widgets to be offset by a pixel, and thus
touches month cells' borders.
This new approach guarantees the exact width of the event widgets
by invoking `round()`.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/676 >
2025-12-28 17:04:32 +00:00
Lukáš Tyrychtr
6c36048ae3
gcal-search-button: Announce number of search results to screen reader
...
We do not have anything like live regions yet, so put raw announce calls
in the right place.
Fixes #1470 .
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/675 >
2025-12-21 21:52:58 -03:00
Adrien Plazas
9c1a7fecfc
week-header: Fix end of week comparison
...
This fixes comparison of an event to the end of the week, so "end" can't
incorrectly be 7 anymore.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/835
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/672 >
2025-12-03 20:50:15 +01:00
Hari Rana
82198e0b8f
views/month-view: Smoothen discrete scrolling animation
...
The current animation duration paired with the ease-out-quad function
eases out imperceptibly fast (almost instantaneously), which makes the
overall animation feel laggy.
This patch addresses the aforementioned issue by increasing the
duration to 500ms. This then makes the ease-out-quad function ease
out relatively slowly, which is addressed by changing the function
to ease-out-quart - a function that eases out much quicker.
As a result, the animation should feel much more fluid and natural,
without giving the impression that it's 3 times slower.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1125
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/670 >
2025-11-29 08:59:50 -05:00
Hari Rana
0a8bd0e994
views/month-view: Use ease-out-sine when snapping to row
...
It should feel a little bit more natural as it is eases out slower.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/670 >
2025-11-29 08:59:33 -05:00
Hari Rana
bf86699f84
views/month-view: Check for user's reduced motion setting
...
"gtk-interface-reduced-motion" is the modern alternative to
"gtk-enable-animations" but gtk-enable-animations will be
kept as as a fallback.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/670 >
2025-11-29 08:47:20 -05:00
Hari Rana
f4702dde1f
views/month-view: Remove offset
...
Since we're now relying on box shadows to render separators,
which don't contribute to layout, we no longer need to set some
sort of offset to compensate the separators.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/669 >
2025-11-27 11:52:31 +00:00
Georges Basile Stavracas Neto
4c4fc5a965
core/range-tree: Properly free nodes
...
It was missing the GDateTime *max field.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 18:01:11 -03:00
Georges Basile Stavracas Neto
36d3837e0b
core/range-tree: Clear range from deleted nodes
...
Otherwise we leak the range.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 17:43:04 -03:00
Jean-François Fortin Tam
e470ecfc25
quick-add-popover: Use semantic typographic wrapping of time ranges
...
Atomically maintain time ranges on the same line when possible.
This is done using invisible non-breaking whitespace characters.
When selecting a range of time in the week view's timetable,
this ensures eye-pleasing, natural-looking typography.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1503
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/661 >
2025-11-19 13:34:54 +00:00
Dimitrios Christidis
938195e6e2
edit-calendar: Remove unnecessary assignment
...
g_clear_pointer() sets it to NULL.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/662 >
2025-11-19 13:04:54 +00:00
Georges Basile Stavracas Neto
50217bba42
core/event: Cosmetics
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/663 >
2025-11-19 09:48:25 -03:00
Georges Basile Stavracas Neto
a884076dc5
core/event: Remove g_autoptr declaration
...
Turns out g_date_time_get_timezone() is transfer-none, so assigning it
to a g_autoptr variable is invalid.
Fixes 42f891ff42
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/663 >
2025-11-19 09:47:29 -03:00
Georges Basile Stavracas Neto
6bb52f53e5
core/event: Improve setup function
...
Use g_autoptr, shuffle some code around, and fix a memory leak.
2025-11-18 14:58:08 -03:00
FineFindus and Krifa75
2d9afa938f
gui/edit-calendar-page: allow exporting calendars
...
Adds an export option to the edit page, allowing users to export an
entire calendar at once.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/31
Co-authored-by: Krifa75 <yahiaoui.fakhri@gmail.com >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/615 >
2025-11-18 15:27:44 +00:00
Georges Basile Stavracas Neto
67ca9ed20c
utils: Watch calendars for read-only change
...
This should make the list model update itself whenever a calendar
changes between read-only and read-write.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/660 >
2025-11-18 12:09:01 -03:00
Hari Rana
81990357fe
quick-add-popover: Make rows behave like radio buttons
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/362 >
2025-11-18 11:44:30 -03:00
Hari Rana
c624c9b53b
quick-add-popover: Rework population and update
...
This emits the `changed` signal, allowing us to filter out a wider
variety of calendars. It also allows us to remove the loops
that needed to re-run every time the user changed the default
calendar or closed the popover.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/362 >
2025-11-18 11:44:29 -03:00
Hari Rana
b83498cb1f
quick-add-popover: Use calendar row widget
...
The calendar row widget also makes it easy for us to display
hidden calendars.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/362 >
2025-11-18 11:42:39 -03:00
Hari Rana
7e63f5f7e2
calendar-row: Add APIs
...
Since the calendar row widget is becoming an expandable widget,
several APIs were added to the widget:
- `gcal_calendar_row_get_calendar`
- `gcal_calendar_row_add_suffix`
- `gcal_calendar_row_get_first_suffix_child`
- `gcal_calendar_row_add_header_class`
- `gcal_calendar_row_remove_header_class`
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/362 >
2025-11-18 11:37:18 -03:00
Hari Rana
f8c5751174
calendar-row: Rename calendar-combo-row-item to calendar-row
...
Currently, the quick add popover implements its own row
widget for each calendar, which duplicates tons of unnecessary
code. This commit streamlines the calendar-combo-row-item row
widget to make it reusable elsewhere.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/362 >
2025-11-18 11:37:07 -03:00
Hari Rana
324bde2c72
quick-add-popover: Port to libadwaita widgets and merge stack pages
...
Both stack pages are merged into one page to avoid additional
cycling through pages.
`GtkListBoxRow`s were replaced by `AdwActionRow`s with
`GtkCheckBox`es as children.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/90 ,
https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1003
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/362 >
2025-11-18 11:33:23 -03:00
Hari Rana
ac6cccee53
quick-add-popover: Port to GListModel
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/362 >
2025-11-18 11:31:24 -03:00
Georges Basile Stavracas Neto
564ce76349
views/month: Don't manually set can-focus property
...
Now that we're meddling with child visibility, hidden rows shouldn't
be focusable. At least that's what Hari discovered :)
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/659 >
2025-11-08 22:02:49 -03:00
Georges Basile Stavracas Neto
084a495f5c
views/month: Hide invisible rows
...
Change the child-visible property of rows when allocating. It's safe
to do in allocation because it doesn't affect layout, just rendering.
Related:
https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/402
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/659 >
2025-11-08 21:18:55 -03:00
Hari Rana
0c09e41796
gui/quick-add-popover: Specify const for strings using gettext
...
`gettext` returns a static string.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/656 >
2025-10-31 09:40:44 -04:00
Hari Rana
c3098bf23a
gui/quick-add-popover: Automatically free strings
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/656 >
2025-10-31 09:39:05 -04:00
Hari Rana
eefea2f7f4
gui/quick-add-popover: Handle memory leaks
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/656 >
2025-10-31 09:31:23 -04:00
Philipp Sauberzweig
ef4c70fa4c
month-cell: Add pill style to first day of the month.
...
Add a pill style to the label of the first day of the month to make it easy to identify. Adjust the border radius of the existing pill style for the current date to be the same. Apply the font-weight using the new style class.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/647 >
2025-10-28 14:06:44 +00:00
Philipp Sauberzweig
6e97c05a14
views: Merge month name and date number into a single label.
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/647 >
2025-10-28 14:06:44 +00:00
Philipp Sauberzweig
e3df308e23
src/theme: Remove accent color background from today month cell.
...
Use the accent color background exclusively for the selected style.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/653 >
2025-10-24 12:41:34 +02:00
Trystan Mata
d8e22b5646
event-editor: Fix template update when updating all events
...
Change how the template end date is determined by mainly relying on the
new template start date:
- If all day, end date is start date plus 1 day (midnight enforced)
- If time-based, end date is start date plus the time span of the event
properties
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/635 >
2025-10-21 14:17:33 +00:00
Trystan Mata
e11a3be44c
schedule-section: Skip updating recurrence limit if no repeat
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/634 >
2025-10-21 14:12:21 +00:00
Trystan Mata
20274b0b94
editor-dialog: Fix time-slot timezones
...
Uses the local timezone if the event was originally all-day.
Also set the end time to 1:00 if start and end date are the same.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/641 >
2025-10-21 14:08:04 +00:00
Alice Mikhaylenko
2a73bbe974
gcal-utils: Fix gtk gettext domain
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/651 >
2025-10-19 16:56:23 +04:00
Philipp Sauberzweig
a32df2b070
views/month-cell: Remove dimming of out-of-month cells
...
The infinite scrolling month view obsoletes the out-of-month
dimming, as the view is no longer fixed in a specific month, nor
does it make out-of-month cells insensitive.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1145
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/646 >
2025-10-17 18:06:17 -04:00
Lukáš Tyrychtr
3a544b22fc
week-view: Add tooltip to the all day events expander
...
This adds a tooltip to the all day events expander button,
indicating whether the expander will expand or collapse
upon activation.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1449
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/637 >
2025-10-17 13:59:26 -04:00
Hari Rana
3a93a4004d
views/month-popover: Use adw_lerp() function
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/650 >
2025-10-17 17:08:42 +00:00
Jean-François Fortin Tam
3e31bd1641
Revert "event-editor/notes: Add height-request"
...
The widget already auto-adjusts its height depending on text contents.
Let it use as much or as little height it needs.
This avoids extra scrolling in some cases.
This reverts commit a09c02591e .
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1455
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/636 >
2025-10-17 17:04:00 +00:00
Daniel Rusek
651fb25ab6
metainfo: Change component type to "desktop-application"
...
The "desktop" component type is deprecated
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/639 >
2025-10-17 16:56:41 +00:00
Philipp Sauberzweig
fc90d259b2
gui/views: Fix event margins in week header
...
Margins are already applied to the event widget itself through CSS.
This commit removes unnecessary margins and row spacing to bring
it in line with the month view.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/649 >
2025-10-17 12:27:03 -04:00
Jean-François Fortin Tam
28e8e07219
gcal-event-editor: Add mnemonic for "Delete Event"
...
This lets keyboard-centric power users delete events in 1 second.
It can be useful in rare situations when you need to delete many events.
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1313
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/628 >
2025-10-10 13:27:46 +00:00
Philipp Sauberzweig
2368a9f29d
gui: stop dimming the sidebar headings
2025-10-07 18:36:03 +00:00
Philipp Sauberzweig
4a3982848a
css: Use larger fraction of event-bg-color for event widget background color.
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/643 >
2025-10-06 18:47:32 +00:00