global application clipboard

This commit is contained in:
billypom on debian 2024-10-14 19:37:58 -04:00
parent 75ebb163b2
commit 896cf27d9f
2 changed files with 11 additions and 9 deletions

View File

@ -114,14 +114,14 @@ class AlbumArtGraphicsView(QGraphicsView):
if not self.scene().items(): if not self.scene().items():
return # dont care if no pic return # dont care if no pic
clipboard = self.qapp.clipboard() clipboard = self.qapp.clipboard
pixmap_item = self.scene().items()[0] pixmap_item = self.scene().items()[0]
if hasattr(pixmap_item, "pixmap"): if hasattr(pixmap_item, "pixmap"):
clipboard.setPixmap(pixmap_item.pixmap()) clipboard.setPixmap(pixmap_item.pixmap())
def paste_album_art_from_clipboard(self): def paste_album_art_from_clipboard(self):
"""Handles pasting album art into a song via system clipboard""" """Handles pasting album art into a song via system clipboard"""
clipboard = self.qapp.clipboard() clipboard = self.qapp.clipboard
mime_data = clipboard.mimeData() mime_data = clipboard.mimeData()
# Check if clipboard data is raw data or filepath # Check if clipboard data is raw data or filepath
pixmap = None pixmap = None
@ -134,10 +134,10 @@ class AlbumArtGraphicsView(QGraphicsView):
pixmap = clipboard.pixmap() pixmap = clipboard.pixmap()
# Put image on screen and emit signal for ID3 tags to be updated # Put image on screen and emit signal for ID3 tags to be updated
if pixmap is not None: # Add pixmap raw data image if pixmap is not None: # Add pixmap raw data image
try: # try:
self.scene().clear() # self.scene().clear()
except Exception: # except Exception:
pass # pass
self.scene().addPixmap(pixmap) self.scene().addPixmap(pixmap)
# Create temp file for pic # Create temp file for pic
temp_file, file_path = tempfile.mkstemp(suffix=".jpg") temp_file, file_path = tempfile.mkstemp(suffix=".jpg")

View File

@ -32,7 +32,7 @@ from PyQt5.QtCore import (
QRunnable, QRunnable,
) )
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent, QAudioProbe 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 ( from utils import (
scan_for_music, scan_for_music,
delete_and_create_library_database, delete_and_create_library_database,
@ -134,7 +134,7 @@ class Worker(QRunnable):
class ApplicationWindow(QMainWindow, Ui_MainWindow): class ApplicationWindow(QMainWindow, Ui_MainWindow):
playlistCreatedSignal = pyqtSignal() playlistCreatedSignal = pyqtSignal()
def __init__(self): def __init__(self, clipboard):
super(ApplicationWindow, self).__init__() super(ApplicationWindow, self).__init__()
global stopped global stopped
stopped = False stopped = False
@ -157,6 +157,7 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow):
self.probe: QAudioProbe = QAudioProbe() # Gets audio data self.probe: QAudioProbe = QAudioProbe() # Gets audio data
self.audio_visualizer: AudioVisualizer = AudioVisualizer(self.player) self.audio_visualizer: AudioVisualizer = AudioVisualizer(self.player)
self.current_volume: int = 50 self.current_volume: int = 50
self.clipboard = clipboard
self.tableView.load_qapp(self) self.tableView.load_qapp(self)
self.albumGraphicsView.load_qapp(self) self.albumGraphicsView.load_qapp(self)
self.config.read("config.ini") self.config.read("config.ini")
@ -601,9 +602,10 @@ if __name__ == "__main__":
sys.path.append(project_root) sys.path.append(project_root)
# Start the app # Start the app
app = QApplication(sys.argv) app = QApplication(sys.argv)
clipboard = app.clipboard()
# Dark theme >:3 # Dark theme >:3
qdarktheme.setup_theme() qdarktheme.setup_theme()
# Show the UI # Show the UI
ui = ApplicationWindow() ui = ApplicationWindow(clipboard)
ui.show() ui.show()
sys.exit(app.exec_()) sys.exit(app.exec_())