Hari Rana
d1a8e072b2
event-editor/multi-choice: Add file name to header
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:51:09 -04:00
Hari Rana
5ca18c7a34
event-editor/multi-choice: Document public methods
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:51:07 -04:00
Hari Rana
a6015bd357
event-editor/multi-choice: Properly space out code
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:50:58 -04:00
Hari Rana
640308652b
event-editor/multi-choice: Comment code sections
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/603 >
2025-06-29 08:50:41 -04:00
Hari Rana
f40ed5b90c
reminders-section: Modernize popover
...
This makes the alarms popover look much closer to the AdwComboRow widget.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/399 >
2025-06-29 01:03:00 +00:00
Hari Rana
40cbf66c1b
gui/calendar-list: Turn row into a checkbox
...
Using a GtkCheckButton widget as a child as we've been doing was a
little bit too much, considering it was overachieving its use case.
Given the nature of a button, the widget was also capable of
being targetable, focusable, and activatable, which forces
a keyboard user to tab an additional time to get to the
next row in the list.
This patch introduces a new method by turning the entire row into a
check button widget, with an image widget that becomes visible or
invisible, which addresses the issues raised above. This also
avoids binding properties bidirectionally, as the image is only
used for decorative purposes.
https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542#note_2459629
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/588 >
2025-06-28 20:27:28 +00:00
Hari Rana
2ee31847fa
gui/event-widget: Use default value
...
The default value for GtkGestureSingle:button is 1:
https://docs.gtk.org/gtk4/property.GestureSingle.button.html
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/587 >
2025-06-28 14:01:11 -04:00
Hari Rana
73abcf19b0
gui/event-widget: Use AdwClamp
...
AdwSqueezer is deprecated.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/587 >
2025-06-28 14:01:11 -04:00
Hari Rana
e8249e9e43
gui/event-widget: Update pressed state
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/587 >
2025-06-28 14:01:08 -04:00
Hari Rana
96fef80ca2
gui/event-widget: Set has-popup accessible property to true
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/587 >
2025-06-28 13:49:16 -04:00
Hari Rana
73e1baad04
gui/event-widget: Set accessible role as toggle button
...
Since it's a toggleable button with a popup, it makes more sense
to set its accessible role as GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/587 >
2025-06-28 13:49:08 -04:00
Hari Rana
ff17056108
gui/event-widget: Use GtkBoxLayout
...
The GTK inspector would always target and inspect the `main_widget`
box rather than the parent widget, which became repetitive to keep
pressing the "Parent widget" button when working with accessibility,
as the parent widget contained the accessible properties and states.
GtkBoxLayout solves that by allowing us to get rid of the box
completely, which exclusively makes it inspect the widget we
actually want to target.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/587 >
2025-06-28 13:48:59 -04:00
Clockwork-Critter and Hari Rana
951062340f
views/gcal-view: Appropriately denote properties
...
Co-authored-by: Hari Rana <theevilskeleton@riseup.net >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/600 >
2025-06-22 08:50:19 -04:00
Clockwork-Critter and Hari Rana
90556c3881
views/gcal-view: Correct GcalView:context docs
...
The `GcalView:context` documentation denotes the incorrect information.
Co-authored-by: Hari Rana <theevilskeleton@riseup.net >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/600 >
2025-06-22 08:49:59 -04:00
Markus Göllnitz
05eb46511f
week-view: add border around scrolled main area for distiction from toolbar
...
Currently, at the top there is an always visible border
which, due to having the same colour as the drop shadow,
slightly interferes with how the drop shadow looks, while
more severely, the bottom bar's start is not easily
distinguishable from the week grid's end, as there is
no border at all.
Styling the scrolled content itself with a border
elegantly solves these two issues, because now a drop
shadow is drawn when scrolling in a direction is
possible, and a border is drawn otherwise.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1406
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/593 >
2025-06-11 06:14:13 +02:00
Jamie Gravendeel
c59965670d
window: Use closures for view button icons
...
Fixes #1405
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/591 >
2025-06-10 13:16:34 +02:00
Jamie Gravendeel
a509de8b1e
gui: Port to Blueprint
...
This was mostly done with `blueprint-compiler port`.
Since Blueprint doesn't know about custom templates, I had to manually change some values from strings to literals.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/567 >
2025-06-08 14:31:01 +02:00
Jamie Gravendeel
2aceaa816f
gui: Replace Pango attributes
...
Blueprint doesn't support Pango attributes.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/567 >
2025-06-08 12:47:12 +02:00
Markus Göllnitz
c03c501888
month-view: fix undershoot for new bottom bar
...
This adds the same styling as .undershoot-bottom would
while scrolling and adjusts the size allocation of month
rows, so that the top border of the month row right below
the last one is already visible.
Link: https://gitlab.gnome.org/GNOME/libadwaita/-/blob/649967044e269a0118ae09a9ff0ecba90cc58300/src/stylesheet/_drawing.scss#L57
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
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
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
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
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
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