Hari Rana
d9f02cee20
views/week-view: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:59 +00:00
Hari Rana
a687d8f10b
gui/weather-settings: Replace "context" with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:59 +00:00
Hari Rana
af30d8c43f
gui/calendar-list: Replace "context" with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:58 +00:00
Hari Rana
a84cf3aed9
utils: Add macro for getting default application
...
This will be needed as a replacement for the removal of the
"context" property on every object.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:58 +00:00
Hari Rana
855fea34bf
window: Only clear last_focused_widget if the widget has been focused
...
When opening the event editor dialog as a new event, `set_new_event_mode()`
immediately tries to focus the last focused widget, which won't work
because it is unfocusable. `focus_last_focused_widget()` then clears
clears the pointer regardless of whether the widget has successfully
grabbed focus or not. So, we want to only clear focus if the widget
has successfully grabbed focus.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1566
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/730 >
2026-03-22 20:19:54 +00:00
Hari Rana
3c94e255ac
window: Grab focus after closing Event Editor dialog
...
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1566
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/730 >
2026-03-22 20:19:54 +00:00
Hari Rana
d0bdc9f2af
gui/month-view-row: Add upward variable
...
`!downward` is disambiguous and could merely be interpreted
as "not downward and not upward either". The `upward` variable
is explicit and describes literally the condition.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/729 >
2026-03-21 10:39:16 -04:00
Hari Rana
b75c44795e
gui/meeting-row: Unset maximum width characters
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/728 >
2026-03-20 11:27:54 -04:00
Hari Rana
4f067eeec7
gui/event-popover: Unset maximum width characters
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/728 >
2026-03-20 11:27:54 -04:00
Hari Rana and Jamie Gravendeel
ec5884fcce
gui/event-popover: Wrap content inside AdwClamp widget
...
The event popover contains a lot of text in different sizes, which
pushes us to magic-number the maximum amount of characters
(i.e. `max-width-chars`) and hope that all is well.
This approach addresses that by simply clamping the parent widget
to the desired size, allowing us to remove all instances
of `max-width-chars`.
Do note that `Adw.Clamp:tightening-threshold` is set to 400 by default,
which technically doesn't need to bind to `Adw.Clamp:maximum-size` at
the moment, but I decided to do it anyway in case we want to change
`Adw.Clamp:maximum-size` in the future and can't figure out why
the margins are off.
Co-authored-by: Jamie Gravendeel <me@jamie.garden >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/728 >
2026-03-20 11:24:47 -04:00
Hari Rana
dd3e4dce4a
readme: Use new default screenshot
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/724 >
2026-03-12 01:02:30 -04:00
Hari Rana
39cee3cbc3
event-editor/multi-choice: Check if destructor exists before clearing
...
Without this check, the app supposedly crashes when we close it.
GtkListBox frees itself the same way.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/723 >
2026-03-12 01:12:29 +00:00
Hari Rana
50e048c7e0
utils: Turn number of weekdays into a macro
...
While "7" may be obvious in the context of calendaring that
it represents the number of week days, it often gives me the
impression of it being a magic number when I'm hyperfocused on certain
parts of the codebase for several consecutive hours. Turning the
number into a macro helps me scan functions much more easily.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/674 >
2026-03-08 21:53:40 -04:00
Hari Rana
da7b625e18
data: Update screenshot URLs
...
See:
- https://gitlab.gnome.org/Teams/Websites/static.gnome.org/-/merge_requests/47#note_2701250
- https://gitlab.gnome.org/Teams/Websites/static.gnome.org/-/merge_requests/48
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/719 >
2026-03-08 20:15:26 -04:00
Hari Rana
1141c758a4
data: Update screenshots
...
This also sets the month view as the default screenshot.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/717 >
2026-03-08 09:26:11 -04:00
Hari Rana
2638766d10
views/month-view: Focus adjacent cell when tabbing forward from the last event widget
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 21:11:16 -03:00
Hari Rana
e607a6bd2e
views/month-view: Clear marks when tabbing from a cell
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 21:11:16 -03:00
Hari Rana
d6a450ff1f
gui/window: Focus last focused widget upon closing quick add popover
...
This also introduces the `focus_last_focused_widget()` to make the
code a little bit cleaner.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 21:11:16 -03:00
Hari Rana
4e54c18d06
views/month-view: Set focus to cell upon click release
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 21:11:16 -03:00
Hari Rana
3102766c51
views/month-view: Allow selecting cells
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 21:11:16 -03:00
Hari Rana
6c6dd46a89
views/month-view: Scroll view when out of bounds
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:18 -05:00
Hari Rana
c74fe74b97
views/month-view: Wrap cells
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:18 -05:00
Hari Rana
d8e44108ea
views/month-view: Display quick add popover when activating cell
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:18 -05:00
Hari Rana
3088b2260a
views/month-view-row: Add "activate-cell" signal
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:18 -05:00
Hari Rana
cd0138393f
views/month-cell: Add activate signal
...
This will be needed for keyboard navigation.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
Hari Rana
471f81eb31
views/month-view-row: Implement focusing cells horizontally
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564 >
2026-03-03 18:35:17 -05:00
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
d76d37dff2
views/month-cell: Add focus styling
...
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
19879c6c02
style: Decrease event widget's outline offset
...
Having an offset would hide the overflowing pixels.
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
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
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
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
4c9d7e5a79
build: Depend on GTK4 4.21.2
...
We'll use the new "prefers-reduced-motion" property in GtkSettings.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/670 >
2025-11-29 08:46:55 -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
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
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
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
Hari Rana
9213a4fbe4
gui/window: Only set focus when popover is explicitly closed
...
The window would either set focus to the event widget or a
focusable ancestor, no matter how the event popover was being
closed.
This caused a major accessibility regression where,
whenever the event editor dialog opened from the event
popover, the window set focus to the event widget instead of
the content inside the dialog, which made the dialog incapable
of navigating through until the dialog was focused. This also
prevented mnemonics from being triggered.
This patch addresses that bug by only setting focus whenever
the popover is being closed explicitly; as in, when the user
presses outside the popover to hide it or pressing escape.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1398
2025-08-29 21:45:59 -06:00
Hari Rana
1ab336009e
views/month-view: Skip view when tabbing in event widget
...
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1444
2025-08-25 21:33:58 -06:00
Hari Rana
27b4237410
css: Reduce week number background opacity
...
The week numbers' foreground and background colors are relatively
low in contrast; decreasing the background color's opacity heavily
helps with contrast.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/624 >
2025-08-18 20:00:19 -04:00
Hari Rana
6252069d26
css: Adjust week number borders
...
We should generally avoid setting padding without subtracting with
the border width. On high contrast style, week numbers receive a
1px border width without subtracting it from the padding. This
causes a layout shift and makes the sidebar wider.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/624 >
2025-08-18 20:00:19 -04:00
Hari Rana
534fb3a83c
gui: Update to libadwaita's custom properties and style classes
...
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1440
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/624 >
2025-08-18 19:59:43 -04:00
Hari Rana
f887ea10f8
css: Remove unused style classes
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/624 >
2025-08-18 18:37:29 -04:00
Hari Rana
8889139b82
gui/month-view: Use dimmed style class
...
Instead of manually setting the font color for the month view's
week header, the `dimmed` style class dims labels according to the
HIG while simultaneously accommodating high contrast users.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1437
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/624 >
2025-08-18 18:37:29 -04:00
Hari Rana
be0ba51481
gui: Replace dim-label with dimmed style class
...
`dim-label` is deprecated.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/624 >
2025-08-18 18:37:25 -04:00
Hari Rana
78e87fad4b
gui/event-popover: Apply style to italicize
...
Using the italic attribute in the label property made the
attribute translatable, which is undesired.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1427
2025-08-02 15:20:36 -04:00
Hari Rana
d477ac2d72
event-editor/multi-choice: Focus widget if increment/decrement buttons are pressed
...
This also re-sets the state flags of the buttons, because otherwise
the increment/decrement buttons lose their hovered state after
the widget gains focus.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/616 >
2025-07-27 07:20:15 -04:00
Hari Rana
576c82b060
event-editor/multi-choice: Add focus ring around the entire widget
...
The current behavior of the widget makes it so keyboard focus
outlines the toggle button rather than the entire widget. In some
cases, the outline touches the edges of the label, which makes it
look cramped.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/616 >
2025-07-19 17:55:11 -04:00
Hari Rana
684ed71711
css: Rework month view's box shadows
...
This makes the box shadows permanent.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/604 >
2025-07-08 14:08:37 +00:00
Hari Rana
a0b530298a
views/month-view: Allocate more for grid height
...
This allocates two extra pixels for the grid's height to make
the cell borders hide below the footer.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/604 >
2025-07-08 14:08:37 +00:00
Hari Rana
110856ee1a
views/month-cell: Don't assert icon_tooltip_binding
...
The g_assert line would exit the program whenever we tried targeting
a month cell from the inspector.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/601 >
2025-07-05 18:06:05 -04:00
Hari Rana
8dd8538014
views/month-cell: Use GtkWidget APIs for retrieving margin
...
GtkStyleContext is deprecated.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/601 >
2025-07-05 18:05:07 -04:00
Hari Rana
11ac0e43e8
css: Use box shadow for month cells
...
This is probably a better approach for getting month separators,
because box shadows don't affect the layout, unlike borders. Since
GtkStyleContext is deprecated, it makes more sense to use properties
that don't have any side effects with physical size.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/601 >
2025-07-05 18:05:04 -04:00
Hari Rana
ba716102b9
common/date-chooser: Make arrow left/right move focus across grid
...
This also notifies the user when out of bound with arrow buttons.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1036
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/608 >
2025-07-05 21:07:50 +00:00
Hari Rana
032a71dde6
common/date-chooser: Skip calendar grid with tab
...
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1036
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/608 >
2025-07-05 21:07:50 +00:00
Hari Rana
a8db7b44a4
flatpak: Bump libical dependency
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/613 >
2025-07-04 10:22:45 -04:00
Hari Rana
1b51a5073f
build: Bump minimum libadwaita version to 1.8.alpha
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/611 >
2025-07-02 21:28:02 -04:00
Hari Rana
6e4fe88e58
gui: Port GtkShortcutsWindow to AdwShortcutsDialog
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/611 >
2025-07-02 20:50:31 -04:00
Hari Rana
6ab0ef7386
gui/event-widget: Set child depending on the orientation
...
Commit https://gitlab.gnome.org/GNOME/gnome-calendar/-/commit/73abcf19b0e70fb6fdd45394169b00e21ea0734a
introduced a bug where it uses the wrong widget on
vertical orientation.
This patch fixes that bug by using the correct widget
for their respective orientation. It also removes the use of
AdwClamp, as it was clamping labels above a certain height requested.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1414
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/607 >
2025-06-30 15:00:59 -04:00
Hari Rana
b368e1f674
views/agenda-view: Set accessible properties for list items
...
This is needed to have the screen reader read event information
out loud.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1036
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/606 >
2025-06-30 16:18:06 +00:00
Hari Rana
d809192dd5
common/date-chooser: Wrap months
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:51:46 -04:00
Hari Rana
7a40a3be6a
common/date-chooser: Add accessible labels to GcalMultiChoice widgets
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:51:27 -04:00
Hari Rana
7be43df099
event-editor/multi-choice: Always set focus-visible flag when focused
...
This is to ensure that the focus ring never disappears until
the toggle button is unfocused.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:51:24 -04:00
Hari Rana
b4853da249
event-editor/multi-choice: Add keyboard interaction
...
A significant portion of the behavior was guided by the
"Date Picker Spin Button Example" page in the
ARIA Authoring Practices Guide (APG):
https://www.w3.org/WAI/ARIA/apg/patterns/spinbutton/examples/datepicker-spinbuttons/
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1036
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:51:21 -04:00
Hari Rana
5628a5f311
event-editor/multi-choice: Make up/down buttons unfocusable
...
Spin buttons' increment/decrement buttons are standardly not made
to be accessible/focusable.
This copies the behavior from the GtkSpinButton widget.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1036
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:51:19 -04:00