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
Hari Rana
48e86c7f3d
search/search-engine: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:04 +00:00
Hari Rana
e0250064f6
core/shell-search-provider: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:04 +00:00
Hari Rana
dc4cfe4ecf
core/manager: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:03 +00:00
Hari Rana
4e9ea9cd51
core/timeline: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:03 +00: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
voyage200
9f956c93d4
core/manager: Also refresh collections
...
Add on_collection_source_refreshed() callback. Track collection
source refresh in clients_synchronizing. Refresh collection sources
before calendar clients. Fix PROP_SYNCHRONIZING state by waiting for
all async ops.
2026-03-03 20:07:18 -03:00
mindonwarp
b90b99f1bd
core: Use GListModel for attendees instead of GSList
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/686 >
2026-01-29 23:26:42 +00:00
mindonwarp
0149b7a042
core/editor: Replace g_return_* with g_assert
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:53 +00:00
mindonwarp
884855ee0b
core: Add a wrapper object for event organizer
...
Add a wrapper for the ECalComponentOrganizer. An instance of this type
is kept as part of the GcalEvent structure.
The GcalEventOrganizer is just a "proxy" to the ECalComponentAttendee
and its purpose is to unclutter the GcalEvent interface and provide a
bindable base for a UI widget.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:52 +00:00
mindonwarp
4f6e705e8b
core: Add a wrapper object for attendees
...
Wrap ECalComponentAttendee structure in calendar's own structure to
prevent propagating the dependency on libecal types to the ui layer.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671 >
2026-01-21 19:37:51 +00: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
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
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
Federico Mena Quintero
63cf4374e4
Remove gcal_event_set/get_original_timezones()
...
They are unused now.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550 >
2025-08-27 20:00:01 -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
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
Ignacy Kuchciński
33d87c3511
core/context: Delay reading time format
...
Reading time format from the settings portal during context init results
in interacting with xdg-desktop-portal before GtkApplication can
register the host app id. This makes portals not aware of the
application id, which could cause problems in the future.
Fix that by calling read_time_format during gcal_context_startup, which
is called after the GtkApplication startup chain-up.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/586 >
2025-06-08 20:16:08 +00:00
Federico Mena Quintero
84cf41cc4f
core/timeline: Fix leak of QueueData in queue_event_data()
...
The new QueueData was created even for REMOVE_EVENT, which causes an
early exit. Only create the QueueData when needed.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/582 >
2025-05-30 14:10:05 +00:00
Federico Mena Quintero
d1499329cc
core/calendar-monitor: Replace a manual GRWLockWriterLocker with G_RW_LOCK_WRITER_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
cf48f79f36
core/calendar-monitor: Replace a manual GRWLockWriterLocker with G_RW_LOCK_WRITER_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
26c3f83e3c
core/calendar-monitor: Replace a manual GRWLockWriterLocker with G_RW_LOCK_WRITER_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
e2dc3460a6
core/calendar-monitor: Replace a manual GRWLockWriterLocker with G_RW_LOCK_WRITER_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
1d5fd3eec9
core/calendar-monitor: Replace a manual GRWLockWriterLocker with G_RW_LOCK_WRITER_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
21b7607c39
core/calendar-monitor: Replace a manual GRWLockReaderLocker with G_RW_LOCK_READER_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
f55f42b81c
core/calendar-monitor: Replace a manual GRWLockReaderLocker with G_RW_LOCK_READER_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
32ebd80613
core/calendar: Replace a manual GMutexLocker with G_MUTEX_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
eeb9c99172
core/calendar: Replace a manual GMutexLocker with G_MUTEX_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
0d3975b556
core/calendar: Replace a manual GMutexLocker with G_MUTEX_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
e884a09268
core/calendar: Replace a manual GMutexLocker with G_MUTEX_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Federico Mena Quintero
872aae9183
core/calendar: Replace a manual GMutexLocker with G_MUTEX_AUTO_LOCK()
...
This takes care of static-scan's warning about a variable being set
but never read.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581 >
2025-05-28 18:08:54 +00:00
Georges Basile Stavracas Neto
6a9d5a75fa
core/calendar-monitor: Remove property descriptions
...
They're unnecessary.
2025-05-21 01:38:00 -03:00
Titouan Real
42f891ff42
gui/event-editor: Add time zone selection
...
Creates a chooser managing a GDateTime. The chooser allows the user
to change the date, the time and the timezone independently.
This replaces the precedent GcalTimeChooserRow widget, because it is
easier to manage the different interactions with the user in a single
widget.
Co-authored-by: Georges Basile Stavracas Neto
<georges.stavracas@gmail.com >
2025-01-31 19:37:26 -03:00
Georges Basile Stavracas Neto
f883de2d02
core/context: Properly initialize time format
...
The property default and the actual initialization didn't agree on
24h.
2024-12-16 15:55:09 -03:00
Georges Basile Stavracas Neto
004fdb0f3d
utils: Shuffle and cleanup some paintable code
...
- It's only used in GcalShellSearchProvider so move it there.
- GdkTexture implements GIcon so no need to convert to a pixbuf.
2024-10-11 22:55:03 -03:00
Felipe Anibal
5ce7b210dc
event: correctly interpret floating time events
...
When dealing with floating time events the timezone used was UTC,
but according to RFC5545 when the timezone is not specified the
local timezone should be used.
Fixes #171
2024-07-12 11:07:24 -03:00
Abdullahi Usman
2896bd5177
timeline: notify subscribers to remove event outside their range
...
Timeline subscribers (i.e week_view, month_view, agenda_view, date_chooser) were not
properly notified of event(s) moved out of their listening ranges.
We notify them to remove these events.
fixes : #994 and #1043
2024-07-12 06:59:43 +01:00
Daniel Garcia Moreno
c7875f03ff
timeline: Handle multiday events in calculate_changed_events
...
This patch do not sends ADD_EVENT for events that are multiday and are
part of the old_range when calling calculate_changed_events. This will
prevent multiday duplicate events to appear in the agenda widget when
using the week view.
If the event is a multiday and it was in the previous range, it won't
send the REMOVE_EVENT so multiday events won't dissapear when it's still
relevant.
See https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/898#note_1602391
2024-07-09 19:59:42 +00:00
Markus Göllnitz
02465d1bed
gcal-manager: fix typo debug message
...
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it >
2024-01-27 16:09:02 +00:00
Rami Alkawadri
487e72ee07
gcal-range: Implement gcal_range_get_range_type
2024-01-15 19:31:56 +00:00
Daniel Garcia Moreno
68c921bf60
test: Add event_date_edit_tzid
...
This new test check that the tz data in the component is set correctly
after editing an event date end.
See https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/170
2023-11-09 20:59:59 +00:00
Daniel Garcia Moreno
20aa929966
event: Set dt_end to next day when DTEND is not defined
...
from RFC5545 (p. 54) https://datatracker.ietf.org/doc/html/rfc5545#page-54
For cases where a "VEVENT" calendar component specifies a "DTSTART"
property with a DATE value type but no "DTEND" nor "DURATION" property,
the event's duration is taken to be one day.
Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/327
2023-11-09 14:37:09 +00:00
Georges Basile Stavracas Neto
80a258c705
core/timeline: Use g_clear_handle_id
...
Saves us a few lines of code.
2023-09-28 11:33:30 -03:00
Georges Basile Stavracas Neto
96625ec595
core/calendar-monitor: Protect against NULL range
2023-09-28 11:33:02 -03:00