Added context menu on image

Added a context menu on the image label to copy the file URL into the clipboard.
dev
Peery 1 year ago
parent 7fc5bf349c
commit a66c601410

@ -1,12 +1,12 @@
import validators import validators
import os import os
import platform
import logging import logging
import re import re
from PyQt5 import QtWidgets from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt, QSize, QUrl from PyQt5.QtCore import Qt, QSize, QUrl
from PyQt5.QtGui import QPixmap, QResizeEvent, QKeyEvent, QStandardItemModel, QStandardItem, QMovie, QDesktopServices, QIcon from PyQt5.QtGui import QPixmap, QResizeEvent, QKeyEvent, QStandardItemModel, QStandardItem, QMovie, QDesktopServices, \
QIcon, QCursor
from PyQt5 import QtMultimedia from PyQt5 import QtMultimedia
from PyQt5.QtMultimediaWidgets import QVideoWidget from PyQt5.QtMultimediaWidgets import QVideoWidget
@ -94,6 +94,9 @@ class ImporterWindow(ArtnetMainWindow):
self.ui.description_edit.setReadOnly(False) self.ui.description_edit.setReadOnly(False)
self.ui.image_label.setContextMenuPolicy(Qt.CustomContextMenu)
self.ui.image_label.customContextMenuRequested.connect(self.on_custom_context_menu_requested)
self.on_tag_search_change() self.on_tag_search_change()
self.center() self.center()
@ -1085,6 +1088,24 @@ class ImporterWindow(ArtnetMainWindow):
def on_collection_button_clicked(self): def on_collection_button_clicked(self):
logging.debug("Clicked on collection button!") logging.debug("Clicked on collection button!")
QtWidgets.QMessageBox.information(self, "Not Implemented", "This feature has not been implemented yet!") QtWidgets.QMessageBox.information(self, "Not Implemented", "This feature has not been implemented yet!")
# TODO open dialog with collection selection and buttons for edit, creation and deletion
# TODO allow editing of the rank string selected_collections = CollectionSelectDialog(self).exec_(self.curr_collections)
# TODO make collection inspectable (a list of all entries with their rank string would suffice) selected_collections = [self.get_collection(collection_id=c[0]) for c in selected_collections] # TODO verify that it returns the art-collection details if there are any
for selected_collection in selected_collections: # allow editing the collection rankings
result = CollectionModDialog(self, db_connection=self.main.db_connection, edit_collection=False)\
.exec_(selected_collection)
print()
self.set_current_collections(list(set(list(self.curr_collections + selected_collections))))
def on_custom_context_menu_requested(self):
action = QtWidgets.QAction('Copy URL to clipboard')
action.triggered.connect(self.on_copy_url_to_clipboard)
menu = QtWidgets.QMenu()
menu.addAction(action)
menu.exec_(QCursor.pos())
def on_copy_url_to_clipboard(self):
QtWidgets.QApplication.clipboard().setText(os.path.join(self.main.config.data['file_root'], self.curr_art_path))

Loading…
Cancel
Save