Commit Graph
1174 Commits
Author SHA1 Message Date
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
Zoey 1c7760bd89 Reuse day_of_month to check if date of month is 1 2025-05-01 18:27:05 +01: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
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
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
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
Adrien Plazas 97791dbb99 weather-settings: Drop error style on empty search
This prevents an empty search entry from having the error style,
otherwise typing in it just once and not finding a location will keep
the entry red until the app is started anew.
2025-04-09 15:32:20 +00: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
Titouan Real 8a5ccf0944 gui/calendar-management: Remove default calendar row 2025-03-19 22:58:35 +00: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 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 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 44e12da104 gui/event: Initialize autoptr variables
A good practice in general.
2025-03-19 12:21:13 -03:00
Titouan Real 9f0274c5e6 event-editor: Make all-day/time-slot toggles the same width 2025-03-12 12:59:34 +00:00
Georges Basile Stavracas Neto bebfe587e1 views/month: Add missing GCAL_EXIT 2025-03-11 17:52:15 -03:00
Georges Basile Stavracas Neto de342e5606 gui/event-widget: Properly handle read-only events
Handle it internally, as it should be.
2025-03-11 17:52:14 -03:00
Georges Basile Stavracas Neto 03e6e39433 views/month: Rebuild layout blocks at once per frame
Instead of rebuilding them all every time an event is added or removed,
rebuild it once per frame. In case the month view isn't visible, don't
do anything, and wait until it's mapped to actually rebuild the event
blocks.

Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1381
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1125
2025-03-11 17:52:14 -03:00
Georges Basile Stavracas Neto 67a6d0a002 views/month: Cosmetics 2025-03-11 15:22:51 -03:00