- Persist settings to storage
- New fullscreen media viewer with panning and zoom
- Changed note rendering to use the full screen width
- Fixed more wrapping issues
- Fixed crash on large images
- Fix nwc copy/paste
- Portugese translations
- Show locale language names instead of identifier
Fernando López Guevara (5):
feat(settings): persist settings to storage
fix(columns): render wide notes on narrow screen
fix(media): edge-to-edge image display on narrow screen
fix(media): use ScaledTexture
fix(note_actionbar): add invisible label to stabilize section width ¯\_(ツ)_/¯
Terry Yiu (5):
Add human-readable names to locales in settings
Add Portuguese (Brazil) language and translations
Export strings for translation
Import translations
Internationalize ShowNoteClientOptions labels
William Casarin (19):
Fullscreen MediaViewer refactor
images: always resize large images
media: change is_narrow logic to is_scaled
media/viewer: click anywhere to close
media/viewer: fix broken culling
media/viewer: fix flicker on escape-close
media/viewer: fullscreen transition animations
media/viewer: handle click-to-close interactions
media/viewer: provide image-click provenance
media/viewer: slower animation
note/options: made wide the default
threads: disable wide in threads
ui/note: fix another reply_desc wrapping issue
ui/note: simplify weird hack and make note of it
ui/settings: fix small double clone nit
ui/wallet: small refactor to use return instead of break
wallet: fix nwc copy/paste
Signed-off-by: William Casarin <jb55@jb55.com>
Terry Yiu (5):
Export strings for translation
Add human-readable names to locales in settings
Internationalize ShowNoteClientOptions labels
Import translations
Add Portuguese (Brazil) language and translations
Since it breaks the reply line rendering
Fixes: 0f00dcf7a7 ("fix(columns): render wide notes on narrow screen")
Signed-off-by: William Casarin <jb55@jb55.com>
- Moved media related logic into notedeck instead of the ui crate,
since they pertain to Images/ImageCache based systems
- Made RenderableMedia owned to make it less of a nightmware
to work with and the perf should be negligible
- Added a ImageMetadata cache to Images. This is referenced
whenever we encounter an image so we don't have to
redo the work all of the time
- Relpaced our ad-hoc, hand(vibe?)-coded panning and zoom logic
with the Scene widget, which is explicitly designed for
this use case
- Extracted and detangle fullscreen media rendering from inside of note
rendering. We instead let the application decide what action they
want to perform when note media is clicked on.
- We add an on_view_media action to MediaAction for the application to
handle. The Columns app uses this toggle a FullscreenMedia app
option bits whenever we get a MediaAction::ViewMedis(urls).
Signed-off-by: William Casarin <jb55@jb55.com>