Commit Graph
100 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto 267a801c42 Post-release version bump 2023-03-06 23:25:31 -03:00
Georges Basile Stavracas Neto 6b3676a53f 44.rc 2023-03-06 23:17:02 -03:00
Georges Basile Stavracas Neto 9ea2ceef1a gui: Fix search from Shell overview 2023-03-05 11:53:50 -03:00
Georges Basile Stavracas Neto d6a216d0fa gui: Propagate context to GcalSearchButton
The people who introduced this code were not careful enough to
make sure the code they removed from GcalWindow was added back
in GcalToolbarEnd.

They also simply commented out some code instead of properly
reimplementing that.

I regret having trusted their code :(

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/880
2023-03-05 11:41:35 -03:00
Georges Basile Stavracas Neto 0322bcf54c utils/source-discoverer: Test URI before discovery
This makes sure that we have a valid host set. This check is
copies from Soup's private SOUP_URI_IS_VALID() macro.

Add a test for this behavior.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/794
2023-03-05 11:24:49 -03:00
Georges Basile Stavracas Neto 075b91d279 tests: Set bug base 2023-03-05 11:24:49 -03:00
Georges Basile Stavracas Neto fd7baeb787 utils/source-discoverer: Pass error
An oversight of the GUri port.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/794
2023-03-03 19:50:30 -03:00
Georges Basile Stavracas Neto 0e8332b07b calendar-management/new: Switch to a GtkDialog
The implementation of the credentials popover has relied on a hack,
and sadly this hack doesn't work anymore.

It's too late for a redesign, so for now, just put it into a dialog
and show it on top of the calendar management dialog.
2023-03-03 19:50:30 -03:00
Georges Basile Stavracas Neto 4f9d7de032 calendar-management/new: Dispose template 2023-03-03 19:50:30 -03:00
Georges Basile Stavracas Neto 2b947e83a6 utils/source-discoverer: Use caldav-stub and caldav
As per suggestion from Milan, use caldav-stub as the parent name,
and caldav as the backend name.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/539
2023-03-03 19:50:30 -03:00
Georges Basile Stavracas Neto 98f6ccdb88 utils/source-discoverer: Set security method
Set the security method of the discovered source into the newly
created source. This should preserve the TLS security method in
these sources.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/40
2023-03-03 19:50:30 -03:00
Georges Basile Stavracas Neto 02c2119c39 utils/source-discoverer: Use g_strcmp0
Cosmetical change.
2023-03-03 19:50:30 -03:00
Georges Basile Stavracas Neto 69728fc814 views/agenda: Properly activate events
The code that activates event is just a sad FIXME in the file, and
the implementation is simple enough.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/897
2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto e13eb17816 views/agenda: Cleanup unused Week View (!!!)
This is to show how much I suck at reviewing code. Look at this
massive gold nugget of garbage. Nobody on their serious mind would
have let that pass code review.

But I did. And now I deserve the punishment to deal with this.

Of course, the author didn't seem to have spared more than a fraction
of a second of their brain power to even consider what they were
doing here. But that's what code review is for - preventing garbage
like this from landing. And yet, here we are, removing an invisible
Week view from the sidebar.
2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto bd9ff41a37 views/month-view: Use new signal helpers 2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto bedf4e610d views/week-grid: Use new signal helpers 2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto c80c06c86e views/week-view: Use new signal helpers 2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto 1359465c62 views/week-header: Use new signal helpers 2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto cdb80cfd3a views/view: Cosmetics 2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto 5d5709122f views/view: Add private signal helpers
They'll be useful to stop hijacking view signals.
2023-03-02 21:49:27 -03:00
Georges Basile Stavracas Neto 5a028471e9 views/week-header: Cosmetics 2023-03-02 21:25:02 -03:00
Georges Basile Stavracas Neto a77f6e39e4 views/view: Store signal id
This will be used by next commits
2023-03-02 21:14:02 -03:00
Georges Basile Stavracas Neto f0c8d7bd81 Post-release version bump 2023-02-14 22:30:54 -03:00
Georges Basile Stavracas Neto 9393f186b5 44.beta 2023-02-14 22:28:27 -03:00
Georges Basile Stavracas Neto 40fa82deab event-editor/dialog: Check if calendars changed too
In addition to checking if any event fields changed, check if the
caledar changed too.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/924
2023-02-06 22:48:40 +00:00
Georges Basile Stavracas Neto 40f3bee3d6 Post-branching version bump 2022-11-21 08:46:25 -03:00
Georges Basile Stavracas Neto 80dd2df7c3 utils: Remove obsolete comment 2022-11-21 08:45:09 -03:00
Georges Basile Stavracas Neto fc11c26e4d Post-release version bump 2022-10-17 23:43:10 -03:00
Georges Basile Stavracas Neto 54f1ada6be 43.1 2022-10-17 23:40:52 -03:00
Georges Basile Stavracas Neto 1fee8ff144 core/recurrence: Port to gatomicrefcount 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto e3c7a1d777 core/manager: Remove old hack around recurrences
We handle it all before reaching GcalManager now.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 502b381975 event-editor/dialog: Properly handle editing recurrent events
When a recurrent event is edited, we now are able to only offer the
MOD_ALL option when it actually will work. However, we're still left
with the problem that we end up applying the instance-specific data
onto the main event, through an old hack.

The views already aren't able to offer the MOD_ALL property, since
they all change the dates of events, but GcalEventEditorDialog can,
and it must handle that properly.

For now, do the simplest possible approach, which is: retrive the
template event and apply all properties that can be applied to it,
without letting the start and end days leak into it. We already only
allow passing MOD_ALL on situations where the dates aren't really
modified, so it should be safe.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/882
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 102346534a event-editor/dialog: Improve detection of MOD_ALL exclusion cases 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 679a392b71 event-editor/dialog: Don't hide dialog on cancelling operation
If the user clicks the "Cancel" button, it obviously means "cancel",
so let's cancel.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 2f1fe2b49b core/event: Fix transfer annotation 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto cc696bc365 window: Properly hide start headerbar buttons
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/859
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 23dedc0fc8 event-editor/schedule: Trivial autoptr cleanup 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 185490e272 event-editor/dialog: Don't ask mod type if event wasn't recurrent 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 966411843a event-editor/dialog: Don't show MOD_ALL if schedule changed
We get into seriously tricky situations if we try and change the
date & time of an event with recurrency, and pass MOD_ALL. That's
because it is ambioguous *where* the change must be applied.

Don't allow selecting MOD_ALL when the scheduling of the recurrent
event changes.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/882
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto df5b9e7821 event-editor/dialog: Don't apply changes if nothing changed
This saves some cycles by not doing anything when nothing needs to
be done.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 82d8ec31ca event-editor/sections: Add vfunc to check for changes
This will be useful for next commits where we will need to check
if the schedule section actually changed something.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto dbd2f0df58 event-editor/dialog: Don't apply changes to readonly events
In practice this never does anything relevant, because widgets are
insensitive, but it's better not to nonetheless.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 5329c2297b views: Don't show MOD_ALL
The only field that views may change using DnD is the start date
field (and, consequently, the end date), and that's exactly what
we must not show the MOD_ALL option for.

Don't show it.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/882
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 6a5c0229b9 utils: Add boolean flag for showing MOD_ALL
This will be used by next commit to more finely control editing
of recurrent events.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 1beb3c9cf3 manager: Remove unnecessary comment 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 1bb834e110 event-widget: Properly dispose template children 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto db43bcd096 event: Trivial style fix 2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto a0963c0d36 calendar-monitor: Properly update and delete recurrent events
When we receive the 'objects-modified' signal, we get components
that may represent main events. We also may receive components
that have no recurrency because they were just changed from being
recurrent to non-recurrent.

We need to handle all these cases properly.

If the event has no recurrency set, remove any potential old
recurrence instance lingering around. If we're changing an event
with recurrency, make sure the recurrency instances are in sync
with the new recurrency.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/881
(or so I hope.)
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 16b9337e3f calendar-monitor: Move events hash table to shared section
We'll start accessing the hash table from multiple threads, so
it must be in the shared section of the structure, and it must
be encapsulated by locking.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 791d443c54 calendar-monitor: Simplify locking code a bit
Use GRWLock*Locker to simplify the locking code in a couple of
places.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 5f67c55304 calendar-monitor: Replace mutex by a rw-lock
This will be more appropriate once we start accessing the events
hash table from the monitor thread.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto baacf696a6 calendar-monitor: Shuffle some variables around
Move them to where they're used.
2022-10-17 23:37:13 -03:00
Georges Basile Stavracas Neto 6eaa00ffca Post-release version bump 2022-09-15 12:38:39 -03:00
Georges Basile Stavracas Neto 66f93e1fd0 43.0 2022-09-15 12:33:34 -03:00
Georges Basile Stavracas Neto fb1ca515e9 agenda-view: Fix translatable strings 2022-09-15 12:30:13 -03:00
Georges Basile Stavracas Neto 4550ca28e4 Post-release version bump 2022-08-12 00:29:51 -03:00
Georges Basile Stavracas Neto 0cc5086f03 43.beta 2022-08-12 00:26:51 -03:00
Georges Basile Stavracas Neto 39030f3669 Post-release version bump 2022-07-09 15:55:34 -03:00
Georges Basile Stavracas Neto 0c09876ad6 43.alpha 2022-07-09 15:33:57 -03:00
Georges Basile Stavracas Neto 4c9e7a2d03 manager: Bring back credentials 2022-06-23 13:50:20 -03:00
Georges Basile Stavracas Neto a67c63ca2d flatpak: Update dependencies
Include grc4 and build livedataserverui4
2022-06-23 13:49:56 -03:00
Georges Basile Stavracas Neto 258e73af2c Post-branching version bump 2022-04-26 21:00:56 -03:00
Georges Basile Stavracas Neto 45da797c16 Post-release version bump 2022-04-26 21:00:11 -03:00
Georges Basile Stavracas Neto 4220b381f9 42.1 2022-04-26 20:53:13 -03:00
Georges Basile Stavracas Neto 748e3e3d81 Post-release version bump 2022-03-18 18:26:17 -03:00
Georges Basile Stavracas Neto f49bec413e 42.0 2022-03-18 18:21:15 -03:00
Georges Basile Stavracas Neto 5b06ccb813 Post-release version bump 2022-03-07 15:47:27 -03:00
Georges Basile Stavracas Neto 8d8ff9dc50 42.rc 2022-03-07 15:43:27 -03:00
Georges Basile Stavracas Neto e3df821ae3 flatpak: Remove libdazzle
We don't use it anymore.
2022-03-07 15:42:22 -03:00
Georges Basile Stavracas Neto 9520a2b5c1 import-dialog: Only search for non-NULL default calendars
The default calendar might be NULL during the initial loading,
protect against that.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/813
2022-03-07 14:37:01 -03:00
Georges Basile Stavracas Neto 8790fb9f58 import-dialog: Properly store rows
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/812
2022-03-07 14:34:01 -03:00
Georges Basile Stavracas Neto 829da4b38b NEWS: Fix another typo 2022-02-15 17:49:22 -03:00
Georges Basile Stavracas Neto fc3ec8ef63 Fix NEWS header 2022-02-15 17:38:29 -03:00
Georges Basile Stavracas Neto eeed7e6e82 Post-release version bump 2022-02-15 17:32:29 -03:00
Georges Basile Stavracas Neto b46c0c4051 42.beta 2022-02-15 17:01:01 -03:00
Georges Basile Stavracas Neto 552fd413ae window: Properly declare shortcuts
I messed up shortcut declaration, but this should be enough
to get them working again.
2022-02-12 18:13:30 -03:00
Georges Basile Stavracas Neto 87e376b15b window: Add more tracing 2022-02-12 18:13:20 -03:00
Georges Basile Stavracas Neto f47e222037 window: Uncomment accidental leftover 2022-02-12 16:56:41 -03:00
Georges Basile Stavracas Neto 69d320f49c event-editor/dialog: Improve calendar selection menu 2022-02-12 13:24:57 -03:00
Georges Basile Stavracas Neto 47a72f8156 event-editor-dialog: Port to new callback-based ask API 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto ee5acbd493 Reimplement event drag n' drop
Reintroduce the code using GTK4 tooling for in-process DnD.
This is looking much better!
2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto ad0a97d6ac Rework calendar popover to be a button
This allows more precise control of the style and the contents
of the popover.
2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto fb504db31f util: Drop unused function 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto eb63f10651 help-overlay: Port to GTK4 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto 5ebab9f6d5 calendar-popover: Port to GTK4 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto c91f03feb1 weather-settings: Port to GTK4 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto b8cbb1653d event-popover: Port to GTK4 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto fd023e0a28 year-view: Port to GTK4 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto c31d2c5821 css: Adjust slanted events CSS 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto e190f5a3fd flatpak: Add DRI to devices
This allows GTK4 to use accelerated rendering (OpenGL)
2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto 1cbce60c4a month-view: Port to GTK4 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto b31b16da17 week-view: Port to GTK4 2022-02-12 13:08:50 -03:00
Georges Basile Stavracas Neto 132d4435f6 event-widget: Port to GTK4 2022-02-11 09:18:42 -03:00
Georges Basile Stavracas Neto fcfb387f5a importer: Port to GTK4 2022-02-11 09:18:42 -03:00
Georges Basile Stavracas Neto 74c410bd85 Port search subsystem to GTK4 2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto bd2ac18c19 quick-add-popover: Port to GTK4 2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto ffadcb4f4e meeting-row: Port to GTK4 2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto e390706e44 event-editor/time-selector: Port to GTK4 2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto b5dc363a3b event-editor/summary: Port to GTK4 2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto 333b8ecc2a event-editor/schedule: Port to GTK4 2022-02-11 09:18:38 -03:00