Commit Graph
2747 Commits
Author SHA1 Message Date
Jean-François Fortin Tam f332b5a076 Delay search activation for better UX & perfs
A more realistic default delay avoids spamming the search backends.
Benefits of this approach:

* Improves overall performance, allows wider search timeline ranges;
* Reduces power consumption;
* Reduces or eliminates flickering in the GUI;
* Reduces the amount of trace logging noise by more than 15x.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1170
2024-05-01 14:52:13 +00:00
Jean-François Fortin Tam d7f200fff8 search-button: Add debug statements
This makes it easier to troubleshoot what triggers and stops searches.
2024-05-01 14:52:13 +00:00
Jamie Gravendeel 967e8cf494 edit-calendar-page: Port remove to AdwButtonRow
Also puts the remove button in its own PreferencesGroup so that the row
can be showed separately from the rest of the list.
2024-05-01 14:06:21 +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
Alice Mikhaylenko eb8ee25f6a calendars-page: Port Add Calendar button to AdwButtonRow 2024-05-01 13:47:16 +00:00
Georges Basile Stavracas Neto 0228df3bc9 calendar-management/page: Remove unused vfuncs 2024-05-01 10:45:57 -03:00
Georges Basile Stavracas Neto 57ba8e2bf1 calendar-management: Rework page interface
Make GcalCalendarManagementPage require implementors to be
AdwNavigationPages
2024-05-01 10:44:16 -03:00
Aurélien Delory eaf5f55ac3 calendar-management/edit: Bind title to calendar name
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1146
2024-05-01 10:30:30 -03:00
Hari Rana 0c8e1834f7 about, appdata: Port to AdwAboutDialog.new_from_appdata
This removes a lot of duplicated code, as we can simply reuse the
appdata file. It will also allow us to add release notes without
needing to rewrite them. A simple update in the
`adw_about_dialog_new_from_appdata` method will take care of
displaying the release notes.

This also renames the appdata file from `appdata.xml` to
`metainfo.xml`, as `appdata.xml` is considered a legacy filename.
2024-04-26 12:56:14 +00:00
Jean-François Fortin Tam 704c0815a1 event-editor: Focus "Done" for read-only events
In commit 1494f7407, we focus the summary entry when opening the dialog.
However, this prevents the Escape keyboard shortcut from working
when opening a read-only event after having opened a writable event.

Set focus onto the "Done" button when showing a read-only event,
as it's the only widget that can be activated/clicked in this situation.

This makes the "Escape", "Spacebar" and "Enter" keyboard shortcuts work.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1180
2024-04-26 12:54:59 +00:00
Hari Rana 65bb78f11a edit-calendar-page: Improve location row
This changes the tooltip text display area uniquely to the
subtitle label, and excludes HTML elements and attributes
from accessibility labels.
2024-04-26 12:41:47 +00:00
Hari Rana 991ad3385b calendars-page: Remove Esc shortcut
AdwDialog already provides its own controller to close the window
with Esc.
2024-04-04 14:31:06 -04:00
Matthias Schaufelberger 5d460f0715 Change issue-url for "Report an issue"
"Report an Issue" now redirects to the issues overview page instead of
directly creating a new issue which is only possible for logged in
users.

Fixes: #1206
2024-03-30 18:44:12 +01:00
Alexandre Franke 5f0d548e8f metainfo: fix URLs 2024-03-01 14:15:33 +01:00
Georges Basile Stavracas Neto cbe89a9daa gui/event-editor: Rework calendars menu
Use a GtkListBox and bind from the model. Create rows from the model
items, and bind properties as needed.

The action target is set only when the calendar is writable because
setting an invalid action+target pair makes the row insensitive.

Remove the ancient menu icon hack.
2024-03-01 00:39:42 -03:00
David King 2c33d98d82 weather-service: Fix incompatible pointer types 2024-02-29 20:55:00 +00:00
Georges Basile Stavracas Neto 4795999092 Revert "event-editor: Revert "New Event" string back to "Unnamed Event""
This reverts commit 18da9c9f3b.
2024-02-25 14:32:07 -03:00
Georges Basile Stavracas Neto 18da9c9f3b event-editor: Revert "New Event" string back to "Unnamed Event" 2024-02-25 13:18:06 -03:00
Hari Rana ddb54c8c1c event-editor: Improve event name validation handling
- Fix a bug where clicking the "Add Event" button created an empty title in the event editor dialog.
- Add "error" class when the user writes an invalid event name.
- Add new function to validate event name.

