Georges Basile Stavracas Neto
5f86b88c3b
views/month: Increase overflow popover min width
...
Makes it so that it's at least 1.25 the width of a day cell, and at
most 1.5 of that.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1166
2024-08-13 16:25:45 +00:00
Georges Basile Stavracas Neto
2b85b9c680
views/month: Rename a variable
...
Makes it clearer that this is the day cell.
2024-08-13 16:25:45 +00:00
Georges Basile Stavracas Neto
54657788d0
views/month: Use variables some more
...
Makes it easier to reason about the if conditions there.
2024-08-13 16:25:45 +00:00
Georges Basile Stavracas Neto
74eb734a12
Post-release version bump
2024-08-05 14:25:34 -03:00
Georges Basile Stavracas Neto
9a13378d7c
47.beta
2024-08-05 13:31:14 -03:00
Georges Basile Stavracas Neto
147acf8ff1
Post-release version bump
2024-07-25 11:10:06 -06:00
Georges Basile Stavracas Neto
5d0d764c09
47.alpha
2024-07-25 11:08:23 -06: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
Georges Basile Stavracas Neto
ae03627f0c
utils: Port to AdwAlertDialog
2024-07-09 17:09:29 -03:00
Georges Basile Stavracas Neto
5a0aef6def
tests: Disable a pair of tests
...
They're failing CI, I don't know why, and I'm afraid it's not really
related to GNOME Calendar itself. So just disable them for now.
2024-07-09 19:04:46 +00:00
Georges Basile Stavracas Neto
b1a8720384
build: Properly sort tests alphabetically
2024-07-09 19:04:46 +00:00
Georges Basile Stavracas Neto
de5f663373
style: Use CSS variables for event widget styling
...
This vastly simplifies the code!
2024-06-11 17:22:35 -03:00
Georges Basile Stavracas Neto
00919f6305
build: Depend on GTK4 >= 4.15.2
...
We'll start using CSS variables
2024-06-11 17:21:57 -03:00
Georges Basile Stavracas Neto
eced2151aa
calendar-management/edit: Use external-link-symbolic icon
...
As per mockups.
2024-05-02 14:54:43 -03:00
Georges Basile Stavracas Neto
9add430c30
calendar-management/edit: Always show calendar location
...
As per mockups.
See https://gitlab.gnome.org/Teams/Design/app-mockups/-/issues/102
2024-05-02 14:54:43 -03:00
Georges Basile Stavracas Neto
41390a246e
build: Bump minimum libadwaita version to 1.6.alpha
2024-05-01 11:10:23 -03:00
Georges Basile Stavracas Neto
0228df3bc9
calendar-management/page: Remove unused vfuncs
2024-05-01 10:45:57 -03:00
Georges Basile Stavracas Neto
57ba8e2bf1
calendar-management: Rework page interface
...
Make GcalCalendarManagementPage require implementors to be
AdwNavigationPages
2024-05-01 10:44:16 -03:00
Georges Basile Stavracas Neto
7bbd144b56
Post-branching version bump
2024-04-21 19:51:05 -03:00
Georges Basile Stavracas Neto
d8a2f70cd4
46.1
2024-04-21 19:45:31 -03:00
Georges Basile Stavracas Neto
36c05e7650
Post-release version bump
2024-03-18 12:13:30 -03:00
Georges Basile Stavracas Neto
64f2fb7b4d
46.0
2024-03-18 12:10:37 -03:00
Georges Basile Stavracas Neto
ef91ca2856
Post-release version bump
2024-03-05 09:11:32 -03:00
Georges Basile Stavracas Neto
7191987bbc
46.rc
2024-03-05 08:59:28 -03:00
Georges Basile Stavracas Neto
cbe89a9daa
gui/event-editor: Rework calendars menu
...
Use a GtkListBox and bind from the model. Create rows from the model
items, and bind properties as needed.
The action target is set only when the calendar is writable because
setting an invalid action+target pair makes the row insensitive.
Remove the ancient menu icon hack.
2024-03-01 00:39:42 -03:00
Georges Basile Stavracas Neto
4795999092
Revert "event-editor: Revert "New Event" string back to "Unnamed Event""
...
This reverts commit 18da9c9f3b .
2024-02-25 14:32:07 -03:00
Georges Basile Stavracas Neto
18da9c9f3b
event-editor: Revert "New Event" string back to "Unnamed Event"
2024-02-25 13:18:06 -03:00
Georges Basile Stavracas Neto
1257af8b89
Post-release version bump
2024-02-24 17:58:17 -03:00
Georges Basile Stavracas Neto
e688acbd16
46.beta1
2024-02-24 17:55:35 -03:00
Georges Basile Stavracas Neto
b82f0165c1
46.beta
2024-02-24 17:52:49 -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
1114e566d9
style: Update month border colors
...
Use a defined color for that, and make them more in line with the
Adwaita style.
2024-01-27 13:36:28 -03:00
Georges Basile Stavracas Neto
350cc6479f
window: Use adw_dialog_present() everywhere
2024-01-27 12:53:22 -03:00
Georges Basile Stavracas Neto
26c71e18f6
event-editor: Use adw_dialog_close() to hide
2024-01-27 12:53:10 -03:00
Georges Basile Stavracas Neto
df8526f471
event-editor: Cleanup some code
...
Remove the constructed() override, we can do that in init().
2024-01-27 12:40:23 -03:00
Georges Basile Stavracas Neto
b52b27eace
event-editor: Turn into an AdwDialog
2024-01-27 12:38:35 -03:00
Georges Basile Stavracas Neto
72d3caaf94
calendar-management: Make it an AdwDialog
...
So it can behave like a bottom sheet when collapsed.
2024-01-27 12:32:12 -03:00
Georges Basile Stavracas Neto
b42f3d46d4
build: Depend on libadwaita 1.5.alpha
2024-01-27 12:32:12 -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
1043917ecf
event-editor/time-selector: Don't change dropdown on callback
...
The 'update_time' function shouldn't try to update the dropdown,
as it is actually invoked by the dropdown itself. This causes a
cyclic loop with signal emission.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1133
2023-12-13 19:41:41 -03:00
Georges Basile Stavracas Neto
3b9bf55dd5
event-editor/time-selector: Properly diff times
...
Helps: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1133
2023-12-13 19:41:41 -03:00
Georges Basile Stavracas Neto
a944aafa00
gui/date-chooser: Use translated weekday abbreviations
...
It matches what GNOME Shell does, and makes the app more localizable.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1122
2023-11-17 13:47:48 -03:00
Georges Basile Stavracas Neto
82a6fa364e
event-editor/date-selector: Use portal for week dates
...
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1022
2023-11-07 18:55:05 +00:00
Georges Basile Stavracas Neto
bed4c9b62c
Post-branching version bump
2023-10-23 10:15:46 -03:00
Georges Basile Stavracas Neto
e91eccffde
Post-release version bump
2023-10-23 10:15:14 -03:00
Georges Basile Stavracas Neto
a40ddb658c
45.1
2023-10-23 10:12:32 -03:00
Georges Basile Stavracas Neto
ab714d6f39
gui/event-popover: Show at the top
...
Seems slightly less worse than showing at the sides of the event.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1006
2023-10-18 15:51:32 -03:00
Georges Basile Stavracas Neto
4fb2cd87b0
event-popover: Rework spacings
...
This allows the scrolled window to have infinite borders
2023-10-18 15:47:46 -03:00
Georges Basile Stavracas Neto
ddaf0e17a4
views/month: Create timed ranges
...
This allows proper range comparisons.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1106
2023-09-28 13:21:30 -03:00
Georges Basile Stavracas Neto
3ff57f71e4
views/month: Dispose overflow popover
2023-09-28 11:52:40 -03:00
Georges Basile Stavracas Neto
e9ab7effad
calendar-management/edit: Remove unnecessary binding
...
This is handled by the C code now.
2023-09-28 11:52:11 -03:00
Georges Basile Stavracas Neto
80a258c705
core/timeline: Use g_clear_handle_id
...
Saves us a few lines of code.
2023-09-28 11:33:30 -03:00
Georges Basile Stavracas Neto
96625ec595
core/calendar-monitor: Protect against NULL range
2023-09-28 11:33:02 -03:00
Georges Basile Stavracas Neto
27ee81b072
views/month: Only diff when current range exists
...
Right after bring created, the current date - and consequently
the range - is NULL. We shouldn't diff in this case.
2023-09-28 11:25:27 -03:00
Georges Basile Stavracas Neto
9a665a94c7
application: Add message when running as a service
2023-09-28 11:19:23 -03:00
Georges Basile Stavracas Neto
750c62d4f2
core/context: Use Settings portal for 24h setting
...
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1105
2023-09-23 02:54:09 -03:00
Georges Basile Stavracas Neto
b26f33ea10
utils: Remove 24h utility function
...
The last user of this function is gone now.
2023-09-23 02:39:39 -03: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
c8543aa822
views/week/header: Use en dash
...
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1107
2023-09-22 11:47:47 -03:00
Georges Basile Stavracas Neto
a7f798a815
views/month: Use en dash
...
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1107
2023-09-22 11:45:47 -03:00
Georges Basile Stavracas Neto
a25cd4fec7
Post-release version bump
2023-09-18 09:07:26 -03:00
Georges Basile Stavracas Neto
619d95c336
45.0
2023-09-18 09:04:06 -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
8d79fe2ffd
views/month: Demote assertion to regular check
...
We can have a NULL selection start, when starting the drag on the
header section.
2023-09-13 18:34:22 -03:00
Georges Basile Stavracas Neto
439b46af89
core/calendar-monitor: Remove g_autoptr from a variable
...
g_hash_table_lookup() is not transfer-full, so this g_autoptr + the
g_hash_table_remove() call end up double-unreffing the event, which
causes a crash.
Remove g_autoptr from the variable.
2023-09-13 17:51:34 -03:00
Georges Basile Stavracas Neto
dd61f8ef6f
views/month/row: Adjust for exclusive end date
...
Subtract a second from the end date so we can properly compare dates.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1098
2023-09-13 14:25:45 -03:00
Georges Basile Stavracas Neto
07c5b6280a
core/calendar-monitor: Transfer event ownership properly
...
g_steal_pointer() is not enough, since the event is not declared
with g_autoptr.
Use g_object_ref().
Fixes: f7ee9279ad
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1097
2023-09-13 14:18:36 -03:00
Georges Basile Stavracas Neto
a1810433ed
core/timeline: Don't excise events from queue
...
When removing the last subscriber (something that can happen when
closing the main window), GcalTimeline clears the event queue. But
that leaves us in an inconsistent state, as we don't process any of
the potentially removed events.
Don't do that.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1087
2023-09-13 09:17:12 -03:00
Georges Basile Stavracas Neto
f1767037ac
views/month: Clear selection after showing overflow
...
This should prevent selection after clicking any overflow button.
2023-09-13 09:17:12 -03:00
Georges Basile Stavracas Neto
ad34aa40fc
views/month: Add header above week rows
...
Otherwise GTK4 will pick the rows, even when they're clipped.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1095
2023-09-09 20:14:39 -03:00
Georges Basile Stavracas Neto
9ace504ec4
Post-release version bump
2023-09-02 10:35:15 -03:00
Georges Basile Stavracas Neto
42df20b904
45.rc
2023-09-02 10:33:32 -03:00
Georges Basile Stavracas Neto
5503e5ca50
views/month: Handle reduced animations setting
...
Move rows slightly faster in that case.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1080
2023-09-02 10:28:39 -03:00
Georges Basile Stavracas Neto
20ad7f3676
views/month: Reset offset when animation is done
2023-09-02 10:26:41 -03:00
Georges Basile Stavracas Neto
b0813fb605
month-view-row: Clamp last cell to [first cell, 6]
...
This is not ideal but it's what we've got for now.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1083
2023-09-02 10:26:41 -03:00
Georges Basile Stavracas Neto
e3a350126b
gui/month-cell: Accept drops from other months
...
We support that now fairly easily, let's enable it.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1077
2023-08-25 18:07:04 -03:00
Georges Basile Stavracas Neto
f6c4fe108d
core/calendar-monitor: Join view thread in dispose
...
Joining the calendar view thread in finalize is too late; dispose
is an earlier phase, and recoverable.
Do that.
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1085
2023-08-25 17:18:16 -03:00
Georges Basile Stavracas Neto
d8742df706
core/calendar-monitor: Remove unnecessary g_main_loop_quit()
2023-08-23 11:25:59 -03:00
Georges Basile Stavracas Neto
ef1f154c7a
core/shell-search-provider: Check for pending search
...
Now that GcalTimeline properly notifies about the complete state,
it uncovered an issue where GcalShellSearchProvider was dereferencing
a NULL pointer.
Protect against that.
2023-08-23 11:19:10 -03:00
Georges Basile Stavracas Neto
b32353e0ed
core/timeline: Update completed when adding or removing
...
We need to do that, so we can keep properly keep the complete
property up-to-date.
2023-08-23 11:19:10 -03:00
Georges Basile Stavracas Neto
0eb3ebb1fa
core/timeline: Track complete state differently
...
Don't try and track the number of completed calendars; instead,
recalculate the completed state from scratch every time. This
is not a performance concern, as we're dealing with at most some
hundreds of calendars.
2023-08-23 11:19:10 -03:00
Georges Basile Stavracas Neto
f16b0a1563
core/calendar-monitor: Assert more startup conditions
...
The calendar view thread can start spinning its own mainloop
before g_thread_new() returns, and in that case we have a NULL
thread.
Check that either the GThread is what we expect it to be, OR,
the thread is NULL and there are no messages in the queue.
2023-08-23 10:17:01 -03:00
Georges Basile Stavracas Neto
8403052d88
core/calendar-monitor: Initialize and clear mutex
...
An oversight from previous commits
2023-08-23 10:11:13 -03:00
Georges Basile Stavracas Neto
373da242d0
core/calendar: Ensure notify happens in main thread
...
The notify signals of ESourceSelectable seem to come from the
ESourceRegistry thread, and this has the potential to derail
the execution of Calendar. This might be true for all signals
we connect to.
Make sure to always emit notify signals on the main thread.
2023-08-23 09:33:01 -03:00
Georges Basile Stavracas Neto
42de771c24
core/calendar-monitor: Join thread before NULLifying it
...
This allows the threading macros to compare against the correct
value.
2023-08-23 09:33:01 -03:00
Georges Basile Stavracas Neto
6f45dcc26f
core/calendar: Notify about the right property
...
When we change colors, notify about colors, not the name.
2023-08-22 17:28:13 -03:00
Georges Basile Stavracas Neto
9e341d87e4
core/monitor: Assert we're in the right thread
...
Right now everything works as expected, but this should catch cases
where we're running functions on the wrong thread.
2023-08-22 17:25:56 -03:00
Georges Basile Stavracas Neto
df66e484a7
core: Add global threading utility
...
For now, we only store what's the main thread of the program.
2023-08-22 17:25:56 -03:00
Georges Basile Stavracas Neto
9e3a727eb7
Post-release version bump
2023-08-18 12:53:01 -03:00
Georges Basile Stavracas Neto
a489b76a68
45.beta
2023-08-18 12:50:25 -03:00
Georges Basile Stavracas Neto
970ece7814
Bump release version to 45.beta
...
I missed the alpha release :/
2023-08-18 12:01:35 -03:00
Georges Basile Stavracas Neto
da84b727b3
core/subscriber: Pass old event on update
...
Now that we keep precise control over GcalEvent instances, and
can use simple pointer comparisons everywhere, GcalMonthView
implemented its update function as a simple remove + add pair.
The problem is that we're not passing the old event instance,
so removals never actually happen, since the new instance is
not yet available to subscribers.
Pass old event in additio to the new one, and use it where it
makes sense.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1073
2023-08-18 10:41:41 -03:00
Georges Basile Stavracas Neto
60223adc5c
core/calendar-monitor: Replace signals by callbacks
...
This should save quite some resources when manipulating events.
Signals are relatively expensive, and 2 pointer chases are
definitely better than a global lock + FFI stashing + signal
manipulation.
2023-08-18 10:41:18 -03:00
Georges Basile Stavracas Neto
ec840fbab9
style: Improve selection visuals of month cells
...
Add specific CSS rules for the selected state, and make it a bit
more prominent.
2023-08-17 21:22:49 -03:00
Georges Basile Stavracas Neto
bd989aae66
views/month: Implement event creation flow
...
Add a click gesture to detect when we have to start monitoring
cursor motion. Also add a motion event controller to react to
cursor motion, and enable and disable the this motion controller
on button press and release, respectively.
Selection is implemented as a pair of GDateTimes stored in the
month view struct. Whenever a selection begins, the start date
is set; the end date is only set when moving the cursor. It is
valid to have a start of the selection, and no end (meaning, a
1 day selection); it is, however, forbidden to have an end but
not a start.
Future improvements can be added later, such as scrolling when
moving the cursor close to the edges of the month view. We're
gonna have to live without that for now though.
Implement the GcalView.clear_marks vfunc now that we have a
selection to operate on.
2023-08-17 21:13:54 -03:00
Georges Basile Stavracas Neto
ded56392ef
views/month: Use inclusive week end to format title
...
Otherwise we end up with D+1 in the last date.
2023-08-17 19:41:55 -03:00
Georges Basile Stavracas Neto
0e4c4d5177
views/month: Use month and year rangers in titles
2023-08-17 18:46:52 -03:00
Georges Basile Stavracas Neto
632484b719
month-cell: Cleanup unused function
...
We handle weather internally now, no need to expose a function to
set that.
2023-08-17 18:28:30 -03:00
Georges Basile Stavracas Neto
f344241a1a
weather-service: Cleanup unused method
2023-08-17 18:28:30 -03:00