Georges Basile Stavracas Neto
5d9d0dec7c
event-popover: Set better default focus widget
...
When mapped, move focus to either the first meeting row - if any - or
to the edit button.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/980
2023-03-17 23:54:46 -03:00
Georges Basile Stavracas Neto
6df87fb5c1
meeting-row: Implement grab_focus()
...
We'll use this in the next commit to properly grab focus of the
first meeting row, if any.
2023-03-17 23:54:01 -03:00
Georges Basile Stavracas Neto
5e1ffbcbf6
meeting-row: Remove leftover layout code
...
It's not necessary anymore.
2023-03-17 23:52:06 -03:00
Georges Basile Stavracas Neto
430e429551
event-popover: Set default widget
...
Helps: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/980
2023-03-17 23:46:41 -03:00
Georges Basile Stavracas Neto
1700902a63
meeting-row: Make row unfocusable
...
But child widgets are. That is, the Join button.
Helps: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/980
2023-03-17 23:45:53 -03:00
Georges Basile Stavracas Neto
f04c4fb119
event-popover: Update to GtkUriLauncher
...
And bump the GTK dependency to 4.10
2023-03-16 17:28:17 -03:00
Georges Basile Stavracas Neto
ac526c5a22
calendar-management: Switch to GtkColorDialogButton
2023-03-16 12:30:15 +00:00
Georges Basile Stavracas Neto
4df39fa2ce
calendar-manager/new: Switch to GtkFileDialog
...
Cleans up a few more compiler warnings.
2023-03-16 12:30:15 +00:00
Georges Basile Stavracas Neto
501347f797
views/month: Cleanup math
...
The Month view is a complicated beast when it comes to allocating
events, but it's unnecessarily complicated since it tries to take
margins of events into accounts. With GTK4, that's not necessary
anymore, as GTK4 will independently and correctly apply margins
in widgets by itself, we don't have to do manually anymore.
Clean that up.
2023-03-16 12:30:15 +00:00
Georges Basile Stavracas Neto
21412ea3ba
search-button: Port results to GtkListView
...
Port the search results list to GtkListview. Use bindings to set
the title, icon, and subtitle of each row. Remove GcalSearchHitRow
as it's unused now.
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
6b57c459a3
search/hit-event: Compare calendars too
...
This allows not mixing up similar events from different calendars.
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
5dd98ea01c
search/model: Don't ignore results past limits
...
Instead, monitor where items are added relative to each other, and
proxy the 'items-changed' call to match the inner list.
Helps https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/989
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
a216706026
search/model: Use boolean result to find equal hits
...
It's a bit better than using -1 with an unsigned int :)
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
dbfc1c030a
search-button: Cleanup unused shortcut controller
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
89d9a96c6f
search-button: React to 'stop-search' signal
...
Quit the search entry state when the search entry emits stop-search,
usually that's when Escape is pressed when the search entry is
focused.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/830
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
b4f11ce052
search-button: Don't do anything when popover closes
...
It's, at best, annoying. Also stop resetting the entry text when
hiding suggestions, as it may loop with the text changed callback.
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
4b15e7647c
search-button: Use 'search-changed' signal
...
It uses a 150ms delay, which helps with reducing the number of
queries we do.
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
485a6cf5a7
search-button: Instrument some functions
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
bd97430bf3
search-button: Use GtkSearchEntry
...
Allows us to cleanup style a bit. Next commits will use search entry
functionality better.
2023-03-16 09:28:30 -03:00
Georges Basile Stavracas Neto
0a0128bf4c
core/calendar-monitor: Keep event alive while removing it
...
This might be the last reference to it, so keep it alive while
the signal is being emitted.
2023-03-16 12:27:47 +00:00
Georges Basile Stavracas Neto
daec07c9f6
search: Rework threading
...
Search uses GcalTimeline, an object that is meant to be single
threaded, in multple threads. That mostly worked okay because
GcalTimeline mostly relies on GcalCalendarMonitor, which is
heavily threaded. But, sometimes it failed.
Rework that to be single-threaded, and asynchronous.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/981
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/987
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/988
2023-03-16 12:27:47 +00:00
Georges Basile Stavracas Neto
f751803e07
views/week-header: Use minute granurality
...
We end up losing minutes information when running through this code
path. Technically it's fine, because we copy the minutes from the
event, but it's better nonetheless to operate on the level of
granularity that Calendar supports.
2023-03-16 12:27:09 +00:00
Georges Basile Stavracas Neto
8b9af9241e
views/week-header: Don't change all day state
...
I don't know what I had in mind when I wrote this, since 2017 self
did not bother adding a proper commit message, but 2023 me is pretty
convinced we never want to change the event length when dragging it
around.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/896
2023-03-16 12:27:09 +00:00
Georges Basile Stavracas Neto
0650c89ee2
views/week: Cleanup unused struct field
...
We don't use 'scroll_scale' anymore
2023-03-16 12:26:28 +00:00
Georges Basile Stavracas Neto
e1616039d6
views/week: Special case discrete events
...
They behave slightly differently from smooth scroll events, and
they don't emit 'scroll-begin' nor 'scroll-end', so we have to
execute that the callbacks of these signals do inside the scroll
callback itself.
2023-03-16 12:26:28 +00:00
Georges Basile Stavracas Neto
a55bf69dfb
views/week: Don't swap callback arguments
...
No function changes
2023-03-16 12:26:28 +00:00
Georges Basile Stavracas Neto
189c809271
views/week: Store and restore zoom level
...
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/916
2023-03-16 12:26:28 +00:00
Georges Basile Stavracas Neto
a9e4a5ae12
views/week: Connect to 'scroll-begin'
...
The scroll-begin callback is being connected to the 'scroll' signal.
This is an obvious oversight.
Connect to the right signal.
2023-03-16 12:26:28 +00:00
Georges Basile Stavracas Neto
8d92808992
views/week: Operate on zoom levels
...
Instead of freely using heights and pixel sizes, operate on zoom
levels.
2023-03-16 12:26:28 +00:00
Georges Basile Stavracas Neto
b93aa0dd23
calendar-button: Stop spinning when not synchronizing
...
GtkSpinner queues relayouts even when the stack is not displaying
it, and this causes excessive redrawing. This button design looks
obsolete and should eventually be reworked, but for now, let's
just stop spinning when the spinner is invisible.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/971
2023-03-16 12:25:15 +00: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
Vikram Kangotra
0a0caa63cf
weather-service: Extend weather forecast to 5 days
2023-03-03 23:04:49 +00: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
Felipe Kinoshita
2805b414f8
general: Use gtk_widget_set_visible
...
A lot of places were using gtk_widget_show/gtk_widget_hide, but those
methods are deprecated since Gtk 4.10.
Let's use gtk_widget_set_visible instead.
2023-03-03 19:14:09 -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