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
Jordan Petridis
b900a65760
Use standalone Month format when appropriate
...
Some locales use different strings for the months depending if they are
accompanied by a numberic date or not. When we use the month name as a
standalone, we should use %OB instead to accomodate for these locales.
For more see: https://docs.gtk.org/glib/method.DateTime.format.html
Close #1546
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/705 >
2026-04-23 16:28:06 +00:00
Jan-Michael Brummer
63879a0d63
event-widget: Truncate long strings by char not by bytes
...
Longer text were truncated by bytes instead of chars leading to
invalid text as UTF text sizes are bigger than one byte.
Fix it by using the correct utf8 offset pointer.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/750 >
2026-04-23 11:36:00 +00:00
Jan-Michael Brummer
5e30145971
weather-info: Remove duplicate code
...
gcal_weather_info_get_date is defined twice, remove it.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/749 >
2026-04-23 11:32:09 +00:00
Alistair Francis
6c09758633
event-popover: Support the maps URI for opening locations
...
Open gnome-maps (or other map application) when clicking on a map icon
next to the location address.
Resolves: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/326
Signed-off-by: Alistair Francis <alistair@alistair23.me >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/590 >
2026-04-09 12:04:11 +00:00
Jake Dane
b0321c369d
Replace style-*.css with media queries
...
Libadwaita 1.9 deprecates using style-dark.css, style-hc-dark.css and
style-hc.css. This moves these styles into style.css and conditionally
loads them using media queries.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/745 >
2026-04-08 12:19:18 +00:00
Hari Rana
92b74849bf
views/month-cell: Add AdwBin as parent to methods retrieving height of widget
...
This is future-proofing the uncertain decision of removing
GtkWidget's `margin-*` properties in the future, which is what
we're currently using to retrieve the height of certain widgets.
Whenever the intention is to get the entire size of a particular
widget, including properties that contribute to layout such as
margins, the `get_width()`/`get_height()` methods don't include
these properties during calculations. However, getting the size
of the parent widget will include them in its entirety.
As such, the safest path is to use AdwBin as the parent to the
respective widgets, and using it to retrieve the height.
See: <https://gitlab.gnome.org/GNOME/gtk/-/issues/6556#note_2056432 >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/739 >
2026-04-03 16:37:14 -04:00
Hari Rana
9f8faf0db0
data: Add agenda view screenshot
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/718 >
2026-04-01 11:20:44 +00:00
Hari Rana
49e0521b67
views/week-view: Adapt to high contrast
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/710 >
2026-03-31 21:55:32 -04:00
Joshua Brot
1baefcc465
gui: Run Blueprint formatter
...
Reformatting blueprints to align with the updated formatter.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/736 >
2026-03-27 18:16:29 -04:00
Zoey Ahmed
fbfacb6972
gui/blueprint: Drop unneeded casts to built-ins
...
Blueprint can now "infer" the type a closure returns, as long as it is
not the property of a custom GType, so some of the casts (e.g. `as
<string>`) will not be necessary anymore
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/733 >
2026-03-24 16:43:10 +00:00
Hari Rana
c0063f29c8
calendar-management/calendars-page: Delete calendar during unmapping
...
The previous commit reintroduced
https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1270
In order to solve this without destroying the dialog,
the calendar is forcefully deleted when unmapping.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/712 >
2026-03-24 16:14:47 +00:00
Hari Rana
98a993de4d
gui/window: Reuse calendar management dialog
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/712 >
2026-03-24 16:14:47 +00:00
Hari Rana
8012dc4404
calendar-management/calendar-management-dialog: Replace hide() override with unmap()
...
`hide()` stopped working since we ported to AdwDialog. We certainly
don't want to override the `close()` virtual method from AdwDialog,
as page transitions begin while the dialog is closing. Instead,
we can override `unmap()`, which will do it at the very end.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/712 >
2026-03-24 16:14:47 +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
088d826c34
gui/importer: 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
b5d12237d5
gui/window: Remove "context" property
...
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
Hari Rana
170bed7755
gui/event-popover: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:02 +00:00
Hari Rana
037ffd3700
gui/event-widget: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:02 +00:00
Hari Rana
3c9a525710
gui/calendar-management: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:02 +00:00
Hari Rana
3f486c2ccc
gui/search-button: Replace "context" property with context getter method
...
This is the last remaining widget whose `context` property was bound
to GcalWindow's on construction and was null-asserted before
setting the value, making the FIXME comment unnecessary.
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1463
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:02 +00:00
Hari Rana
c7c5d49b14
gui/sync-indicator: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:01 +00:00
Hari Rana
0e73034ffe
gui/quick-add-popover: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:01 +00:00
Hari Rana
9b4c166a18
event-editor/event-editor-dialog: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:01 +00:00
Hari Rana
f44a1ee942
event-editor/event-editor-section: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
669906c601
event-editor/summary-section: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
b979ea05b5
event-editor/schedule-section: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
7bcb78b6ae
event-editor/reminders-section: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
aafbd71ced
event-editor/notes-section: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
a51b65f5f7
event-editor/attendees-section: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
15a7a8cbd2
views/view: Remove "context" property
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
ccd3e5cae3
common/date-chooser: Replace "context" method with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
5616ba2c03
views/agenda-view: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
cebd3cd84d
views/month-view: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:00 +00:00
Hari Rana
d9f02cee20
views/week-view: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:59 +00:00
Hari Rana
a687d8f10b
gui/weather-settings: Replace "context" with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:59 +00:00
Hari Rana
af30d8c43f
gui/calendar-list: Replace "context" with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:58 +00:00
Hari Rana
a84cf3aed9
utils: Add macro for getting default application
...
This will be needed as a replacement for the removal of the
"context" property on every object.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:29:58 +00:00
Zoey Ahmed
2300ed29cd
notes: Add placeholder text if notes section empty
...
Move the textview box into an overlay, with a label as the overlay
child,
that appears only when the textview is empty, and remove the "Notes"
title for the preference group with the notes row in the event dialog.
This better indicates the notes is an input field to the user, compared
to the design before.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1081
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/714 >
2026-03-23 18:25:12 +00:00
Hari Rana
855fea34bf
window: Only clear last_focused_widget if the widget has been focused
...
When opening the event editor dialog as a new event, `set_new_event_mode()`
immediately tries to focus the last focused widget, which won't work
because it is unfocusable. `focus_last_focused_widget()` then clears
clears the pointer regardless of whether the widget has successfully
grabbed focus or not. So, we want to only clear focus if the widget
has successfully grabbed focus.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1566
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/730 >
2026-03-22 20:19:54 +00:00
Hari Rana
3c94e255ac
window: Grab focus after closing Event Editor dialog
...
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1566
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/730 >
2026-03-22 20:19:54 +00:00
Hari Rana
d0bdc9f2af
gui/month-view-row: Add upward variable
...
`!downward` is disambiguous and could merely be interpreted
as "not downward and not upward either". The `upward` variable
is explicit and describes literally the condition.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/729 >
2026-03-21 10:39:16 -04:00