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
Georges Basile Stavracas Neto
6bb52f53e5
core/event: Improve setup function
...
Use g_autoptr, shuffle some code around, and fix a memory leak.
2025-11-18 14:58:08 -03:00
Georges Basile Stavracas Neto
67ca9ed20c
utils: Watch calendars for read-only change
...
This should make the list model update itself whenever a calendar
changes between read-only and read-write.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/660 >
2025-11-18 12:09:01 -03:00
Georges Basile Stavracas Neto
18f7c0f87d
build: Depend on GTK4 4.20
...
We'll use the new watch items API in GtkFilterListModel.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/660 >
2025-11-18 12:08:32 -03:00
Georges Basile Stavracas Neto
564ce76349
views/month: Don't manually set can-focus property
...
Now that we're meddling with child visibility, hidden rows shouldn't
be focusable. At least that's what Hari discovered :)
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/659 >
2025-11-08 22:02:49 -03:00
Georges Basile Stavracas Neto
084a495f5c
views/month: Hide invisible rows
...
Change the child-visible property of rows when allocating. It's safe
to do in allocation because it doesn't affect layout, just rendering.
Related:
https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/402
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/659 >
2025-11-08 21:18:55 -03:00
Georges Basile Stavracas Neto
ceee69599d
flatpak: Add gweather-locations
2025-09-14 10:29:19 -03:00
Georges Basile Stavracas Neto
4256723c2a
Post-branching version bump
2025-09-14 10:22:43 -03:00
Georges Basile Stavracas Neto
727d05edff
49.0
2025-09-14 10:20:21 -03:00
Georges Basile Stavracas Neto
c25bdc5713
Post-release version bump
2025-08-30 12:34:30 -03:00
Georges Basile Stavracas Neto
8c6c417347
49.rc
2025-08-30 12:33:48 -03:00
Georges Basile Stavracas Neto
7282943d21
views/month: Remove useless function
...
The update_header_labels() was rendered useless after commit 1de447f7 .
This was discovered by static-scan. Thanks for Arak for finding the
root cause.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1418
2025-07-11 13:33:13 -03:00
Georges Basile Stavracas Neto
257570b5aa
Post-release version bump
2025-07-05 17:43:42 -03:00
Georges Basile Stavracas Neto
8db5c1cada
49.alpha
2025-07-05 17:41:18 -03:00
Georges Basile Stavracas Neto
d16cc2bc68
utils: Remove get_source_parent_name_color
...
One less weird function lurking around.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/610 >
2025-07-02 18:04:26 +00:00
Georges Basile Stavracas Neto
281191b5b3
gui/calendar-list: Add headers
...
This makes it easier to see which calendar belongs to which group.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1196
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/610 >
2025-07-02 18:04:26 +00:00
Georges Basile Stavracas Neto
e9ec77f15b
core/calendar: Add "parent-source" property
...
Tracks the parent ESource of this calendar. Will be useful for future
patches.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/610 >
2025-07-02 18:04:26 +00:00
Georges Basile Stavracas Neto
4e7bc70450
gui/window: Cosmetics
2025-06-30 12:48:47 -03:00
Georges Basile Stavracas Neto
766369dd48
build: Remove unused variables
2025-05-21 01:38:07 -03:00
Georges Basile Stavracas Neto
6a9d5a75fa
core/calendar-monitor: Remove property descriptions
...
They're unnecessary.
2025-05-21 01:38:00 -03:00
Georges Basile Stavracas Neto
06ef0539e4
views/week: Properly math out selection positions
...
Commit 69ac7468e2 introduced a regression since it calculates the
height of the selection widget based on the Y position of end+1 cell,
which is the first cell of the next column in the case of the last
cell.
Fix that by mathing out properly.
Fixes: 69ac7468e2
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1397
2025-05-04 17:16:18 -03:00
Georges Basile Stavracas Neto
5504872eb6
views/week: Better scope some variables
...
Move them to inner scopes, and make them signed integers.
2025-05-04 17:15:04 -03:00
Georges Basile Stavracas Neto
c42d987335
gui/window: Track focus widget when showing event preview
...
Store a weak pointer to whatever widget triggered the preview, and
restore when the popover is closed. This should fix the focused list
box row issue.
2025-04-30 21:43:52 -03:00
Georges Basile Stavracas Neto
37878416f3
ci: Add commit rules
2025-04-04 21:52:33 -03:00
Georges Basile Stavracas Neto
4b331d65d9
ci: Install more packages
2025-04-04 21:24:26 -03:00
Georges Basile Stavracas Neto
4fc7ad2f89
ci: Set executable bit of clang-format-diff
2025-04-04 21:22:31 -03:00
Georges Basile Stavracas Neto
2d755da859
ci: Use Fedora image for style checker
2025-04-04 21:16:59 -03:00
Georges Basile Stavracas Neto
4356c64ac8
ci: Set executable flag in run-style-check-diff.sh
2025-04-04 21:01:13 -03:00
Georges Basile Stavracas Neto
340081d431
views/week: Remove shared size group
2025-04-04 21:00:30 -03:00
Georges Basile Stavracas Neto
5ac19000ea
views/week: Use a separator instead of custom CSS
2025-04-04 21:00:30 -03:00
Georges Basile Stavracas Neto
f336b142f4
views/week: Reimplement arrow changes with CSS
2025-04-04 21:00:30 -03:00
Georges Basile Stavracas Neto
9048fe939f
views/week: Move expand header button to week view
2025-04-04 21:00:30 -03:00
Georges Basile Stavracas Neto
c0dfe588ae
views/week: Add 'can-expand' property
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
f653dcd9e6
views/week: Add 'expanded' property
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
a07d80cccf
views/week: Extract headers into GcalWeekView
...
Instead of handling them in GcalWeekHeader
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
65f793b59e
views/week: Use widget for DnD
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
f4ef9a29c3
views/week: Use anonymous struct for DnD
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
cbfada052d
views/week: Use widget to draw selection
...
Same as week grid.
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
e94600668c
weeks/view: Add anonymous struct for selection
...
Same as the grid view.
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
ea23581cf5
views/week: Use g_autoptr more
...
And remove an unused variable.
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
82fa42ec9e
views/week: Replace chain up by manual snapshotting
...
Should make it easier to spot mistakes in the future.
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
fb52dae400
views/week: Turn GcalWeekHeader into a GtkWidget
...
No functional changes so far.
2025-04-04 21:00:29 -03:00
Georges Basile Stavracas Neto
7c8285bdab
views/week: Add intermediary GtkBox
2025-04-04 21:00:28 -03:00
Georges Basile Stavracas Neto
68a3cedbc5
Remove attic
...
The old month view code has no reason to linger around anymore.
2025-04-04 21:00:28 -03:00
Georges Basile Stavracas Neto
adc05dbcbc
Post-branching version bump
2025-03-19 19:45:40 -03:00
Georges Basile Stavracas Neto
e4739c2955
48.1
2025-03-19 19:43:31 -03:00
Georges Basile Stavracas Neto
741a3d7748
metainfo: Cleanup formatting
2025-03-19 19:24:24 -03:00
Georges Basile Stavracas Neto
ed3e06dd0e
views/week: Cleanup measurement code
...
It's lame but simply removing the code works.
2025-03-19 19:23:58 -03:00
Georges Basile Stavracas Neto
f9ad1c2e7e
views/week: Cleanup line rendering code
...
Remove copied style context calls, pass less arguments.
2025-03-19 19:23:58 -03:00
Georges Basile Stavracas Neto
60c2bd2138
views/week: Make selection widget permanent
...
And toggle its visibility instead, like the DnD widget.
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
81e881caa9
views/week: Use widget for drop target indicator
...
Gets rid of a few warnings
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
fad962c6ed
views/week: Cosmetics
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
280515a1b5
views/week: Simplify return statement
...
dnd.cell is never -1 in this code path.
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
5d60bfc797
views/week: Use anonymous struct for dnd
...
No functional changes.
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
fbca670b62
utils: Add DnD target widget
...
Another utility function.
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
69ac7468e2
views/week: Replace selection rendering with widget
...
Should get rid of a few warnings. No functional changes.
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
fe16da8ced
utils: Add util function for selection widgetry
...
Will be used by the week grid
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
d7a6d95629
views/week: Use anonymous strict for selection
...
No functional changes.
2025-03-19 19:23:57 -03:00
Georges Basile Stavracas Neto
1fbcc79313
gui/event: Add some assertions
2025-03-19 12:22:28 -03:00
Georges Basile Stavracas Neto
0db8e5fb4c
tests: Initialize autoptr variable
2025-03-19 12:21:39 -03:00
Georges Basile Stavracas Neto
44e12da104
gui/event: Initialize autoptr variables
...
A good practice in general.
2025-03-19 12:21:13 -03:00
Georges Basile Stavracas Neto
f96a1fb8ce
tests: Fix typo
2025-03-19 12:17:39 -03:00
Georges Basile Stavracas Neto
da495d65cd
Post-release version bump
2025-03-19 12:16:52 -03:00