Commit Graph
3287 Commits
Author SHA1 Message Date
Hari Rana 9b4c166a18 event-editor/event-editor-dialog: Replace "context" property with context getter method
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:01 +00:00
Hari Rana f44a1ee942 event-editor/event-editor-section: Remove "context" property
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana 669906c601 event-editor/summary-section: Remove "context" property
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana b979ea05b5 event-editor/schedule-section: Replace "context" property with context getter method
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana 7bcb78b6ae event-editor/reminders-section: Remove "context" property
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana aafbd71ced event-editor/notes-section: Remove "context" property
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana a51b65f5f7 event-editor/attendees-section: Remove "context" property
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana 15a7a8cbd2 views/view: Remove "context" property
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana ccd3e5cae3 common/date-chooser: Replace "context" method with context getter method
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana 5616ba2c03 views/agenda-view: Replace "context" property with context getter method
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
Hari Rana cebd3cd84d views/month-view: Replace "context" property with context getter method
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
2026-03-23 19:30:00 +00:00
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
Zoey Ahmed 2300ed29cd notes: Add placeholder text if notes section empty
Move the textview box into an overlay, with a label as the overlay
child,
that appears only when the textview is empty, and remove the "Notes"
title for the preference group with the notes row in the event dialog.

This better indicates the notes is an input field to the user, compared
to the design before.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1081
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/714>
2026-03-23 18:25:12 +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 RanaandJamie 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
Abdullahi Usman 24621b4d2b agenda-view: Respect local timezone
convert events' time to equivalent local time before sorting.

fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1324
2026-03-17 20:09:23 -03:00
Georges Basile Stavracas Neto ff4d7f7d59 50.0 2026-03-14 12:24:48 -03: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
Zoey Ahmed f99678aea9 views/month-view: Check if focused widget is month cell
This fixes an issue where pressing Shift + Up/Down while focused on the
overflow button will result in a bail out when asserting the focused
widget has a month cell ancestor:

```
GcalMonthView:ERROR:../src/gui/views/gcal-month-view.c:1002:on_key_controller_key_pressed_cb: assertion failed: (GCAL_IS_MONTH_CELL (month_cell))
Bail out! GcalMonthView:ERROR:../src/gui/views/gcal-month-view.c:1002:on_key_controller_key_pressed_cb: assertion failed: (GCAL_IS_MONTH_CELL (month_cell))
```

When navigating between month cells with a keyboard, focus is set
on respective month cells, so checking whether the ancestor
is a month cell or not is not only unnecessary, it also causes
bugs like the assertion above.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/720>
2026-03-11 08:55:09 -04:00
Georges Basile Stavracas Neto 0c1636b7aa gui/multi-choice: Use g_clear_pointer more
Just a cosmetic improvement.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/721>
2026-03-10 20:45:35 -03:00
Guillaume Bernard 5a663ee671 multi-choice: Fix i18n of navigation button tooltips
The previous approach built tooltip strings by formatting a translated
category name (e.g. "Month") into a generic "Previous %1$s" template.
This is a classic gettext concatenation anti-pattern: languages with
grammatical gender (French, Spanish, German, …) need the adjective to
agree with the noun, and word order can differ from English, so
translators of the format string have no way to produce a correct
result.

Replace the format strings and their helper callbacks with two explicit
GObject properties on GcalMultiChoice: prev-button-tooltip-text and
next-button-tooltip-text. The buttons in the template now bind to
these properties directly. Each widget instance in gcal-date-chooser.blp
sets its own fully self-contained translatable string ("Previous month",
"Next month", "Previous year", "Next year"), giving translators all the
context they need to handle gender and word order correctly.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1547
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/721>
2026-03-10 20:43:02 -03: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
Georges Basile Stavracas Neto 9712280aea core/manager: Cosmetics 2026-03-03 20:12:45 -03:00