Commit Graph
2699 Commits
Author SHA1 Message Date
Hari Rana 315d47350f summary-section: Use AdwEntryRow class 2023-12-17 22:33:34 +00:00
Georges Basile Stavracas Neto 1fbd5e0621 event-widget: Use GtkInscription for summary text
It's slightly more performant than a GtkLabel, which is demonstrably
the widget dominating the perf profile of the app.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1125
2023-12-17 22:32:18 +00:00
Hari RanaandGotam Gorabh 303c5fd0fe calendar-row: Add read-only icon for read-only calendars
Co-authored-by: Gotam Gorabh <gautamy672@gmail.com>
2023-12-14 02:46:56 +00:00
Jean-François Fortin Tam c0e258b6e4 style: Harmonize the mini calendar's week numbers with GNOME Shell
Make the week numbers a bit clearer to look at in the mini calendar,
differentiating them from day numbers so it's easier to tell them apart.

The style is loosely inspired from GNOME Shell's calendar widget,
but retains GNOME Calendar's more compact layout.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/378
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/934
2023-12-13 20:33:58 -05:00
Hari Rana b270176d02 calendars-page: Add AdwClamp to contrain the size 2023-12-14 00:28:21 +00:00
Hari Rana 5a1fce406b calendar-management: Set width request
The minimum width of the dialog was really low, which would make it unreadable, so a width request is being set to set a reasonable minimum width.
2023-12-14 00:20:08 +00:00
Hari Rana 57cb3a7650 alarm-row: Remove GtkBox
Uses valign in all buttons, instead of using GtkBox
2023-12-14 00:11:56 +00:00
Felipe Kinoshita de0ad92bc7 about_window: Format debug information with markdown
This helps in the quick copy/paste aspect, removing the need to further
edit the debug info once copied into Gitlab's description.
2023-12-13 23:54:39 +00:00
Georges Basile Stavracas Neto 1043917ecf event-editor/time-selector: Don't change dropdown on callback
The 'update_time' function shouldn't try to update the dropdown,
as it is actually invoked by the dropdown itself. This causes a
cyclic loop with signal emission.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1133
2023-12-13 19:41:41 -03:00
Georges Basile Stavracas Neto 3b9bf55dd5 event-editor/time-selector: Properly diff times
Helps: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1133
2023-12-13 19:41:41 -03:00
Hari Rana 033fca7900 calendar-row: Mark string as translatable 2023-12-07 15:03:14 +00:00
Felipe Kinoshita be73ecf175 gcal-week-header: Stop using gtk_widget_get_allocation
gtk_widget_get_allocation is deprecated, let's use
gtk_widget_get_width/gtk_widget_get_height instead.
2023-12-05 21:09:23 +00:00
Hari Rana e7a61de5fc calendars-page: Add shortcuts for Add Calendar
The "Add Calendar" button lacked a mnemonic, which made it difficult for keyboard users to activate it. It also adds a Ctrl+N shortcut.
2023-12-04 19:46:10 -05:00
Hari Rana 8c53034864 a11y: Add labels for calendar pages 2023-12-04 18:40:57 +00:00
Hari Rana 2b9be229ea a11y: Add labels for search 2023-11-30 22:08:23 -05:00
Felipe Kinoshita 5a92b01c5f about_window: Add Debug Information
Libadwaita's about window widget let's expose debug information, that's
useful for bug reports, users can open up the about window and just
copy/paste debug information on the bug report.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1114
2023-11-29 21:55:30 +00:00
Felipe Kinoshita a6f3f130ff gcal-calendars-page: Move new calendar button to bottom toolbar
Currently, if you have lots of calendars you need to scroll all the way
to the bottom of list to have access to the "New Calendar" button.

This commit moves the "New Calendar" button to be on a bottom toolbar
provided by AdwToolbarView. It makes the button always on view and easy
to access.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1051
2023-11-29 21:38:53 +00:00
Felipe Kinoshita c7d2854986 gcal-week-grid: Stop using gtk_widget_get_allocation
gtk_widget_get_allocation is deprecated, let's use
gtk_widget_get_width/gtk_widget_get_height instead.
2023-11-29 07:08:14 -03:00
Felipe Kinoshita fc48929233 gcal-time-selector: Use GtkDropDown
GtkComboBoxText is deprecated, let's port it to the recommended Widget.
2023-11-25 11:51:10 -03:00
Georges Basile Stavracas Neto a944aafa00 gui/date-chooser: Use translated weekday abbreviations
It matches what GNOME Shell does, and makes the app more localizable.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1122
2023-11-17 13:47:48 -03:00
Daniel García Moreno adb56d9c29 event-editor: Do not apply section that doesn't changed
Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1028
2023-11-12 21:29:07 +01: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
Daniel Garcia Moreno 6afb5cf3a5 view: Fix daylight saving issue in week view
This patch fixes an issue when creating new events in week view the week
after the daylight saving change.

