Commit Graph
5179 Commits
Author SHA1 Message Date
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
Federico Mena Quintero 384411b33a Increase the required version of glib to 2.80.0
We'll need this for G_MUTEX_AUTO_LOCK().  It basically does

  g_autoptr (GMutexLocker) G_GNUC_UNUSED var = g_mutex_locker_new (mutex)

which will let us remove static-scan's warnings about assigned
variables that are never read, e.g. it complains about "locker" here:

    g_autoptr (GMutexLocker) locker = g_mutex_locker_new (&priv->shared.mutex);

The whole point of GMutexLocker is to be used with g_autoptr for a
mutex that is unlocked when its scope ends.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Vasil Pupkin 6c38c00156 Update Belarusian translation 2025-05-28 09:57:03 +00:00
Federico Mena Quintero 7d869ed4e8 CI: copy the scanbuild directory from the correct place
Ninja's scan-build command creates a directory with an ugly unique
name.  So, we copy it to a well-known "scanbuild" directory instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/580>
2025-05-27 13:42:19 +00:00
fossdd 868bd46e75 desktop: List compatible form factors
List the form factors the app was designed for in the desktop
file. This is so desktop environments like Phosh and Plasma Mobile
can show or hide the app in the correct contexts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/573>
2025-05-27 00:56:09 +00:00
Titouan Real 69f8b1821a general: Remove dead code
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/578>
2025-05-27 00:48:02 +00:00
Federico Mena Quintero a00c72b139 Add an index.html landing page for GitLab pages
For https://gnome.pages.gitlab.gnome.org/gnome-calendar/
2025-05-26 18:39:08 -06:00
Federico Mena Quintero 1a232ba811 CI: Add a static-scan job
This will run static analysis and publish the report on

  https://gnome.pages.gitlab.gnome.org/gnome-calendar/scanbuild
2025-05-26 18:39:08 -06:00
Federico Mena Quintero 9c7315a66a CI: Add a test coverage job
This uses grcov internally to generate the HTML report.  We use grcov
instead of, say, lcov, because grcov actually generates accessible
pages.

We use the gnome-build-meta:core-nightly container image.  It doesn't
contain grcov by default, but we download the binary from its github
page.  We can change this later to build a custom container image for
gnome-calendar's own CI.

This will publish the report on

  https://gnome.pages.gitlab.gnome.org/gnome-calendar/coverage/
2025-05-26 18:13:55 -06:00
Titouan Real 9aa3497202 calendar-management: Use callbacks to apply changes 2025-05-24 16:39:59 +02: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
Hari Rana 6cd138974f views/week-header: Port to gtk_widget_compute_point
`gtk_widget_translate_coordinates` is deprecated.
2025-05-21 01:21:38 -03:00
Hari Rana 2bfa881c2d views/week-grid: Port to gtk_widget_compute_point
`gtk_widget_translate_coordinates` is deprecated.
2025-05-21 01:21:38 -03:00
Hari Rana a25b129643 views/month: Disallow moving focus out of the view with arrow keys 2025-05-21 01:17:33 -03:00
Hari Rana ed1db0bf72 views/month: Move out of the view when pressing tab
This makes it so the user can easily skip the entire month view
by pressing tab within the month view. This means, events can only
be accessed with arrow keys in the month view.
2025-05-21 01:14:17 -03:00
Hari Rana 1ab79d0cc8 views/month: Set all non-visible rows as unfocusable
When tabbing into the month view, the keyboard focus would go
to the first week row in the widget hierarchy, rather than the
visible row. Setting the `GtkWidget:can-focus` property to
FALSE on every non-visible row only allows keyboard focus
within the visible rows.
2025-05-21 01:13:38 -03:00
Hari Rana 8c02d0ce24 views/month: Use macros for first and last visible row indexes 2025-05-20 22:33:43 -04:00
Titouan Real cbaa0c8e83 gui/application: Add myself as a developer 2025-05-18 23:25:45 +02:00
Philipp S 784375dedc gui/application: Add myself as a designer 2025-05-07 17:35:10 +00:00
Hari Rana 3d7197d3cd gui/window: Set parent widget as last focus when event widget is unfocusable
When selecting an event with a pointer, the keyboard-focused widget
was being set instead of the last focus widget, which was
then refocused after the event popover closed.

