89ff82924b092302e8be36bf569ac614d248bd77
This is a utility widget akin to GtkGizmo[1] and AdwGizmo[2]. It is designed for use in complex widgets which require additional features such as snapshotting, measuring/allocating, and focusing capabilities. We want to implement an entry row widget that allows multi-line content. The first implementation had two widgets: GcalNotesRow for the widget itself, and GcalNotesTitle to contain and animate the title by overriding the measure() and size_allocate() class methods. The GcalNotesTitle widget ended up becoming a basic widget that could easily be handled by GcalGizmo. The new implementation simply uses GcalGizmo.[3] Another potential user of GcalGizmo is GcalDateChooser, where the date grid contains complicated logic for handling focus to a child widget. Since GcalGizmo is designed to give full reign over focusability, we can also use it to simplify focus. The layout manager can quickly be swapped to GtkBinLayout since we don't want to handle custom measure/allocation logic.[4] [1]: <https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkgizmo.c> [2]: <https://gitlab.gnome.org/GNOME/libadwaita/-/blob/main/src/adw-gizmo.c> [3]: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/737> [4]: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/760> Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/790>
Installation
Links
- Homepage: apps.gnome.org/Calendar
- Report an issue: gitlab.gnome.org/GNOME/gnome-calendar/issues
- Donate: donate.gnome.org
- Translate: l10n.gnome.org/module/gnome-calendar
- Contact: matrix.to/#/#gnome-calendar:gnome.org
Contributing
For information on how to contribute, please check CONTRIBUTING.md and HACKING.md.
Languages
C
97.6%
Meson
1.2%
CSS
0.7%
Python
0.3%
Shell
0.2%
