Commit Graph
558 Commits
Author SHA1 Message Date
makiolaj 9588698874 Keep 12-hour times whole in timeline blocks and let the range use the spare lines 2026-09-30 19:34:23 +02:00
makiolaj fad4359857 Run split month expand in one pager and smooth the collapse (#111, #184) 2026-09-30 18:53:49 +02:00
makiolaj a66227bd20 Open timelines on the visible hours from other views (#322) 2026-09-30 18:53:49 +02:00
makiolaj eaa938277b Soften today's month cell tint (#241) 2026-09-30 18:53:48 +02:00
makiolaj d387f3d7bf Merge 2.22.0 work into back preview (#185) 2026-09-30 14:08:04 +02:00
makiolaj 422904c9b9 Merge 2.22.0 work into view morph (#184) 2026-09-30 13:57:59 +02:00
makiolaj 51b9c56c3c Refine view switching and timeline morph (#184) 2026-09-30 13:28:47 +02:00
makiolaj 7492888b1a Prioritize multi-day events across calendar views (#291) 2026-09-30 13:26:29 +02:00
makiolaj 21c770afb3 Open week view from month week numbers (#197) 2026-09-30 13:23:37 +02:00
makiolaj 705835a66f Highlight today in the month grid (#241) 2026-09-30 13:19:05 +02:00
makiolaj 596f76bbaa Open split day list from Pages month style (#111) 2026-09-30 13:15:32 +02:00
makiolaj d471255340 Show month agenda by default in split view (#142) 2026-09-30 13:11:21 +02:00
makiolaj bd04f7692c Let translators localise the Calendar launcher name (#251) 2026-09-30 12:50:01 +02:00
makiolaj 26de9d369d Fix the zone named in an all-day reminder test comment (#308) 2026-09-30 12:49:49 +02:00
makiolaj 27e5b41038 Say today or tomorrow in all-day reminders too (#308) 2026-09-30 12:49:49 +02:00
makiolaj 2119a36969 Match edge indicators to event colors and clear before reveal (#188) 2026-09-30 12:48:06 +02:00
makiolaj 8d3081a086 Let taps reach events under the edge bar (#188) 2026-09-30 12:48:06 +02:00
makiolaj d1664b28de Tint a day column's edge when events sit out of view (#188) 2026-09-30 12:48:06 +02:00
makiolaj 252689038e Hand the timeline scale row over to visible hours while it's on (#322) 2026-09-30 12:47:50 +02:00
makiolaj 406642050e Hold the fitted hour height after opening (#322) 2026-09-30 12:47:50 +02:00
makiolaj ddf3e203a0 Fit a chosen hour range into the timeline on open (#322) 2026-09-30 12:47:50 +02:00
makiolaj e8ed4c30e1 Add a multi-day view with a configurable day count (#193) 2026-09-30 12:44:22 +02:00
makiolaj d7315caa20 Page the month view with a pager that follows the finger (#336)
Paged and Split now page like the week and day views; Split keeps its
vertical expand drag, now vertical-only beside the pager, and the pane
follows the grid's row count mid-swipe. The old trigger swipe and slide
transition are gone with their last callers.

Closes #336
2026-09-30 12:44:22 +02:00
makiolaj 62ea5ce9d3 Share one top bar across views and smooth the view switches (#184) 2026-09-27 21:12:22 +02:00
makiolaj 254fafe42b Document how the views switch (#184) 2026-09-27 19:31:59 +02:00
makiolaj f9dd7a22b7 Hold the top bar and FAB still across view switches (#184) 2026-09-27 19:28:10 +02:00
makiolaj 7d7d16ca31 Resize timeline columns in place when switching views (#184) 2026-09-27 19:26:24 +02:00
makiolaj 6ed0b30230 Lay timeline columns out through one geometry (#184) 2026-09-27 19:22:09 +02:00
makiolaj 8d3d28c240 Share one focused date across views (#184) 2026-09-27 19:18:13 +02:00
makiolaj f9738b0c23 Put the day view on the paged timeline (#184) 2026-09-27 19:13:47 +02:00
makiolaj 39ca7d869a Carry the timeline hours between views (#184) 2026-09-27 19:10:49 +02:00
makiolaj 0c36ed2a75 Spring the view back even though the gesture job is cancelled (#185) 2026-09-27 12:11:15 +02:00
makiolaj e84378cc5b Preview the previous view on a back gesture (#185) 2026-09-27 12:11:15 +02:00
makiolaj df33eca5f2 Reset the back preview when an overlay reopens (#184) 2026-09-27 12:06:45 +02:00
makiolaj dc841a91e0 Remember the view morph scope across recompositions (#184) 2026-09-27 12:01:41 +02:00
makiolaj f7805cb0b5 Morph events between views instead of fading (#184) 2026-09-27 11:21:32 +02:00
makiolaj 33c61202d9 Add a multi-day view with a configurable day count (#193) 2026-09-25 21:25:17 +02:00
Jean-Luc Makiolaandmakiolaj 9f05a53ed2 Page the day view with a pager that follows the finger (#336) (#337)
Moves the day view onto the same pager as the week view (#131): days follow the finger and snap past half a page or on a fling, the hour gutter stays fixed, neighbouring days are loaded ahead. Opening a day from the month grid lands on that date directly.

Also, from review:
- The per-page state cache (week and day) leaked: dropped entries kept their `stateIn` coroutine and last loaded events alive until the ViewModel was cleared. It is now a shared `PageStateCache` in `common/` that gives each entry its own job and cancels it on eviction.
- The week and day anchor `state` chains had lost their `.catch`, so a settings-flow error crashed instead of showing the failure screen.

Part of #336; the month view follows in its own PR.

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/337
2026-09-25 20:49:25 +02:00
makiolaj a2b6793406 Page the month view with a pager that follows the finger (#336)
Paged and Split now page like the week and day views; Split keeps its
vertical expand drag, now vertical-only beside the pager, and the pane
follows the grid's row count mid-swipe. The old trigger swipe and slide
transition are gone with their last callers.

Closes #336
2026-09-25 14:40:04 +02:00
makiolaj eda616b42e Cancel dropped page states and restore the failure catch (#336)
Evicted week and day states kept their sharing coroutine, and their last
loaded events, alive until the view was closed; each now shares on its
own job, cancelled when it is let go.
2026-09-25 14:35:50 +02:00
makiolaj 7c17bf2ff4 Page the day view with a pager that follows the finger (#336)
Same model as the week view: days slide with the finger and snap past half
a page or on a fling, the hour gutter stays put, and the neighbouring days
are loaded ahead. The strip-height blend moves to common so both views
share it.
2026-09-25 13:41:28 +02:00
Jean-Luc Makiola 9ca10fc6ee Page the week view with a pager that follows the finger (#131)
Closes #131
2026-09-25 13:28:03 +02:00
Jean-Luc Makiolaandmakiolaj 994fa010b8 Release v2.21.0 (#332)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 32s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Successful in 14m32s
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Successful in 1m33s
Minor release rounding up the 2.21.0 milestone.

- Setup makes sure there is a calendar to write to: it offers to create a local calendar or add a syncing account when the device has none, and lists switched-off calendars so they can be turned back on (#287).
- The month grid gives its days more room: smaller week numbers in a gutter measured from the widest number, less chip padding, tighter label tracking (#189, #190, #212, #213).
- A month day shows as many event chips as its week row has height for, instead of a flat three.
- Split view draws only the rows its month spans instead of padding to six (#162).
- Short events show their title in week and day view (#289).
- A fully zoomed-out timeline no longer scrolls by its rounding leftover (#290).
- Backup & restore has loading, failure and empty states instead of a blank page (#304).
- Untitled events and unnamed calendars use the translated placeholder instead of the hardcoded German one, which the calendar editor could also save into the calendar (#321, #329).

Plus the release commit: CHANGELOG section, versionName 2.21.0 / versionCode 22100, and the en-US 22100 changelog. Merging this to main triggers the release pipeline.

Closes #287
Closes #189
Closes #190
Closes #212
Closes #213
Closes #162
Closes #289
Closes #290
Closes #304
Closes #321
Closes #329

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/332
2026-09-24 15:51:06 +02:00
Jean-Luc Makiolaandmakiolaj 5c20c5f6eb Release v2.20.4 (#313)
Release — F-Droid repo + Gitea/Codeberg release + Play / detect (push) Successful in 7s
Release — F-Droid repo + Gitea/Codeberg release + Play / release (push) Successful in 13m14s
Release — F-Droid repo + Gitea/Codeberg release + Play / play (push) Successful in 1m26s
Patch release rounding up the three issues in the 2.20.4 milestone.

- An event opened from a reminder or a home-screen widget came back on every
  later launch — an error screen once that event had been deleted. Android
  hands back the intent that started the task each time the activity is
  rebuilt, and the event channels acted on it every time instead of once
  (#309).
- "Today" did nothing in the Agenda once you had scrolled ahead: the agenda is
  browsed by scrolling, not by moving its date, so resetting the date alone
  changed nothing. It now scrolls the list back, and the button stays offered
  while the list is scrolled away (#305).
- The self-hosted F-Droid repo filed the app under "Time" instead of
  "Calendar & Agenda" (#294).

Plus the release commit: CHANGELOG section, versionName 2.20.4 / versionCode
22004, and the en-US 22004 changelog. Merging this to main triggers the release
pipeline.

Closes #309
Closes #305
Closes #294

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/calendula/pulls/313
2026-09-20 21:16:11 +02:00
Julie 0c985a280c Translated using Weblate (Slovak)
Currently translated at 42.3% (250 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/sk/
2026-09-17 08:36:18 +00:00
Weblate 17ebb9fd42 Translated using Weblate (Slovak)
Currently translated at 42.3% (250 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/sk/
2026-09-17 08:36:18 +00:00
James Trivette cadc2b14db Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
Weblate 1fdca903be Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
James Trivette 5e7658aa80 Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00
Weblate bea31032fb Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Calendula/Strings
Translate-URL: https://weblate.dev.jeanlucmakiola.de/projects/calendula/strings/cs/
2026-09-15 17:38:23 +00:00