naturtag.controllers.image_gallery module¶
- class naturtag.controllers.image_gallery.ImageGallery¶
Bases:
BaseController
Container for displaying local image thumbnails & info
- clear()¶
Clear all images from the viewer
- dragEnterEvent(self, event: PySide6.QtGui.QDragEnterEvent) None ¶
- dragMoveEvent(self, event: PySide6.QtGui.QDragMoveEvent) None ¶
- dropEvent(event)¶
- load_file_dialog(start_dir=None)¶
Show a file chooser dialog
- load_image(image_path, delayed_load=False)¶
Load an image
- Return type:
Optional
[ThumbnailCard
]
- load_images(image_paths)¶
Load multiple images, and ignore any duplicates
- on_load_images¶
New images have been loaded
- on_view_observation_id¶
An observation was selected from context menu
- on_view_taxon_id¶
A taxon was selected from context menu
- remove_image(image_path)¶
- select_image(image_path)¶
- staticMetaObject = PySide6.QtCore.QMetaObject("ImageGallery" inherits "BaseController": Methods: #34 type=Signal, signature=on_load_images(QVariantList), parameters=QVariantList #35 type=Signal, signature=on_view_taxon_id(int), parameters=int #36 type=Signal, signature=on_view_observation_id(int), parameters=int #37 type=Slot, signature=remove_image(QString), parameters=QString #38 type=Slot, signature=select_image(QString), parameters=QString )¶
- class naturtag.controllers.image_gallery.MetaThumbnail(parent, size=(250, 250))¶
Bases:
HoverMixin
,PixmapLabel
Thumbnail for a local image plus metadata
- get_pixmap_meta(path)¶
All I/O for loading an image preview (reading metadata, generating thumbnail), to be run from a separate thread
- Return type:
tuple
[QPixmap
,MetaMetadata
]
- on_load_metadata¶
Finished reading image metadata
- set_pixmap_meta(pixmap_meta)¶
- set_pixmap_meta_async(threadpool, path=None)¶
Generate a photo thumbnail and read its metadata from a separate thread, and render it in the main thread when complete
- staticMetaObject = PySide6.QtCore.QMetaObject("MetaThumbnail" inherits "PixmapLabel": Methods: #43 type=Signal, signature=on_load_metadata(PyObject), parameters=PyObject )¶
- class naturtag.controllers.image_gallery.ThumbnailCard(image_path, size=(250, 250))¶
Bases:
StylableWidget
A card that displays a thumbnail for a local image file, along with a title and icons representing its metadata contents. Also adds the following mouse actions:
Left click: Show full image
Middle click: Remove image
Right click: Show context menu
- contextMenuEvent(self, event: PySide6.QtGui.QContextMenuEvent) None ¶
- copy_flickr_tags()¶
- load_image()¶
Load thumbnail + metadata in the main thread
- load_image_async(threadpool)¶
Load thumbnail + metadata in a separate thread
- mousePressEvent(_)¶
Placeholder to accept mouse press events
- mouseReleaseEvent(self, event: PySide6.QtGui.QMouseEvent) None ¶
- on_copy¶
Tags were copied to the clipboard
- on_loaded¶
Image and metadata have been loaded
- on_remove¶
Request for the image to be removed from the gallery
- on_select¶
The image was clicked
- open_directory()¶
- pulse()¶
Show a highlight animation to indicate the image has been updated
- remove()¶
- select()¶
- set_metadata(metadata)¶
Update UI based on new metadata
- staticMetaObject = PySide6.QtCore.QMetaObject("ThumbnailCard" inherits "StylableWidget": Methods: #33 type=Signal, signature=on_loaded(PyObject), parameters=PyObject #34 type=Signal, signature=on_copy(QString), parameters=QString #35 type=Signal, signature=on_remove(PyObject), parameters=PyObject #36 type=Signal, signature=on_select(PyObject), parameters=PyObject )¶
- update_metadata(metadata)¶
Update UI based on new metadata, and show a highlight animation
- class naturtag.controllers.image_gallery.ThumbnailContextMenu¶
Bases:
QMenu
Context menu for local image thumbnails
- on_view_observation_id¶
An observation was selected from context menu
- on_view_taxon_id¶
A taxon was selected from context menu
- refresh_actions(thumbnail_card)¶
Update menu actions based on the available metadata
- staticMetaObject = PySide6.QtCore.QMetaObject("ThumbnailContextMenu" inherits "QMenu": Methods: #42 type=Signal, signature=on_view_taxon_id(int), parameters=int #43 type=Signal, signature=on_view_observation_id(int), parameters=int )¶
- class naturtag.controllers.image_gallery.ThumbnailMetaIcons(parent)¶
Bases:
QLabel
Icons overlaid on top of a thumbnail to indicate what types of metadata are available
- refresh_icons(metadata)¶
Update icons based on the available metadata
- staticMetaObject = PySide6.QtCore.QMetaObject("ThumbnailMetaIcons" inherits "QLabel": )¶