naturtag.controllers.image_gallery module#
- class naturtag.controllers.image_gallery.ImageGallery(settings, threadpool)#
Bases:
naturtag.widgets.layouts.StylableWidget
- 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_message#
Forward a message to status bar
- on_select_taxon#
A taxon was selected from context menu
- remove_image(image_path)#
- select_image(image_path)#
- staticMetaObject = PySide6.QtCore.QMetaObject("ImageGallery" inherits "StylableWidget": Methods: #34 type=Signal, signature=on_load_images(QVariantList), parameters=QVariantList #35 type=Signal, signature=on_message(QString), parameters=QString #36 type=Signal, signature=on_select_taxon(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:
naturtag.widgets.images.HoverMixin
,naturtag.widgets.images.PixmapLabel
- 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: #48 type=Signal, signature=on_load_metadata(PyObject), parameters=PyObject )#
- class naturtag.controllers.image_gallery.ThumbnailCard(image_path, size=(250, 250))#
Bases:
naturtag.widgets.layouts.StylableWidget
- 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: #34 type=Signal, signature=on_loaded(PyObject), parameters=PyObject #35 type=Signal, signature=on_copy(QString), parameters=QString #36 type=Signal, signature=on_remove(PyObject), parameters=PyObject #37 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:
PySide6.QtWidgets.QMenu
- on_select_taxon#
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: #43 type=Signal, signature=on_select_taxon(int), parameters=int )#