Commit Graph
217 Commits
Author SHA1 Message Date
Federico Mena Quintero 68126bcfac gcal_schedule_section_set_event(): set the widgets from the extracted values, not from the event
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550>
2025-08-27 19:59:16 -03:00
Federico Mena Quintero d44e6847c7 GcalScheduleSection: store the values when an event is set
We don't use them yet; just hooking things up for now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550>
2025-08-27 19:59:16 -03:00
Federico Mena Quintero f75785a34c GcalScheduleValues: new struct to hold values from a GcalEvent for the schedule widges
We'll move GcalScheduleSection to operate without a backing GcalEvent,
so we can add tests.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550>
2025-08-27 19:59:16 -03: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
Jean-François Fortin Tam 3e4ef6f9c7 event-editor: Hide Cancel & Delete when read-only
Read-only events show a "Done" button instead of the "Save" button.
The "Done" button does the same thing as "Cancel",
so the "Cancel" button is then redundant.

Likewise, it is impossible to delete events from read-only calendars,
as stated by the banner message in that dialog. In that case,
there's no reason to show a big "Delete" button that you can't click on.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1168
2025-07-11 23:27:08 -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
Hari Rana 2a7a4e3b30 event-editor/multi-choice: Implement GtkAccessibleRange
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603>
2025-06-29 08:51:17 -04:00
Hari Rana 70b9fde162 event-editor/multi-choice: Implement GtkAccessible
This is needed to have the toggle button communicate with the
screen reader to use the parent widget to retrieve accessible
information, rather than the toggle button itself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603>
2025-06-29 08:51:15 -04:00
Hari Rana 196f86b4f4 event-editor/multi-choice: Use g_assert in public methods
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603>
2025-06-29 08:51:11 -04:00
Hari Rana d1a8e072b2 event-editor/multi-choice: Add file name to header
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603>
2025-06-29 08:51:09 -04:00
Hari Rana 5ca18c7a34 event-editor/multi-choice: Document public methods
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603>
2025-06-29 08:51:07 -04:00
Hari Rana a6015bd357 event-editor/multi-choice: Properly space out code
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603>
2025-06-29 08:50:58 -04:00
Hari Rana 640308652b event-editor/multi-choice: Comment code sections
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603>
2025-06-29 08:50:41 -04:00
Hari Rana f40ed5b90c reminders-section: Modernize popover
This makes the alarms popover look much closer to the AdwComboRow widget.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/399>
2025-06-29 01:03:00 +00:00
Jamie Gravendeel a509de8b1e gui: Port to Blueprint
This was mostly done with `blueprint-compiler port`.

Since Blueprint doesn't know about custom templates, I had to manually change some values from strings to literals.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/567>
2025-06-08 14:31:01 +02:00
Hari Rana a09c02591e event-editor/notes: Add height-request
The larger physical size of the text view helps convey that it's
a text box, and not a regular button or list box row.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1081
2025-04-21 13:32:49 -04:00
Hari Rana 445000b3cc event-editor/notes: Add 'focused' CSS class when focused
This mimics what GtkEntryRow does, and allows for an always visible
focus ring when the notes text view has focus.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1081
2025-04-21 13:32:49 -04:00
Hari Rana 140dd3b145 event-editor/notes: Make it an AdwPreferencesRow 2025-04-21 13:32:45 -04:00
Titouan Real 303cba1622 gui: Move DateChooser to common
DateChooser is used both by the event editor and the main window.
Moving it to common for a better file organization.
2025-04-09 15:35:20 +00:00
Titouan Real 9f0274c5e6 event-editor: Make all-day/time-slot toggles the same width 2025-03-12 12:59:34 +00:00
Aleksandr Melman ea73614ebd Edit gcal-date-time-chooser.ui 2025-03-06 00:13:45 +00:00
Titouan Real 42f891ff42 gui/event-editor: Add time zone selection
Creates a chooser managing a GDateTime. The chooser allows the user
to change the date, the time and the timezone independently.

This replaces the precedent GcalTimeChooserRow widget, because it is
easier to manage the different interactions with the user in a single
widget.

