Commit Graph
14 Commits
Author SHA1 Message Date
Diego Iván M.E 9443520411 utils: Fix double free in gcal_create_writable_calendars_model
gtk_filter_list_model_new expected that the model passed to be
an owned reference, but we were passing an unowned one, causing
a double free after the function is called repeatedly. This
was particularly noticeable in the importer dialog.

Fixes #1282
2024-08-27 13:40:28 +00:00
Diego Iván M.E 2df48b6fc2 import-dialog: Fix default calendar search
By !474, we now use a GListModel to store the calendars.
Nonetheless, we still use the GListStore API, which no longer
works.

This commit introduces a simple linear search for the default calendar
2024-08-27 13:40:28 +00:00
Diego Iván M.E f482f3521f drop-overlay: Mark as not visible when there are no DnD operations
This allows the GtkInspector to select widgets that are behind it.

Fixes #1271
2024-08-20 13:47:43 +00:00
Diego Iván M.E 50c1197d61 new-calendar-page: Reset entry progress when validating
This way, the pulse is hidden once the operation fails, is cancelled
or succeeds.

Fixes #1273
2024-08-13 12:58:12 -06:00
Diego Iván M.E 648badb826 new-calendar-page: Cancel validation/discovery when user types
It allows the user to fix typos in URLs or delete them. Before this,
it would still prompt the password dialog, for instance

Closes #1272
2024-08-13 12:58:09 -06:00
Diego Iván M.E b024319f60 new-calendar-page: Change URL validation feedback
Currently, the progress bar is pulsed as soon as the user starts
typing, giving the impression that a process is on going. But,
in reality, validation is performed 500 ms.

After this changes the progress bar is pulsed only when validation
is on-going. The timeout has been increased to 750ms too.
2024-08-13 12:55:51 -06: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
Diego Iván 7e4a4ca99b import-dialog: Adjust dialog to content size
Ports the import dialog out of AdwPreferencesPage to
modify some properties of the ScrolledWindow so the dialog
does the sizing as expected

This avoids scrolling when the natural height of the contents
fits within the window
2024-08-05 15:54:23 +00:00
Diego Iván dfc5a9b970 drop-overlay: Introduce GcalDropOverlay
A new widget to perform drag and drop operations, for example,
dropping ICS files to the GcalWindow. It allows to overlay
a child for visual feedback when a DnD operation is done.

either in the main window or in the import dialog,
depending on whether none could be imported, or just some
of them.

It is based on Loupe's DragOverlay widget.

Closes #1257
2024-08-05 12:31:31 -03:00
Diego Iván 75ad1425e7 import-dialog: Add a toast overlay
This toast overlay will be used to display error messages
in import operations, namely, files that could not be
imported in a drag and drop operation
2024-08-05 12:09:55 -03:00
Diego Iván 773a55a53e import-dialog: Show event count in header bar
Fixes a regression introduced in !465 by replacing the
`GtkHeaderBar` with a `AdwHeaderBar`

Closes #1265
2024-07-29 13:10:48 -06:00
Diego Iván aaa868a62a importer: Fix a critical in import file row
Closes #1208
2024-07-24 16:00:59 +00:00
Diego Iván 2038ff1da1 import-dialog: Port to AdwDialog
This also brings some other changes:

* Enables closing the window using Escape
* Fixes a few criticals

Closes #1258
2024-07-24 16:00:59 +00:00