Skip to main content

Module lightbox

Module lightbox 

Source
Expand description

Lightbox image viewer: full-screen preview with zoom, pan, EXIF details, and keyboard navigation.

Loads preview or original resolution images with pinch-zoom and swipe navigation. Displays an EXIF metadata panel and provides download-to-folder and delete-to-trash actions.

StructsΒ§

LocalProbe πŸ”’
Everything we can learn about a local file off the main thread before handing the data back to GTK. exif is the cached EXIF parse; dims comes from a pixbuf header-only read; mtime_iso falls back when the file has no DateTimeOriginal so we always show some date.

FunctionsΒ§

accent_row πŸ”’
apply_lightbox_zoom πŸ”’
Apply zoom to a lightbox Picture. Zoom is fit-relative: 1.0 = the size the texture would occupy inside viewer under Contain layout. >1.0 overflows the viewer for panning. Returns the computed content dimensions when zoomed.
build_camera_group πŸ”’
build_image_group πŸ”’
build_location_group πŸ”’
drag_export_path πŸ”’
Create a properly-named export copy of a cached file for drag-out.
exif_from_local πŸ”’
Project local-file metadata into the API EXIF shape so the existing renderer handles both sources uniformly.
fill_exif_box πŸ”’
Populate the details sidebar with sectioned EXIF metadata.
format_bytes πŸ”’
Format a byte count value into a human-readable size string (e.g. KB, MB, GB).
format_camera πŸ”’
format_datetime_display πŸ”’
Format an ISO 8601 timestamp for display, converting from UTC to the user’s local timezone.
format_exposure πŸ”’
format_location πŸ”’
open_lightbox πŸ”’
Construct and present the fullscreen lightbox view for a selected asset.
original_preview_cache_path πŸ”’
systemtime_to_rfc3339 πŸ”’
Render a SystemTime as an RFC3339 string in the local timezone so the existing format_datetime_display pipeline can format it consistently with EXIF-derived timestamps.
truncate_filename πŸ”’
Truncate a filename to a maximum character limit, appending an ellipsis if needed.