Co-authored-by: Georges Basile Stavracas Neto
<georges.stavracas@gmail.com>
2025-01-31 19:37:26 -03:00
Titouan Real c24b665125 event-editor: Mark tooltip as translatable 2025-01-13 13:32:55 +00:00
Titouan Real f031a608d7 event-editor: Init time-format correctly 2024-12-16 23:24:36 +01:00
Titouan Real 5ed9f469b0 time-selector: Port GtkDropdown to AdwToggleGroup 2024-12-16 17:42:26 -03:00
Titouan Real ca32033c60 event-editor: Use new rows for date and time
Make the event editor use GcalTimeChooserRows and GcalDateChooserRows to
prompt the user.
2024-12-16 17:41:39 -03:00
Titouan Real a37b0551ea event-editor: Create GcalDateChooserRow
Create a new GcalDateChooserRow widget from AdwEntryRow that parses the
entry into a date, or lets the user pick a date from a popover.
2024-12-16 16:12:54 -03:00
Titouan Real 569233f948 event-editor: Create GcalTimeChooserRow
Create a new GcalTimeChooserRow widget from AdwEntryRow that parses the
entry into a time, or lets the user pick a time from a popover.

[feaneron] Improved code style, reworked regex management.
2024-12-16 15:54:32 -03:00
Titouan Real f7d6a3dc9b Event Editor: cleanup 2024-11-29 11:26:35 +01: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
Titouan Real 69de2e6c3f EventEditor: Add shortcuts 2024-11-19 18:57:08 +01: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
Titouan Real aca797d192 Remove GcalCalendarRow 2024-11-08 19:09:56 +01:00
Titouan Real 923cb668da Make GcalEventEditor use GcalCalendarComboRow 2024-11-08 19:09:56 +01:00
Automeris naranja 061c027520 event-editor-dialog: Use an AdwBanner when a calendar is read-only
Using a tooltip to inform when the calendar is read-only won't
work in touch devices.

This change also improves a11y, as Orca now reads this message,
something that wasn't happening before.
2024-10-22 11:29:53 +00:00
Hari Rana 26d34930b6 event-editor: Only list writable calendars 2024-08-23 13:46:00 -03:00
Diego Iván 0af5ffc334 event-editor-dialog: Use GcalCalendarRow to display calendars
Use the widget to display calendars and distinguish whether
they are visible or not. Currently, it does not distinguish
read-only calendars, but once !494 is merged, it should not
be a problem.
2024-08-11 23:35:42 +00:00
Diego Iván 1d418ce1ba event-editor: Introduce GcalCalendarRow
This widget displays the calendar and shows whether it is
visible or not. The widget displays the color of the calendar
at the left of the label and the visibility state at the right.
2024-08-11 23:35:42 +00:00
Abdullahi Usman 1e3acba3cb date-chooser: fix some events randomly disappearing
because days starts at 01:01:01 (HH:MM::SS), some events at the start
or end of day may be push into another day or back into previous day.
day should starts at 00:00:00 and previous day should stop at 23:59:59.

fixes:
https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1255
2024-07-21 23:03:43 +01:00
Dimitrios Christidis 5dbf0c24bd event-editor: Introduce reminder at event start time 2024-07-09 19:54:03 +00:00
Abdullahi Usman d8e2fd6d81 reminders-section: make alarm sound changes persistent
When the alarm sound changes, the change is not updated because
gcal-manager does not see the changes.

We now update the components and make more comparisons so that
it can be seen by gcal-manager
2024-07-09 19:47:13 +00:00
Abdullahi Usman 420a126ddb reminders-section: fix reminder alarm toggle button states
Alarm toggle state are in three stages because we do not update both
icon and active when pressed.

we now update the icons to match their states.
2024-07-09 19:47:13 +00:00
Jean-François Fortin Tam b547db1170 event-editor: Demystify the read-only padlock icon
Non-technical users may not realize why they can not edit some events
from read-only subscribed remote calendars.

A symbolic padlock icon does not suffice to make this obvious.
This tooltip makes the UI self-documenting, and improves accessibility.
2024-05-01 15:01:39 +00:00
Alice Mikhaylenko 6a27049c93 event-editor-dialog: Port Delete Event button to AdwButtonRow 2024-05-01 13:47:16 +00:00
Alice Mikhaylenko a74e7179c1 reminders-section: Port Add Reminder row to AdwButtonRow 2024-05-01 13:47:16 +00:00