Commit Graph
2992 Commits
Author SHA1 Message Date
Markus Göllnitz 7764b4dc0a window: reintroduce back and forward buttons
They reappear in the newest adaptive layout wireframes.

These were dropped in
54a8445abb ("window: Drop the back and forward buttons")

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/933

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz 4a4dce8ee3 views: add time direction property
The time direction property tells which orientation one
needs to scroll to change the time of the view. In these
directions (up/down v left/right) the new prev/next
buttons will be pointing.

The two buttons will be added in a subsequent commit,
and will gain view-dependent tooltips.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz d400048bc6 week-view: remove week, month, and year header
This provides only little benefit over the new navigation
button's label. Thus, it is not there in the here newly
implemented UI mock-ups.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz 1de447f7f3 month-view: remove month and year header
This header duplicates the month and year from the new
navigation button in the header.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz f06bc265cd window: rearrange month and week view
The mock-ups order these by coarse to fine time scales:
year > month > week / multi-day > day | agenda.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz b728e5beae window: reorganise top and bottom toolbars
This lets users directly launch the calendar dialogue
instead of sidebar in narrow mode.

It moves the view switcher to bottom when narrow.

This also makes the sidebar overlaid for an intermediate
step between narrow and always optionally visible sidebar.

Further, it moves the today button to bottom with the new
navigation button at its old location.

Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1007

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz 7904aba23c gui: introduce navigation button with date chooser
The navigation button provides access to a date chooser
at all times without requiring it to be permanently
visible, as done currently with the always-shown sidebar.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz df182ed942 calendar-button: change widget to standalone list for sidebar
The sync entry is dropped here in favour of one in the
main menu.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz dec31cadd4 views: move agenda view to main area
This prepares for multiple views to be there for mobile
users, and is the location at which a dedicated agenda
view for desktop will be, once the current agenda view
is refactored to suit desktop use-cases better.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz 07a6a077cb window: replace sidebar with overlay sidebar
When collapsed, there is no navigation required nor
wanted. Instead, this allows to have an intermediate
breakpoint at which the sidebar is still used, but
overlaid instead of shown side-by-side.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz 26db7e1627 window: only allow changing to visible view
As of now, every view is visible. That however, will
change with a subsequent commit moving the agenda view to
the main area and introducing breakpoint-dependent view
visibilities.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz 3dce4414a8 enums+window: make GcalWindowView iterators order and length agnostic
Currently, iterators over the GcalWindowView enum relied
on knowing the first and last enum value. But we know,
without knowing which is the first, that an enum in C
will assign 0 to its first value if not otherwise
specified.

And with the trick of a new end value similar to N_PROPS,
we can determine the amount of available window views
without relying on know which it is.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Markus Göllnitz 55df257ed1 window: remove unnecessary single-childed Gtk.Box
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542>
2025-06-08 09:59:00 +00:00
Philipp S 74c17a7126 views/week: Align hour bar labels at the top
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/572>
2025-05-30 14:28:39 +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 2eec02b76a gui/views/month-view: Initialize two variables
The static analizer can't figure out that they will always be initialized
by the for loop in this function.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero ef8c6ff55d utils/source-discoverer: Use temporary variable only when tracing is enabled
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero a3ddd8e510 gui/views/month-view: Mark variable as unused
It's just a temporary reference that will get removed at function exit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero 3c38a272b8 gui/importer/import-dialog: Remove superfluous assignment
The variable is initialized where it is declared.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero 8c2daf672b gui/importer/import-dialog: Remove an unused variable
Looks like a cut&paste error.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero b03eabb7b7 gui/event-widget: Mark a variable as unused
The actual parsed guri is unused here; the code just does the parsing
as a way to tell whether the event's location refers to a URI/service
or not (e.g. a physical location or address).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero 172f07c44e gui/views/week-grid: Remove superfluous assignment
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero e56ce53ea5 gui/views/week-header: Remove superfluous assignment
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero 81c8900076 gui/views/week-header: Remove unused variable
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +00:00
Federico Mena Quintero bc53f169eb gui/views/week-header: Remove unused variable
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
2025-05-28 18:08:54 +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
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
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