Because the sections are split into files, the event editor will need a signal to check that each section is correct, and each section will have to emit the signal. This will need to be done in a future commit.
2024-02-25 08:55:17 -05:00
Hari Rana 1494f7407f summary-section: Grab focus on summary entry when opening dialog
Due to an unintentional behavior change from AdwWindow to AdwDialog, the entry row must be focused after the dialog is displayed.
2024-02-24 22:53:54 +00:00
Hari Rana 2a31fbab7b calendar-management-dialog: Remove content height
The dialog will automatically request a height by itself, which will benefit those who use it in fullscreen and have tons of calendars.
2024-02-23 23:03:51 -05:00
Jean-François Fortin Tam 1ae6fbb637 event-editor: Fix widgets groups sensitivity sync
A side-effect of changing the default "writable" state in commit 06b3c38
is that we must ensure that all the widget groups are synced with it.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1178
2024-02-23 17:13:01 -05:00
Jean-François Fortin Tam 06b3c38db8 event-editor: Fix the "Save" / "Done" button label
The "Done" button was apparently meant for read-only events,
while the "Save" action was for everything else.
It didn't work correctly because of a mismatch between code and UI XML.

Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1142
2024-02-23 16:19:40 +00:00
Georges Basile Stavracas Neto ac8c7d6c4f gui/event-widget: Set weak ref on preview popover
So that when it's destroyed, the internal ref becomes NULL and we then
can safely call g_clear_pointer() on it.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1154
2024-02-18 17:25:42 -03:00
Hari Rana 704af0870d calendars-page: Remove add_calendar_row ID
This removes the leftover and unused code from https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/382.
2024-02-16 18:16:24 -05:00
Monster 00ba0df868 general: Revert removed periods 2024-02-14 14:55:36 +00:00
Monster 3733d11380 general: Correct strings to comply with GNOME HIG 2024-02-14 14:55:36 +00:00
Dexter Reed ef76e15258 about: Port to AboutDialog (AdwDialog) 2024-02-14 14:46:35 +00:00
Hari Rana 5a2747098b style: Define all month cells
This fixes an issue on the dark style preference where selecting cells would cause the month separators to lose their color. The dark style would override the month cells, which would higher its specificity, and thus would prioritize it over the selectors. This commit places everything in order, so we can freely define colors without playing with specificity.
2024-01-27 14:14:32 -05:00
Georges Basile Stavracas Neto 1114e566d9 style: Update month border colors
Use a defined color for that, and make them more in line with the
Adwaita style.
2024-01-27 13:36:28 -03:00
Hari Rana a3ac698e60 month-cell: Add month separators 2024-01-27 16:14:17 +00:00
Markus Göllnitz 74b1296d07 month-cell: hold weather service while this widget exists
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
2024-01-27 16:09:02 +00:00
Markus Göllnitz cf40734243 weather-service: add hold/release style use counter to pause weather service
Holding and releasing the weather service makes sure it
is stopped whenever no UI depends on it.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
2024-01-27 16:09:02 +00:00
Markus Göllnitz 9c879c999c weather-service: split activate/deactivate from start/stop
Splitting an activation flag from starting and stopping
the service makes it possible to flag the service as
wanted from the settings and still due use counting in a
subsequent commit.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
2024-01-27 16:09:02 +00:00
Markus Göllnitz faa6e91d8b weather-service: add location property and split from gc_w_s_run
This helps in preparation of splitting out a dedicated
activation flag from the actually starting and stopping
the service.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
2024-01-27 16:09:02 +00:00
Markus Göllnitz 47db4a1de3 weather-service: free location service properly for destruction
This is needed as the location service is not properly
stopped from the portal backend if running in a sandbox
otherwise.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
2024-01-27 16:09:02 +00:00
Markus Göllnitz 02465d1bed gcal-manager: fix typo debug message
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
2024-01-27 16:09:02 +00:00
Georges Basile Stavracas Neto 350cc6479f window: Use adw_dialog_present() everywhere 2024-01-27 12:53:22 -03:00
Georges Basile Stavracas Neto 26c71e18f6 event-editor: Use adw_dialog_close() to hide 2024-01-27 12:53:10 -03:00
Georges Basile Stavracas Neto df8526f471 event-editor: Cleanup some code
Remove the constructed() override, we can do that in init().
2024-01-27 12:40:23 -03:00
Georges Basile Stavracas Neto b52b27eace event-editor: Turn into an AdwDialog 2024-01-27 12:38:35 -03:00
Georges Basile Stavracas Neto 72d3caaf94 calendar-management: Make it an AdwDialog
So it can behave like a bottom sheet when collapsed.
2024-01-27 12:32:12 -03:00
Rami Alkawadri c06e45f595 month-view: Make the selection range type date only 2024-01-15 19:31:56 +00:00
Rami Alkawadri a383ac38e0 quick-add-popover: Refactor 2024-01-15 19:31:56 +00:00
Rami Alkawadri 487e72ee07 gcal-range: Implement gcal_range_get_range_type 2024-01-15 19:31:56 +00:00
Rami Alkawadri ff3a08ba95 window: Use GcalRange in NewEventData 2024-01-15 19:31:56 +00:00
Rami Alkawadri b4000be398 quick-add-popover: Move to GcalRange and fix title for all day event 2024-01-15 19:31:56 +00:00
Hari Rana 315d47350f summary-section: Use AdwEntryRow class 2023-12-17 22:33:34 +00:00
Georges Basile Stavracas Neto 1fbd5e0621 event-widget: Use GtkInscription for summary text
It's slightly more performant than a GtkLabel, which is demonstrably
the widget dominating the perf profile of the app.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1125
2023-12-17 22:32:18 +00:00