Georges Basile Stavracas Neto
9d97c5a9bd
views/month: Read number of rows from setting
...
And react to changes.
Helps:
https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1064
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/856 >
2026-10-11 20:07:17 -04:00
Georges Basile Stavracas Neto
4f9b8e5e4a
views/month: Parametrize constants
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/856 >
2026-10-11 14:50:14 -04:00
Georges Basile Stavracas Neto
4dac610aa8
gsettings: Add setting for Month view rows
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/856 >
2026-10-11 14:50:14 -04:00
Georges Basile Stavracas Neto
a1c3439535
views/agenda: Only scroll when there are items
...
`gtk_list_view_scroll_to()` is documented to require that `pos` is
smaller than the number of items in the model. We were not checking
if the model was empty before calling this function, which could
lead to criticals.
Check if the listview model has any items before scrolling it.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/860 >
2026-10-02 18:19:13 -03:00
Georges Basile Stavracas Neto
6c2bc5be46
core/log: Improve logging
...
- Stop using GDateTime formatting as that's super slow!
- Log the thread id as wel
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/858 >
2026-10-02 13:58:05 +00:00
Georges Basile Stavracas Neto
509165286e
gui/application: Change --debug to --verbose
...
And support multiple calls to it. Each call increase the verbose
level, up to level 4. Level 4 increases all tracing.
You can run Calendar as:
$ gnome-calendar -vvvv
now and that'll enable tracing.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1234
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/858 >
2026-10-02 13:58:05 +00:00
Georges Basile Stavracas Neto
a3598c0c11
main: Always initialize logging
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/858 >
2026-10-02 13:58:05 +00:00
Georges Basile Stavracas Neto
c4c5c81cdf
core/log: Enable tracing with G_MESSAGES_DEBUG=all
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/858 >
2026-10-02 13:58:04 +00:00
Georges Basile Stavracas Neto
b82f6bbcb8
core/log: Support verbosity levels
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/858 >
2026-10-02 13:58:04 +00:00
Georges Basile Stavracas Neto
d0e8fa85b3
gui/application: Change --version shortname to uppercase V
...
This will free -v for --verbose
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/858 >
2026-10-02 13:58:03 +00:00
Georges Basile Stavracas Neto
c1b689dbda
gui/event-widget: Protect against NULL events
...
GcalEventWidget was adjusted to handle NULL events so it could
more easily be used in GtkListView & family, however, what was
left out of thie adjustment were the functions related to the
orientation of the event.
Protect these functions by only running them when an event widget
is around.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/809 >
2026-09-26 13:02:27 +01:00
Georges Basile Stavracas Neto
c534f00366
event-widget: Rework transparency of past events
...
Instead of applying the "dimmed" CSS class - which comes from Adwaita
and applies an overall opacity change - add a new custom "past" CSS
class and change the opacity of specific elements.
This avoids opacity in the group, which in turn allows GTK to avoid
rendering these event widgets in offscreens, which should be faster.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/828 >
2026-09-16 11:57:32 +00:00
Georges Basile Stavracas Neto
fdf193a50a
Post-branching version bump
2026-09-13 17:47:34 -03:00
Georges Basile Stavracas Neto
e7f284ae27
51.0
2026-09-13 17:37:54 -03:00
Georges Basile Stavracas Neto
a8493b55ff
Post-release version bump
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/818 >
2026-08-28 19:31:18 -04:00
Georges Basile Stavracas Neto
176d29260e
51.rc
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/818 >
2026-08-28 19:31:18 -04:00
Georges Basile Stavracas Neto
6d44af6656
gui/event-widget-pool: Ensure event widgets are visible
...
They might have been made invisible after e.g. being deleted.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1623
Fixes: 59cae05929
2026-08-06 12:04:50 -03:00
Georges Basile Stavracas Neto
3d0f7c0d9a
Post-release version bump
2026-06-29 21:55:58 -03:00
Georges Basile Stavracas Neto
3a38f92f7a
51.alpha
2026-06-29 21:55:10 -03:00
Georges Basile Stavracas Neto
6234566874
core/range: Compute and use timestamps for comparison
...
Using GDateTime utilities is costly and shows up high in profiling.
That's because GDateTime has to run timezone offset checks for every
comparison. We can amortize this cost by converting these datetimes
to unix timestamps upfront, and using them for comparisons.
A complication is date-only ranges, for which unix timestamps wouldn't
work. For this, add a new kind of timestamp that only accounts for the
dates.
Add a new test case for date-only comparison.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/770 >
2026-06-13 23:22:01 +02:00
Georges Basile Stavracas Neto
c18218d1f6
core/event-list: Use uids to compare events
...
We can have multiple GcalEvent* instances for the same underlying
icalcomponent. Compare the uids instead of the raw pointers.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1585
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/766 >
2026-05-20 15:42:15 -04:00
Georges Basile Stavracas Neto
43e0c53ee4
core: Remove dead code
...
This is now entirely unused.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/767 >
2026-05-20 14:33:13 -04:00
Georges Basile Stavracas Neto
5a693f2a25
views/month: Port to GListModel
...
This was an oversight from the original MR.
Pass the GListModel to the month popover, and let it filter itself
out. Use GtkListBox model utilities for automatically managing the
event widgets.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/work_items/1582
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/767 >
2026-05-20 14:33:13 -04:00
Georges Basile Stavracas Neto
59ee1db556
views/month: Show first invisible rows above and below
...
But mark them as not child visible. This should make keyboard
navigation work again, as the focused rows don't change actual
visible state, and thus are keyboard navigatable and don't lose
focus.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/769 >
2026-05-20 18:26:37 +00:00
Georges Basile Stavracas Neto
c9c455b6d8
views/month: Only recalculate layout blocks when needed
...
The tick callback can be fired *after* the GtkWidget.map() vfunc is
called, in which case the recalculate_layout_blocks() will run with
an already recalculated layout, which is invalid.
Only call recalculate_layout_blocks() when the blocks are invalidated.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/768 >
2026-05-20 13:45:52 -03:00
Georges Basile Stavracas Neto
298593456a
view/month: Drop GtkBoolFilter from rows
...
They're slower and showed up in the profilings. Use a custom filter
for now.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/765 >
2026-05-19 19:25:49 -03:00
Georges Basile Stavracas Neto
f40c2cb0e9
gui/fading-label: Rewrite using PangoLayout directly
...
Instead of an internal label widget, store the text and the PangoLayout
directly, and only render them. Cache as much as possible to avoid
font reshaping.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/765 >
2026-05-19 19:25:25 -03:00
Georges Basile Stavracas Neto
601acef508
views/month: Use variable for better readability
...
The second part of the if condition is not obvious, so use a variable
with a proper name to make it easier to understand.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
573e1dc042
views/month: Simplify layout blocks recalculation
...
We can merge two of the three branches, and thus cleanup a function
that is only used there.
Suggested by Hari.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
c609f281dc
gui/event-widget: Mark properties as explicit-notify
...
A small correctness change. Suggested by Hari.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
c0127fa2af
views/week-header: Reuse event widgets using the new pool
...
Same deal as the Month view.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
bbc041eed9
views/month: Recycle event widgets using the pool
...
Create a new GcalEventWidgetPool shared between all month view rows.
The event widgets are distributed to rows as needed.
When rows are done with the event widget, the give them back to the
pool so that other rows can reuse them.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
3692747362
views/week-grid: Reuse event widgets
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
4205e08be6
views/month: Reuse event widgets
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
59cae05929
gui: Introduce GcalEventWidgetPool
...
This is a helper object that preallocates a number of event widget,
and then gives them away to consumers. When consumers are finished
using the event widget, instead of simply destroying it, they can
return the widgets to the pool, so it can be further reused.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:09 +00:00
Georges Basile Stavracas Neto
9ef437009f
gui/event-widget: Make event setter public
...
And make the "event" property read-write and not construct-only.
This will be useful for recycling event widgets later.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:09 +00:00
Georges Basile Stavracas Neto
3104f16f7c
gui/event-widget: Connect to signals using GSignalGroup
...
It'll make it easier when making the "event" property mutable later
on.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:09 +00:00
Georges Basile Stavracas Neto
e4d1fdf13c
gui/event-widget: Use more bindings in the UI file
...
Instead of manually connecting to signals and binding to properties
in code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:09 +00:00
Georges Basile Stavracas Neto
1e6fe7af51
core/log: Add tab after time
...
This should fix the misaligned timestamps.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:37:25 -03:00
Georges Basile Stavracas Neto
1fbd193954
core/timeline: Sort events better
...
The previous sorter was a simple GcalRange proxy, but we need a more
robust and stable sorting mechanism. Use multiday, start and end dates,
length, and finally the last modified date to sort events.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:37:15 -03:00
Georges Basile Stavracas Neto
378b7f6075
views/month: Remove unused field
...
The hash table is not used since we moved to list models.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:37:05 -03:00
Georges Basile Stavracas Neto
64efb3a06b
views/month: Completely hide invisible rows
...
Instead of just skipping painting. This should remove rows and event
widgets from the CSS tree, avoid measurements and relayouts, and a
few other benefits.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:36:58 -03:00
Georges Basile Stavracas Neto
32d962aa8d
gui/event-widget: Remove useless queue_draw
...
We use a label these days, no need for manual drawing code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:36:48 -03:00
Georges Basile Stavracas Neto
c62af398e5
gui/event-widget: Remove unused fields
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:36:42 -03:00
Georges Basile Stavracas Neto
bfc4a7dc62
gui/event-widget: Use modern practices for properties
...
Use a property array, install them all at once, and notify using
g_object_notify_by_pspec().
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:36:36 -03:00
Georges Basile Stavracas Neto
16a67b7f60
views/week-header: Use gdkarrayimpl.c as backing store
...
Same deal. It's faster.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/757 >
2026-05-03 15:30:20 -03:00
Georges Basile Stavracas Neto
2f7dce36e2
core/event-list: Use gdkarrayimpl.c as backing store
...
GSequence is useful and provides us with a convenient API, however,
it pretty much guarantees cache misses when iterating, lots of pointer
chasing, and scattered memory.
gdkarrayimpl.c works around all of that, at the cost of more expensive
additions and removals. But because we do a lot more lookups compared
to edits, there should still be benefits to it.
Change the backing store to be based on gdkarrayimpl.c.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/757 >
2026-05-03 15:29:31 -03:00
Georges Basile Stavracas Neto
d207a95656
contrib: Import gdkarrayimpl.c from GDK
...
We'll use this in the next patch to reimplement GcalEventList.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/757 >
2026-05-03 14:56:07 -03:00
Georges Basile Stavracas Neto
c9c4f1c046
gui/window: Only add Agenda view to timeline when visible
...
There's no point in adding the Agenda view to the timeline when it's
invisible, it just causes invisible and unnecessary event widget
recreation.
Add it lazily to the timeline, when the page visibility changes.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/757 >
2026-05-03 14:56:07 -03:00
Georges Basile Stavracas Neto
95bc0a8fb2
views/month: Reduce to 3 pages
...
Now that the timeline handles augmentation, the Month view doesn't need
to fetch so much data at once. Reduce to 3 pages of month rows.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/757 >
2026-05-03 14:56:07 -03:00
Georges Basile Stavracas Neto
d47358f294
core/manager: Use an augmented timeline
...
Augment the range of events by a factor of 2.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/755 >
2026-05-03 14:01:22 -03:00
Georges Basile Stavracas Neto
b353c9f259
core/timeline: Add support for augmented timelines
...
Augmented timelines increase the range of dates from its subscribers
by the specified factor. They're useful for the interactive views,
since they prevent fetching new events so often as when views change.
Add the necessary API.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/755 >
2026-05-03 14:01:22 -03:00
Georges Basile Stavracas Neto
08f3f94ec1
gui/application: Stop weather service on shutdown
...
Instead of during context finalization, which is too late.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:54 +00:00
Georges Basile Stavracas Neto
cd82c2c52c
gui/date-chooser: Properly remove idle source
...
When disposing of the widget, also remove the associated idle source
that might exist. This prevents a crash.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:54 +00:00
Georges Basile Stavracas Neto
c084e28400
views/week: Don't deal with events out of range
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:54 +00:00
Georges Basile Stavracas Neto
c71fcf7029
views/month: Add "range" property to rows and use it
...
Use it as the binding source of the GtkExpression for the boolean
filter used to filter the list of events. This allows automatic
filtering when the "range" property changes.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:54 +00:00
Georges Basile Stavracas Neto
afd9f9b954
core/timeline: Remove message queueing and listeners
...
"Let go and move on." - The Fool?
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:54 +00:00
Georges Basile Stavracas Neto
136fd16a0a
gui/date-chooser: Port to GListModel
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:54 +00:00
Georges Basile Stavracas Neto
d065d4b9e8
views/agenda: Port to GListModel
...
This is a major rework of the Agenda view. It splits the view into
GcalAgendaViewDay, which represent a single day with events; and
GcalAgendaViewDayRow, which is the actual widget with a title label,
and a listbox with event widgets.
The Agenda view itself merely manages a list of GcalAgendaViewDays,
and updates them with the events model, and active dates.
This allows us to get rid of the custom listbox row, and the confusing
checks for event widgets, and all the bugs the came with it. It also
allows for removing the internal GcalRangeTree, and delegate all
event management to list models.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:54 +00:00
Georges Basile Stavracas Neto
5c39162f86
core/search-provider: Port to GListModel
...
No deal
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:53 +00:00
Georges Basile Stavracas Neto
fa03c6f9af
views/week-grid: Port to GListModel
...
And, while at it, rewrite the layout algorithm to operate on blocks of
overlapping events, and segmented columns. Like the month view row,
layouts blocks are invalidated at any point in time, but recalculated
immediately before a relayout happens.
The reason for doing such a massive rewrite while in the middle of the
port to GListModel is because it's easier to handle GListModel data
with this approach, than with the previous approach of storing it all
in a GcalRangeTree.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1153
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:53 +00:00
Georges Basile Stavracas Neto
5fe24582d4
core/range-tree: Add gcal_range_tree_has_entries_at_range
...
It checks if there's any entry in that range. It's a little faster
than gcal_range_tree_count_entries_at_range() because it stops at
the first entry that matches it.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:52 +00:00
Georges Basile Stavracas Neto
807f5608b1
search/model: Port to GListModel
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:52 +00:00
Georges Basile Stavracas Neto
34e28e31fe
views/week: Port week header to GListModel
...
Rework the add/remove functions to make them internal. The remove
function can now operate on GcalEvent* instead of gchar* uuid,
since it's not bound to GcalTimelineSubscriber anymore.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:52 +00:00
Georges Basile Stavracas Neto
c635db3495
views/week: Port to GPtrArray
...
GLists are an artifact of times immemorial and we should
avoid using them as much as possible. In this commit, for
example, there were a couple of accidentally quadratic
pieces of code.
Port (mostly of) the week view header to GPtrArray.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:51 +00:00
Georges Basile Stavracas Neto
039b75755e
views/month: Port to GListModel
...
Neutralize the add/remove/update vfuncs (we can't remove them yet).
Pass the event model to the individual week rows, and let them
filter their events using a GtkFilterListModel.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:51 +00:00
Georges Basile Stavracas Neto
df8033b3ba
core/timeline: Cosmetics
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:51 +00:00
Georges Basile Stavracas Neto
71c5d0b70d
core/timeline: Add plumbing for models
...
Add a GtkFlattenListModel that flattens out all events from the
calendar monitors. Keep a GtkFilterListModel, and a GtkSortListModel,
for each subscriber. Manually update the filter when the range of
the subscriber changes.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:50 +00:00
Georges Basile Stavracas Neto
5f5e438955
core/timeline-subscriber: Add set_model() vfunc
...
This is the entry point that will allow views to use models instead
of the manual add/remove/update_events vfuncs.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:50 +00:00
Georges Basile Stavracas Neto
a303759913
core/timeline: Store calendar monitors in a GListModel
...
This will allow flattening and merging them.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:50 +00:00
Georges Basile Stavracas Neto
cc6736a16f
core/calendar-monitor: Implement GListModel
...
This uses GcalEventList to as the backing store of events, and proxies
the "items-changed" signal.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:49 +00:00
Georges Basile Stavracas Neto
9eea2ee985
core/calendar-monitor: Use NULL-terminated arrays
...
This will help with next commits
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:49 +00:00
Georges Basile Stavracas Neto
6da43e9353
Introduce GcalEventList
...
This is a GListModel implementation that is specific to
GcalEvents. Events are stored in a GSequence in order of
date.
Add a couple of tests exercising additions and removals.
WIP: add more tests
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:49 +00:00
Georges Basile Stavracas Neto
4796330de0
core/log: Ignore GWeather messages
...
Mostly noise, and lots of XML outputs.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/742 >
2026-05-03 16:57:49 +00:00
Georges Basile Stavracas Neto
020611cd12
Post-branching version bump
2026-03-17 20:03:32 -03:00
Georges Basile Stavracas Neto
70388c9541
Post-release version bump
2026-03-14 12:25:49 -03:00
Georges Basile Stavracas Neto
ff4d7f7d59
50.0
2026-03-14 12:24:48 -03:00
Georges Basile Stavracas Neto
1281598aa7
contributing: Link to CoC and add no-LLM statement
...
This is copied ad verbatum from libadwaita, which itself was
introduced based on [1].
[1]
https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327
2026-03-13 19:24:42 -03:00
Georges Basile Stavracas Neto
0c1636b7aa
gui/multi-choice: Use g_clear_pointer more
...
Just a cosmetic improvement.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/721 >
2026-03-10 20:45:35 -03:00
Georges Basile Stavracas Neto
9712280aea
core/manager: Cosmetics
2026-03-03 20:12:45 -03:00
Georges Basile Stavracas Neto
b4292c2026
core/manager: Increment before potentially decrementing
...
Otherwise we can go backwards first. Not going to break anything,
but this is a more robust logic.
2026-03-03 20:11:07 -03:00
Georges Basile Stavracas Neto
e1438b3c8e
core/manager: Use g_autoptr more
...
In the clients list.
2026-03-03 20:09:51 -03:00
Georges Basile Stavracas Neto
c2189f1860
NEWS: Fix typo
2026-03-01 17:08:06 -03:00
Georges Basile Stavracas Neto
65e0642ad6
Post-release version bump
2026-03-01 16:56:07 -03:00
Georges Basile Stavracas Neto
6f37e4e486
50.rc
2026-03-01 16:55:19 -03:00
Georges Basile Stavracas Neto
5b1d57f823
Post-release version bump
2026-02-09 18:30:08 -03:00
Georges Basile Stavracas Neto
ae9d7a3762
50.beta
2026-02-09 18:29:10 -03:00
Georges Basile Stavracas Neto
0285dbe04f
event-editor/organizer-row: Fix use before NULL check
...
Fallout from my changes to the previous commit.
2026-01-21 17:04:49 -03:00
Georges Basile Stavracas Neto
ce26a9b8e1
Post-release version bump
2026-01-05 20:03:20 -03:00
Georges Basile Stavracas Neto
fcc8845669
50.alpha
2026-01-05 20:02:30 -03:00
Georges Basile Stavracas Neto
484ce89b0f
flatpak: Add test args
...
Much like with finish-args, this makes the permissions
available to the sandbox when using the flatpak-builder
test-runner.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/667 >
2025-12-06 00:55:43 +02:00
Georges Basile Stavracas Neto
0d765c4ff6
flatpak: Don't run in debug mode
...
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1234
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/667 >
2025-12-06 00:55:43 +02:00
Georges Basile Stavracas Neto
4c4fc5a965
core/range-tree: Properly free nodes
...
It was missing the GDateTime *max field.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 18:01:11 -03:00
Georges Basile Stavracas Neto
13dc2ff3be
tests/daylight-saving: Fix string leaks
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 17:52:53 -03:00
Georges Basile Stavracas Neto
36d3837e0b
core/range-tree: Clear range from deleted nodes
...
Otherwise we leak the range.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 17:43:04 -03:00
Georges Basile Stavracas Neto
2d8d50591e
tests/utils: Declare ICalTimes with g_autoptr
...
The corresponding ICalComponent functions are transfer full.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 17:27:31 -03:00
Georges Basile Stavracas Neto
3225ffc88e
tests/utils: Unref ICalComponent properly
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 17:19:05 -03:00
Georges Basile Stavracas Neto
b064a23dbc
tests/event: Fix string leak
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/664 >
2025-11-19 17:14:37 -03:00
Georges Basile Stavracas Neto
50217bba42
core/event: Cosmetics
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/663 >
2025-11-19 09:48:25 -03:00
Georges Basile Stavracas Neto
a884076dc5
core/event: Remove g_autoptr declaration
...
Turns out g_date_time_get_timezone() is transfer-none, so assigning it
to a g_autoptr variable is invalid.
Fixes 42f891ff42
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/663 >
2025-11-19 09:47:29 -03:00