The problem was in the calc of the selected date, that's done couting
the 30 minutes slots and adding that minutes to the week_start datetime.
When there's a daylight saving change, the real date to select should be
adjusted. This patch adds a new util function to make it easy to add
minutes ignoring the tz so we can make this calc directly with
gcal_date_time_add_floating_minutes.

This also includes a new test file with some checks for the new util
function and spring / autumn changes.

This new function could be used in other places to fix specific issues
that could be caused by the same logic error, calculate a selection or
event position based on GDateTime operations.

Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/482
2023-11-09 13:17:20 +00:00
Hari Rana 518de4eb93 help-overlay: Add menu shortcuts 2023-11-07 19:05:12 +00:00
Hari Rana af6ea3bbda calendar-button: Add mnemonic for Manage Calendars 2023-11-07 18:56:30 +00:00
Georges Basile Stavracas Neto 82a6fa364e event-editor/date-selector: Use portal for week dates
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1022
2023-11-07 18:55:05 +00:00
Georges Basile Stavracas Neto ab714d6f39 gui/event-popover: Show at the top
Seems slightly less worse than showing at the sides of the event.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1006
2023-10-18 15:51:32 -03:00
Georges Basile Stavracas Neto 4fb2cd87b0 event-popover: Rework spacings
This allows the scrolled window to have infinite borders
2023-10-18 15:47:46 -03:00
Georges Basile Stavracas Neto ddaf0e17a4 views/month: Create timed ranges
This allows proper range comparisons.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1106
2023-09-28 13:21:30 -03:00
Georges Basile Stavracas Neto 3ff57f71e4 views/month: Dispose overflow popover 2023-09-28 11:52:40 -03:00
Georges Basile Stavracas Neto e9ab7effad calendar-management/edit: Remove unnecessary binding
This is handled by the C code now.
2023-09-28 11:52:11 -03: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
Georges Basile Stavracas Neto 27ee81b072 views/month: Only diff when current range exists
Right after bring created, the current date - and consequently
the range - is NULL. We shouldn't diff in this case.
2023-09-28 11:25:27 -03:00
Georges Basile Stavracas Neto 9a665a94c7 application: Add message when running as a service 2023-09-28 11:19:23 -03:00
Georges Basile Stavracas Neto 750c62d4f2 core/context: Use Settings portal for 24h setting
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1105
2023-09-23 02:54:09 -03:00
Georges Basile Stavracas Neto b26f33ea10 utils: Remove 24h utility function
The last user of this function is gone now.
2023-09-23 02:39:39 -03:00
Georges Basile Stavracas Neto 38108ffa7a event-widget: Fetch 24h setting from context
Instead of using the auxiliary function.
2023-09-23 02:39:07 -03:00
Georges Basile Stavracas Neto c8543aa822 views/week/header: Use en dash
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1107
2023-09-22 11:47:47 -03:00
Georges Basile Stavracas Neto a7f798a815 views/month: Use en dash
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1107
2023-09-22 11:45:47 -03:00
Georges Basile Stavracas Neto 77c908b394 event-widget: Properly unparent preview popover
GcalEventWidget currently doesn't track the preview popover, and
that can easily crash Calendar upon destruction.

Track that, and unparent on dispose.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/986
2023-09-14 12:09:11 -03:00
Georges Basile Stavracas Neto 8d79fe2ffd views/month: Demote assertion to regular check
We can have a NULL selection start, when starting the drag on the
header section.
2023-09-13 18:34:22 -03:00
Georges Basile Stavracas Neto 439b46af89 core/calendar-monitor: Remove g_autoptr from a variable
g_hash_table_lookup() is not transfer-full, so this g_autoptr + the
g_hash_table_remove() call end up double-unreffing the event, which
causes a crash.

Remove g_autoptr from the variable.
2023-09-13 17:51:34 -03:00
Georges Basile Stavracas Neto dd61f8ef6f views/month/row: Adjust for exclusive end date
Subtract a second from the end date so we can properly compare dates.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1098
2023-09-13 14:25:45 -03:00
Georges Basile Stavracas Neto 07c5b6280a core/calendar-monitor: Transfer event ownership properly
g_steal_pointer() is not enough, since the event is not declared
with g_autoptr.

Use g_object_ref().

Fixes: f7ee9279ad
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1097
2023-09-13 14:18:36 -03:00
Georges Basile Stavracas Neto a1810433ed core/timeline: Don't excise events from queue
When removing the last subscriber (something that can happen when
closing the main window), GcalTimeline clears the event queue. But
that leaves us in an inconsistent state, as we don't process any of
the potentially removed events.

Don't do that.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1087
2023-09-13 09:17:12 -03:00
Georges Basile Stavracas Neto f1767037ac views/month: Clear selection after showing overflow
This should prevent selection after clicking any overflow button.
2023-09-13 09:17:12 -03:00
Georges Basile Stavracas Neto ad34aa40fc views/month: Add header above week rows
Otherwise GTK4 will pick the rows, even when they're clipped.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1095
2023-09-09 20:14:39 -03:00
Sam Hewitt b7e04c561e style: Fix papercuts in the calendar cell style 2023-09-05 13:07:25 -02:30