From 896cf27d9fddfdef2f04dcb928d420a02fef520f Mon Sep 17 00:00:00 2001 From: billypom on debian Date: Mon, 14 Oct 2024 19:37:58 -0400 Subject: [PATCH] global application clipboard --- components/AlbumArtGraphicsView.py | 12 ++++++------ main.py | 8 +++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/components/AlbumArtGraphicsView.py b/components/AlbumArtGraphicsView.py index e45a0a3..0fb83ca 100644 --- a/components/AlbumArtGraphicsView.py +++ b/components/AlbumArtGraphicsView.py @@ -114,14 +114,14 @@ class AlbumArtGraphicsView(QGraphicsView): if not self.scene().items(): return # dont care if no pic - clipboard = self.qapp.clipboard() + clipboard = self.qapp.clipboard pixmap_item = self.scene().items()[0] if hasattr(pixmap_item, "pixmap"): clipboard.setPixmap(pixmap_item.pixmap()) def paste_album_art_from_clipboard(self): """Handles pasting album art into a song via system clipboard""" - clipboard = self.qapp.clipboard() + clipboard = self.qapp.clipboard mime_data = clipboard.mimeData() # Check if clipboard data is raw data or filepath pixmap = None @@ -134,10 +134,10 @@ class AlbumArtGraphicsView(QGraphicsView): pixmap = clipboard.pixmap() # Put image on screen and emit signal for ID3 tags to be updated if pixmap is not None: # Add pixmap raw data image - try: - self.scene().clear() - except Exception: - pass + # try: + # self.scene().clear() + # except Exception: + # pass self.scene().addPixmap(pixmap) # Create temp file for pic temp_file, file_path = tempfile.mkstemp(suffix=".jpg") diff --git a/main.py b/main.py index 2e9788f..72b490f 100644 --- a/main.py +++ b/main.py @@ -32,7 +32,7 @@ from PyQt5.QtCore import ( QRunnable, ) from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent, QAudioProbe -from PyQt5.QtGui import QCloseEvent, QPixmap, QResizeEvent +from PyQt5.QtGui import QClipboard, QCloseEvent, QPixmap, QResizeEvent from utils import ( scan_for_music, delete_and_create_library_database, @@ -134,7 +134,7 @@ class Worker(QRunnable): class ApplicationWindow(QMainWindow, Ui_MainWindow): playlistCreatedSignal = pyqtSignal() - def __init__(self): + def __init__(self, clipboard): super(ApplicationWindow, self).__init__() global stopped stopped = False @@ -157,6 +157,7 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow): self.probe: QAudioProbe = QAudioProbe() # Gets audio data self.audio_visualizer: AudioVisualizer = AudioVisualizer(self.player) self.current_volume: int = 50 + self.clipboard = clipboard self.tableView.load_qapp(self) self.albumGraphicsView.load_qapp(self) self.config.read("config.ini") @@ -601,9 +602,10 @@ if __name__ == "__main__": sys.path.append(project_root) # Start the app app = QApplication(sys.argv) + clipboard = app.clipboard() # Dark theme >:3 qdarktheme.setup_theme() # Show the UI - ui = ApplicationWindow() + ui = ApplicationWindow(clipboard) ui.show() sys.exit(app.exec_())