Georges Basile Stavracas Neto
c609f281dc
gui/event-widget: Mark properties as explicit-notify
...
A small correctness change. Suggested by Hari.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:10 +00:00
Georges Basile Stavracas Neto
9ef437009f
gui/event-widget: Make event setter public
...
And make the "event" property read-write and not construct-only.
This will be useful for recycling event widgets later.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:09 +00:00
Georges Basile Stavracas Neto
3104f16f7c
gui/event-widget: Connect to signals using GSignalGroup
...
It'll make it easier when making the "event" property mutable later
on.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:09 +00:00
Georges Basile Stavracas Neto
e4d1fdf13c
gui/event-widget: Use more bindings in the UI file
...
Instead of manually connecting to signals and binding to properties
in code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/758 >
2026-05-19 22:20:09 +00:00
Georges Basile Stavracas Neto
32d962aa8d
gui/event-widget: Remove useless queue_draw
...
We use a label these days, no need for manual drawing code.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:36:48 -03:00
Georges Basile Stavracas Neto
c62af398e5
gui/event-widget: Remove unused fields
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:36:42 -03:00
Georges Basile Stavracas Neto
bfc4a7dc62
gui/event-widget: Use modern practices for properties
...
Use a property array, install them all at once, and notify using
g_object_notify_by_pspec().
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/761 >
2026-05-05 21:36:36 -03:00
Hari Rana
c507fb23af
gui/event-widget: Create activation signal and shortcuts from utility function
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/747 >
2026-05-04 10:42:02 +00:00
Jan-Michael Brummer
63879a0d63
event-widget: Truncate long strings by char not by bytes
...
Longer text were truncated by bytes instead of chars leading to
invalid text as UTF text sizes are bigger than one byte.
Fix it by using the correct utf8 offset pointer.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/750 >
2026-04-23 11:36:00 +00:00
Hari Rana
170bed7755
gui/event-popover: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:02 +00:00
Hari Rana
037ffd3700
gui/event-widget: Replace "context" property with context getter method
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702 >
2026-03-23 19:30:02 +00:00
Hari Rana
19171e5540
gui/event-widget: Position event popover to the pointer's
...
Currently, the event popover will always set its position to the
center of the event widget. This becomes an undesirable behavior
with long(er) event widgets, as clicking the edges will require
the user to physically move their pointer all the way to the
popover, which may be challenging depending on the distance.
This addresses this problematic behavior by positioning the popover
right above the pointer only when the event is a multi-day event,
and when the event widget is not inside a GtkListBox widget.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/677 >
2026-02-11 09:49:08 -05:00
Philipp S and Titouan Real
4e2ed18ffc
src/gui: Fade out event widget title label instead of ellipsizing
...
Co-Authored-By: Titouan Real <titouan.real@gmail.com >
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/657 >
2026-02-03 17:11:45 -03:00
Federico Mena Quintero
42b00ec052
Fix cut&paste error
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550 >
2025-08-27 19:59:16 -03:00
Federico Mena Quintero
72762ee11d
GcalEventWidget: remove the date-end property; it is unused
...
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550 >
2025-08-27 19:59:16 -03:00
Federico Mena Quintero
7a814cc1f3
Move explanatory comment
...
Analogous to date-start
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550 >
2025-08-27 19:59:16 -03:00
Federico Mena Quintero
6e10e746c3
GCalEventWidget: remove the date-start property; it is never used
...
Setting and getting the value always happens through
gcal_event_widget_set_date_start() and gcal_event_widget_get_date_start().
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550 >
2025-08-27 19:59:16 -03:00
Federico Mena Quintero
2f86a7a77b
Move explanatory comment
...
We'll remove the date-start property, so put its description in the
corresponding setter function.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550 >
2025-08-27 19:59:15 -03:00
Daniele Ziaco
1f86255e33
gcal-event-widget: Update labels when time-format changes
...
When the time format changes in Settings,
events in the week/month views did not update at runtime.
This connects the appropriate signal so the widget updates immediately.
Fixes #1373
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/625 >
2025-08-20 23:29:44 +00:00
Hari Rana
be0ba51481
gui: Replace dim-label with dimmed style class
...
`dim-label` is deprecated.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/624 >
2025-08-18 18:37:25 -04:00
Hari Rana
6ab0ef7386
gui/event-widget: Set child depending on the orientation
...
Commit https://gitlab.gnome.org/GNOME/gnome-calendar/-/commit/73abcf19b0e70fb6fdd45394169b00e21ea0734a
introduced a bug where it uses the wrong widget on
vertical orientation.
This patch fixes that bug by using the correct widget
for their respective orientation. It also removes the use of
AdwClamp, as it was clamping labels above a certain height requested.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1414
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/607 >
2025-06-30 15:00:59 -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
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
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
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
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
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
Brage Fuglseth
9007534114
i18n: Fix date format explanations for translators
...
The comments explaining date formatting to translators have a couple of typos related to the day name variables (%A and %a).
This commit fixes them.
Closes #1377
2025-03-01 13:30:45 +00:00
Titouan Real
0097ab9794
Mark date formats as translatable
...
Fix #1204
2025-02-06 16:49:10 +01:00
Georges Basile Stavracas Neto
75a42c7d83
event-widget: Truncate the correct string
...
I shouldn't write code in a hurry
2024-07-09 17:40:01 -03:00
Georges Basile Stavracas Neto
06bf58d5fa
event-widget: Don't modify translated strings
2024-07-09 17:35:48 -03:00
Otávio Silva
7cebd2bf95
event-widget: Use "On..." in tooltip when location is a meeting service
...
In the tooltip, the event location always has the preposition "At ...".
This changes it to "On ..." when the location is a known meeting
service.
2024-07-09 16:26:29 -03:00
Otávio Silva
f3359d0246
event-widget: Display meeting service name in event tooltip
...
In case the location is an URL, it is irrelevant to display the full
link,
as it is not clickable. So, this shows the meeting service provider if
it
is known or reduces the text in the tooltip, preventing it from covering
other information in the calendar.
Closes : #1232
2024-07-09 16:26:00 -03:00
Georges Basile Stavracas Neto
ac8c7d6c4f
gui/event-widget: Set weak ref on preview popover
...
So that when it's destroyed, the internal ref becomes NULL and we then
can safely call g_clear_pointer() on it.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1154
2024-02-18 17:25:42 -03: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
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
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
1bb834e110
event-widget: Properly dispose template children
2022-10-17 23:37:13 -03:00
Adrien Plazas
bed7f9e027
event-widget: Use .dim-label instead of a hard-coded opacity
...
This uses the standard opacity for events of lower importance and
ensures the opacity difference is lower in HighContrast, helping
accessibility.
2022-06-23 16:51:56 +00:00
Adrien Plazas
b68f7a0083
event-widget: Style overhaul
...
This reworks the style of the event widgets to make them match the
latest designs. This also supports the light and dark theme preferences
and fixes some spacing inconsistencies and errors.
- The orientation of events only affects how their content is laid out,
not their style.
- Events are fully colored accordingly to their calendar's color.
- Timed events have a semi-transparent background and a kind of opaque
knob on their left.
- Timed events have their text colored according to the theme.
- Lasting events are fully opaque, with no knob.
- Lasting events have their text colored according to their calendar's
color.
This purposefully leaves the indentation broken to help reviewing the
changes.
2022-06-22 12:49:38 +00:00
Adrien Plazas
cb439095a5
event-widget: Add the timestamp-policy property
...
This gives some control on what time is displayed on the widget. It will
be used to show the time of the end of an event in the agenda view.
2022-06-16 08:23:45 -03:00
Adrien Plazas
0d27b08803
event-widget: Set the squeezer's margin via CSS
...
This ensure the style is consistent and updates itself automatically as
the CSS classes change, and also makes the code simpler.
2022-06-16 08:23:45 -03:00
Adrien Plazas
2baa96d29f
event-widget: Properly overflow
...
This explicitely allows the hour widget and the content as a whole to
overflow horizontally, and hides what overflows, keeping the data within
the boundaries of the widget while still allowing it to reach very
narrow sizes without error messages.
This purposefully leaves the indentation broken to help reviewing the
actual changes.
2022-06-15 11:34:03 -03:00
Adrien Plazas
6b649b8ef7
event-widget: Use a vertical AdwSqueezer
...
This replaces the GtkStack and some custom code by a AdwSqueezer and way
less custom code to achieve the same result, making the code simpler.
2022-06-15 11:25:19 -03:00
Adrien Plazas
aecfebcc9d
Use gtk_widget_add/remove_css_class() where possible
...
This makes the code simpler and more idiomatic to GTK 4.
2022-05-10 13:01:25 +02:00
Georges Basile Stavracas Neto
132d4435f6
event-widget: Port to GTK4
2022-02-11 09:18:42 -03:00
Georges Basile Stavracas Neto
68160348dc
Introduce GcalEventPopover
...
GcalEventPopover gives a preview of the event, and handy access
to the event description and information. It also allows easily
joining meetings if any one if available.
The list of supported meeting URLs is small now, but I hope
more people will contribute as we go.
It is also possible to edit the event through an edit button.
2021-06-27 18:45:12 -03:00