Georges Basile Stavracas Neto
f1f9d83943
views/month: Implement get_children_by_uuid
...
Closes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1057
2023-08-14 14:57:51 -03:00
Georges Basile Stavracas Neto
1fd984306f
views/month: Animate discrete scrolls
...
When scrolling with a scroll wheel, animate towards a target
row. If multiple scrolls happen before the animation completes,
change the target row of the animation.
2023-08-13 18:37:12 -03:00
Georges Basile Stavracas Neto
8f04f40272
views/month: Factor out row offsetting in a function
...
And use it in the pixel-based variant.
2023-08-13 18:37:12 -03:00
Georges Basile Stavracas Neto
12a9e8193f
views/month: Rename a function
...
We'll introduce a variant of this function that operates directly
on row offsets, instead of pixel values.
2023-08-13 18:37:12 -03:00
Georges Basile Stavracas Neto
da2b7328e0
views/month: Implement event updates
...
Just do a stupid remove + add, which is far from ideal but will
be enough for the time being.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
95cc40d8a8
window: Use non-deprecated function
...
gtk_widget_compute_point() is the hot new thing.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
77f355ed53
month-cell: Small style improvements
...
As suggested by Allan.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
176f8f28a8
views/month: Show overflow popover when requested
...
Basically, all that we used to do, but written in a different
way for the new month view.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
15032b6d05
month-view-row: Add 'show-overflow' signal
...
It just proxies the day cell's signal.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
57fa7b2d48
window: Compare week for month view too
...
The new month view operates on week rows, so it makes sense to
perform the same check than that of the week view.
https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1063
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
d5a36d4ad2
view: Operate on ranges
...
This is the data struct we should be using everywhere now.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
80efa6fd26
style: Improve day cell visuals
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
9b343db339
views/month: Improve date calculation for cell style
...
Use the center the view as the date with which the day cells
are styled. This should be enough to highlight the month with
most days visible onscreen.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
e7846a6b9c
views/month-view: Change visuals of out-of-month day cells
...
This still looks like garbage becase of the rudimentary way we
compute the current date, but it's a start.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
7e26bd5649
views/dazzling: Make it *the* month view
...
And move the old one to the attic. I'll keep the files around for
a while.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
7f7f55826c
month-view-row: Implement RTL support
...
This was remarkably easy.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
5bc8fffc71
views/dazzling: Add cached events to shuffled row
...
Cached events won't be readded by the backend, because they're
alread present in the view, so we have to manually add them to
the rows.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
ac3998f07d
month-cell: Add padding beneath day number
...
We need to breathe!
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
ddfd3ae498
month-view-row: Slant edges of multiday events
...
When the start or end of the event block doesn't match the event's
range, add slanted edges.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
56d9040030
month-cell: Set sensitivitiness of the button
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
b9d4405e69
views/week-header: Check for NULL child
...
I'm not sure if this is actually correct, but I'm too tired to
think the week header through, so let's just be slightly more
protective for now.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
a743f6884e
month-cell: Start insensitive
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
030f370015
month-cell: Don't change inscription visibility
...
Let's just change the text and preserve the visibility of the
inscription.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
c2b07a5e0a
views/dazzling: Detect week changes, not months
...
The new month view operates on weeks
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
d2c606a221
views/dazzling: Actually use start date
...
Oopsie
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
83acb98f9e
views/dazzling: Make debug prints more useful
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
66cb36e855
views/dazzling-month-view: Implement differential date change
...
Should make the Today button work properly now.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
1c307de688
views/dazzling: Remove unused field
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
f9f9ccbb8c
month-view-row: Rewrite layout algorithm
...
Calculate event blocks upfront, in a way that is agnostic to
pixel sizes, and keep them alive as long the event is around.
Calculate which event blocks are visible at layout time, and
only set the child visibility of the event widgets, instead
of truly showing or hiding them. This makes size_allocate not
queue relayouts.
There are many opportunities for optimizations that we can
eventually land, but this seems to work decently so far.
RTL support is still missing.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
b775256ef8
views/month-cell: Use GtkInscription
...
It allows us to change text without causing a relayout.
This will be important later.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
a04b5da975
month-view-row: Remove unnecessary field
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
6382b1f383
month-view-row: Remove redundant check
...
All events of a row are, technically, in the same row!
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
cc51e88ed2
month-view-row: React to event visibility
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
3506100f5b
views/dazzling-month-view: Show event popovers
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
3a36f75877
views/dazzling-month-view: Tentatively support wheel scroll
...
Add a dedicated discrete scroll event controller, and ensure
each event controller handles the right types of events.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
3f0b1e57de
views/dazzling-month-view: Handle events
...
Most of the code is copied from GcalMonthView, so it sucks
slightly. But it seems to work reasonably well so far.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
7f57cfeb83
range: Add API to check if range contains datetime
...
This will be used by next commits to make some code
more legible.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
f8f2c10a8e
views/dazzling-month-view: Propagate context to rows
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
adaf735ada
views/month-view-row: Remove unused variables
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
d62bd1ae77
views/dazzling-month-view: Sketch timeline subscription
...
Right now it does nothing beyond reporting a range, but eventually
we'll populate this code.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
628d530ee5
window: Don't leave GcalDazzlingMonthView alone in the rain
...
It is now part of the family, and we can't just bully this view
like this anymore.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
f36fcbbbbd
views/dazzling-month-view: Notify active-date changes
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
72d4f45cd1
views/dazzling-month-view: Initialize on current date
...
Calling gcal_view_set_date() ensures that all week rows have
their ranges setup. This will be useful later.
2023-08-11 15:13:44 -03:00
Georges Basile Stavracas Neto
a527bbe5dc
views: Sketch out new month view
...
Nothing really works here, this is very WIP. It doesn't even show
events. Let's build from here.
2023-08-11 15:13:44 -03:00
Hari Rana
db8127e79a
calendar-row: Port to AdwActionRow
...
`AdwSwitchRow` doesn't allow us to add widgets before the switch as a suffix, which will be required for further use.
2023-08-07 23:15:22 +00:00
Georges Basile Stavracas Neto
3dc669f2ec
calendar-monitor: Set the right field when removing events
2023-08-07 14:51:52 +00:00
Georges Basile Stavracas Neto
04522b7817
core/calendar: Remove connection timeout
...
As per discussions, this is not really what we want here. There
already is offline caching and post-connection sync, so we want
to show events as soon as possible.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1027
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/569
2023-08-07 14:51:52 +00:00
Victoria Lacroix
b35212c88c
gcal-application: Ctrl+R to synchronize calendars
...
In !332 , there was some difficulty with having two accelerators for the
"Synchronize calendars" action, so the Ctrl+R accelerator was left out.
This commit adds the Ctrl+R accelerator to gcal-window.ui by specifying
it before the F5 accelerator. The result is that only F5 is shown as an
accelerator in the overlay menu, but Ctrl+R still works.
Ctrl+R was also added to help-overlay.ui, displayed alongside F5.
Fixes #1052
2023-08-06 11:08:35 -04:00
Hari Rana
c6aaf730b9
window: Add F5 shortcut for Synchronize Calendars
2023-08-04 19:05:15 -04:00
Hari Rana
f210382bdc
calendar-row: Port to AdwSwitchRow
2023-08-03 22:11:12 -04:00