fix(widget): draw widgets at a size you pick, not a measured one (#103, #51)

The month grid sized its seven day columns from the width the launcher
reports, which is not the width the widget is drawn into. The columns came
out too wide, so only about four fitted and the last one was cut off.

Both widgets now draw at a WidgetSize the user picks in Settings, and
nothing reads LocalSize any more (SizeMode.Single for both). The month grid
lays its columns out at a fixed width and centres them, which also keeps a
multi-day event one connected bar; minResizeWidth is raised so the smallest
step always fits.

Closes #103
Closes #51
This commit is contained in:
2026-07-30 16:37:47 +02:00
parent 1d07b64a28
commit 2f46eba4fa
17 changed files with 541 additions and 303 deletions

View File

@@ -28,6 +28,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- The calendar picker in the event form and in the .ics import screen now ends
with a **"Missing a calendar?"** row that opens Settings → Calendars, where
those marks then explain why a calendar isn't offered ([#76]).
- Both home-screen widgets have a size you set yourself. **Settings → Widgets →
Widget size** offers Small, Medium, Large and Extra large: it sets how big the
agenda widget's text is, and how big the month widget's day columns and text
are. Small is what the widgets look like today, so nothing changes until you
turn it up ([#51], [#103]).
### Changed
- Calendula's source code now lives on **Codeberg**, where its issues already
@@ -37,6 +42,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
unaffected.
### Fixed
- The month widget shows all seven days again. Unless it happened to be resized
to just the right shape, it drew only about four columns and cut the last one
off part-way through — the rest of the week was simply missing. The widget was
sizing its columns from the width the launcher reported, which is not the width
it is actually drawn into, so the columns came out too wide to fit. Nothing in
either widget is measured any more: they draw at the size you pick under
Settings → Widgets. The month widget can no longer be resized narrower than its
grid needs, either ([#103], [#51]).
- Search results now show an all-day event's real date. West of UTC — anywhere in
the Americas, say — a search hit was dated one day early, disagreeing with the
day the month, week and agenda views file the same event under ([#82]).
@@ -1170,3 +1183,4 @@ automatically, with zero telemetry and no internet permission.
[#76]: https://codeberg.org/jlmakiola/calendula/issues/76
[#78]: https://codeberg.org/jlmakiola/calendula/issues/78
[#82]: https://codeberg.org/jlmakiola/calendula/issues/82
[#103]: https://codeberg.org/jlmakiola/calendula/issues/103