Hari Rana
e6e201d9aa
views/month-view-row: Implement focusing cells vertically
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
Hari Rana
48e6607d43
views/month-view: Focus adjacent cell when pressing Ctrl+Tab
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
Hari Rana
405f826252
views/month-view-row: Add method for focusing adjacent cells
...
This method allows to focus the month cells behind the event widgets.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
Hari Rana
e88f77802b
views/month-cell: Override focus() virtual function
...
Without this patch, focus immediately goes to the "Previous Month"
button at startup, for some unknown reason.
So, as a workaround, skip focus if the root cannot retrieve the
current focused widget.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
Hari Rana
80adbd0d23
views/month-cell: Inherit GtkWidget
...
AdwBreakpointBin, the parent, cannot set focus to itself. Instead
of focusing GtkOverlay, a child widget, we should instead inherit
GtkWidget to allow focusing that instead.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
Hari Rana
b592f15b26
views/month-view: Add and update accessible elements
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
Hari Rana
caed41abdd
views/month-cell: Set accessibility properties for overflow button
...
This uses the "toggle-button" role instead of GtkToggleButton widget,
as GtkToggleButton remains toggled after closing the month popover.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:46 +00:00
Hari Rana
55aa6b8cc5
views/month-view: Focus last focused widget after closing month popover
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:46 +00:00
Hari Rana
8877d93059
views/month-popover: Add "closed" signal
...
This will be needed for setting focus to the last focused widget
after closing the popover.
Alternatively, we could have used the "unmap" signal, but this causes
a significant delay before setting focus to the last focused widget,
as it needs to complete the animation before it emits the
"unmap" signal.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:46 +00:00
Hari Rana
f3a6c93245
views/month-popover: Cycle focus through widgets
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:46 +00:00
Hari Rana
5c4a2b1ab0
views/month-popover: Only focus rows
...
This follows the same approach as
https://gitlab.gnome.org/GNOME/gnome-calendar/-/commit/0aaf13626c0bb7e8ade2d79e8b50132b3a583c9f?merge_request_iid=559
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:45 +00:00
Hari Rana
a1c8a9575e
views/month-popover: Make close button unfocusable
...
Close buttons throughout the app are unfocusable, so it's best
to keep that behavior consistent.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:45 +00:00
Hari Rana
295f154c76
views/month-view-row: Allow navigating through overflow buttons
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:45 +00:00
Hari Rana
9e8c9ae6e8
style: Add border radius to overflow button
...
This also adds the `.overflow` style class.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:45 +00:00
Hari Rana
d79a3260f0
views/month-cell: Add margins to overflow button
...
`margin-end` and `margin-bottom` have a 2px margin since the
`box-shadow` CSS property, which is used to mimic a border,
is offset by 1px.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:44 +00:00
Hari Rana
5ed93e73d4
views/month-cell: Add method for retrieving overflow button
...
This is needed for keyboard navigation, specifically for grabbing
focus and checking focus.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:44 +00:00
Hari Rana
24dd9be132
views/month-view: Allow skipping event widgets with Ctrl
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598 >
2026-03-01 19:35:44 +00:00
Hari Rana
bdfb4b609e
views/week-view-common: Port from GtkStyleContext to GtkSnapshot
...
GtkStyleContext methods are deprecated.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/707 >
2026-02-28 13:57:52 +00:00
Hari Rana
033e719833
event-editor/alarm-row: Remove volume_button member
...
`volume_button` no longer exists.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/708 >
2026-02-27 21:37:42 -05:00
Hari Rana
bb2fa2a63b
views/month-view-row: Find nearest vertical widget when tabbing
...
This was overlooked from the original commit:
https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598/diffs?commit_id=2ae3dd771cb9b2cc0d08a1cabb0b2f5359719d0b#c04c121e2c8eebcfb09fbcbeecff310223fe987f_708_767
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/706 >
2026-02-24 19:46:47 -05:00
Hari Rana
aecb17a59b
views/month-view-row: Only find first/last event widget if tabbing through another widget
...
This was overlooked from the original commit:
https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/598/diffs?commit_id=4ad8aeac65648f8d0873f8392cd8ab9109de5198#c04c121e2c8eebcfb09fbcbeecff310223fe987f_471_600
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/706 >
2026-02-24 19:46:35 -05:00
Hari Rana
e1c139782f
views/month-view-row: Implement keyboard navigation for event widgets vertically
2026-02-24 21:22:26 -03:00
Hari Rana
4901709e63
views/month-view-row: Implement keyboard navigation for event widgets horizontally
...
Ideally, we should be comparing if the Y coordinate of both the
candidate and focused widgets are identical, but given font
sizing issues with special characters such as emojis
(see https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1519 ),
it is safer to check if these widgets intersect vertically, as
otherwise a single pixel offset may cause keyboard focus to
completely skip event widgets.
2026-02-24 21:11:40 -03:00
Hari Rana
4ae0997c3f
views/month-view-row: Focus first and last event widgets
...
This also creates the FocusEventData struct, which stores
relevant information to compare and contrast event widgets.
2026-02-24 20:44:51 -03:00
Hari Rana
08e8318889
views/month-view: Allow navigating with Tab
...
This also notifies if keyboard navigation fails.
2026-02-24 20:05:15 -03:00
Automeris naranja
6950324d17
calendars-page: Port to AdwPreferencesPage
...
This simplifies the UI code a bit.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/446 >
2026-02-21 21:35:09 -05:00
Fabian Hügel
66a8c6b7ab
common/date-chooser: Jump to first day of month on button press
...
Encode the day in the combined choice value and use the callbacks
introduced in the previous commit to always jump to the first day
of the month when the next/previous month buttons are clicked.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1103
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/369 >
2026-02-21 20:22:34 -05:00
Fabian Hügel and Maximiliano Sandoval
8af5298e50
event-editor/multi-choice: Add prev/next value callbacks
...
These callbacks will be used in the next commit to jump to the
first day of the month.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1103
Co-authored-by: Maximiliano Sandoval <msandova@gnome.org >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/369 >
2026-02-21 20:22:25 -05:00
Fabian Hügel and Maximiliano Sandoval
da90b94bbd
views/month: Jump to first day of month with PgUp/PgDown
...
With this we always jump to the first day of the next/previous month
when pressing the PgDown/PgUp key in the month view.
Partially fixes the regression described in
https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1103
Co-authored-by: Maximiliano Sandoval <msandova@gnome.org >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/369 >
2026-02-21 20:22:15 -05:00
Hari Rana
19171e5540
gui/event-widget: Position event popover to the pointer's
...
Currently, the event popover will always set its position to the
center of the event widget. This becomes an undesirable behavior
with long(er) event widgets, as clicking the edges will require
the user to physically move their pointer all the way to the
popover, which may be challenging depending on the distance.
This addresses this problematic behavior by positioning the popover
right above the pointer only when the event is a multi-day event,
and when the event widget is not inside a GtkListBox widget.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/677 >
2026-02-11 09:49:08 -05:00
parzival
22e5ff6252
calendar: Fix DTEND handling for all-day events in ICS import preview
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/694 >
2026-02-10 03:14:03 +00:00
Philipp S and Titouan Real
4e2ed18ffc
src/gui: Fade out event widget title label instead of ellipsizing
...
Co-Authored-By: Titouan Real <titouan.real@gmail.com >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/657 >
2026-02-03 17:11:45 -03:00
Philipp S and Titouan Real
bd4d503080
src: Add fading label class
...
Co-Authored-By: Titouan Real <titouan.real@gmail.com >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/657 >
2026-02-03 17:11:21 -03:00
mindonwarp
b90b99f1bd
core: Use GListModel for attendees instead of GSList
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/686 >
2026-01-29 23:26:42 +00:00
Zoey Ahmed
272f7fd34f
multi-choice: Bind category to tooltip + a11y label
...
This adds a tooltip to the multi choice buttons, with the text
"Previous/Next (category)". This fixes the warnings in the date
chooser popover.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/681 >
2026-01-29 02:21:43 +00:00
Zoey Ahmed
42595e4a65
multi-choice: Add prop for category name
...
This will be binded to both the accessibility label for each multi choice,
as opposed to defining it in GcalDateChooser popover.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/681 >
2026-01-29 02:21:43 +00:00
Zoey Ahmed
f32eae827e
calendar-row: Add presentation role to color dot img
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/681 >
2026-01-29 02:21:42 +00:00
Zoey Ahmed
a38bcf9b68
month-cell: Fix accessibility warnings
...
* Add a tooltip to the overflow button.
* Change weather icon to have use the presentation accessible role
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1522
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/681 >
2026-01-29 02:21:42 +00:00
Sergey Bugaev
55e32cd63a
overflow-bin: Fix layout issues
...
* Fix typos in allocation code that resulted in the wrong orientation's
size being used.
* Stop pretending this code handles baselines, since it really doesn't.
* Don't directly pass through for_size to the child, that's inconsistent
with how we clamp the size in the other orientation.
This should fix the "Trying to measure GtkBox 0xf00ba5 for width of 2,
but it needs at least 27" criticals.
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/689 >
2026-01-29 01:29:20 +00:00
mindonwarp
d4a540b5f2
event-editor: Improve l10n for GcalOrganizerRow subtitle summary
...
Use formatted gettext and provide value placeholders for number of
attendees in the subtitle summary text.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/687 >
2026-01-29 01:25:49 +00:00
Georges Basile Stavracas Neto
0285dbe04f
event-editor/organizer-row: Fix use before NULL check
...
Fallout from my changes to the previous commit.
2026-01-21 17:04:49 -03:00
mindonwarp
f8a9ea1973
event-editor: Add a custom widget for the event organizer row
...
Move the AdwActionRow for the event organizer into its own widget. In
preparation for further widget customization.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:55 +00:00
mindonwarp
79a37917c7
event-editor: Reuse attendees list model in subviews
...
Store a list model of attendees inside the event editor dialog and use
this model when displaying the details page. The attendees section (like
other sections) gets injected with the event and gets another copy of
the attendees from the event. Both the section and the details page can
now avoid resetting themselves when the underlying data (event) doesn't
change. Note: the details page uses a ListBox for the sake of the UI
style, which can underperform with a lot of attendees (building the
visual tree can be laggy).
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:55 +00:00
mindonwarp
e7d10964e8
event-editor: Extract attendee summary row into a separate widget
...
Make the summary row reusable and filterable based on the attendee type.
This gives us the possibility to have separate summaries for
people/groups and resources/rooms.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:55 +00:00
mindonwarp
bf31a02a80
event-editor: Add "show-attendees-detail-page" action
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:54 +00:00
mindonwarp
f37cd9e7ad
event-editor: Add filter by attendee type for details page
...
Pre-filter attendees based on type before filtering by response.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:54 +00:00
mindonwarp
4fb5c1ebb3
event-editor: Pass only attendees to the details page instead of event
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:53 +00:00
mindonwarp
0149b7a042
core/editor: Replace g_return_* with g_assert
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:53 +00:00
mindonwarp
ba3ca061ce
event-editor: Add attendees section and details page
...
UX/UI designed by Philipp Sauberzweig (@PhilippSauberz).
The event editor dialog is now a NavigationView and the participants
details open in a separate page. Group attendees/participants in
AdwPreferencesGroups and bind groups'
ListBox widgets to backing filter models. These are just "views" into a
single GListStore containing all the event attendees.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:52 +00:00
Maximiliano Sandoval
bf922f173c
window: Add Ctrl+W shortcut for closing the window
...
Add the common shortcut as per:
https://developer.gnome.org/hig/reference/keyboard.html#basic-shortcuts
2026-01-16 16:42:22 -05:00