This patch fixes that bug by only setting the parent widget as
the last focus widget if the event widget itself is unfocusable,
like in the agenda view. The `GtkWidget:focus-on-click` property
is already enabled, so it takes care of refocusing the event
widget if it's focusable.

Commit https://gitlab.gnome.org/GNOME/gnome-calendar/-/commit/a3fb57939a307f5b661cc2f205e562f43a0a31fa
technically fixed https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/915,
but this patch solidifies the commit.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/915
2025-05-05 12:05:41 -04: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
Asier Saratsua Garmendia 798fca10af Update Basque translation
(cherry picked from commit a1812a54200b15ab1d4b21ad3dfed8daff8781b2)
2025-05-02 08:03:17 +00:00
Zoey 1c7760bd89 Reuse day_of_month to check if date of month is 1 2025-05-01 18:27:05 +01:00
Rūdolfs Mazurs 82e39ecc00 Update Latvian translation
(cherry picked from commit 8c951e9785708cf2fd7f1b90a2bd921264ac338d)
2025-05-01 15:24:15 +00:00
Hari Rana 02a7b13043 gui/event-widget: Add focus ring 2025-04-30 21:44:46 -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
Hari Rana 0aaf13626c views/agenda: Only focus rows
This is to avoid selecting the event widget twice, while still
being able to use the GtkListBoxRow's features.
2025-04-30 21:43:43 -03:00
Hari Rana a3fb57939a gui/event-widget: Implement button features
This implements button functionality to make it able to focus
and activate it. This also sets the appropriate accessibility
role and labels/descriptions.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1036
2025-04-30 21:23:44 -03:00
Martin 7e406abd47 Update Slovenian translation 2025-04-27 08:06:20 +00:00
Piotr Drąg aa11377304 Update POTFILES.in 2025-04-25 22:35:40 +02:00
Scrambled 777 dc4c43187b Update Hindi translation 2025-04-23 17:29:52 +00:00
Vishruth-Thimmaiah 749d7e96e8 gcal-week-grid: Make DnD highlight area height match event's duration
Fixes issue #1341
2025-04-21 19:40:30 +00:00
TitouanReal 33aae54b32 utils: Recognize more services from location URLs 2025-04-21 19:38:30 +00:00
Hari Rana 336ecd9ec3 css: Add focus ring custom properties
The values were mostly copied from libadwaita's, but with the
intention to easily add focus rings to custom widgets if desired.
2025-04-21 13:32:50 -04:00
Hari Rana a09c02591e event-editor/notes: Add height-request
The larger physical size of the text view helps convey that it's
a text box, and not a regular button or list box row.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1081
2025-04-21 13:32:49 -04:00
Hari Rana 445000b3cc event-editor/notes: Add 'focused' CSS class when focused
This mimics what GtkEntryRow does, and allows for an always visible
focus ring when the notes text view has focus.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1081
2025-04-21 13:32:49 -04:00
Hari Rana 140dd3b145 event-editor/notes: Make it an AdwPreferencesRow 2025-04-21 13:32:45 -04:00
Hari Rana 9281b1b964 css: Use CSS variables for linear gradients 2025-04-19 15:49:02 -04:00
Hari Rana 155664b67c css: Rewrite monthcell section 2025-04-19 10:40:26 -04:00
Hari Rana 5cd917f0ed css: Consistently indent CSS 2025-04-18 23:30:37 -04:00
Hari Rana aa343688cd css: Adjust placements to avoid re-declaring properties 2025-04-18 23:29:24 -04:00
Hari Rana c24c486130 css: Remove unnecessary declarations 2025-04-18 23:29:24 -04:00
Hari Rana 53bb697812 css: Port to custom properties 2025-04-18 23:29:17 -04:00
Takayuki KUSANO 46e6a4141f Update Japanese translation 2025-04-16 11:39:01 +00:00
arujjval 5461fa88b9 added automatic cleanup link in hacking.md 2025-04-09 15:42:52 +00:00
Titouan Real 931254c2a4 common/date-chooser: Housekeeping
Add some assertions and comments
2025-04-09 15:35:20 +00:00
Titouan Real 303cba1622 gui: Move DateChooser to common
DateChooser is used both by the event editor and the main window.
Moving it to common for a better file organization.
2025-04-09 15:35:20 +00:00
Titouan Real 0aa0619e99 gui: Move CalendarComboRow to common
CalendarComboRow is used both by the event editor and the importer.
Moving it to common for a better file organization.
2025-04-09 15:35:20 +00:00