diff --git a/app/config.py b/app/config.py index 615b94b..cf728c6 100644 --- a/app/config.py +++ b/app/config.py @@ -22,6 +22,7 @@ class Config(object): COLOUR_CURRENT_TAB = "#248f24" COLOUR_ENDING_TIMER = "#dc3545" COLOUR_EVEN_PLAYLIST = "#d9d9d9" + COLOUR_LABEL_TEXT = "#000000" COLOUR_LONG_START = "#dc3545" COLOUR_NEXT_PLAYLIST = "#ffc107" COLOUR_NEXT_TAB = "#b38600" diff --git a/app/helpers.py b/app/helpers.py index 7e0a4d8..01a40e9 100644 --- a/app/helpers.py +++ b/app/helpers.py @@ -13,7 +13,7 @@ from mutagen.flac import FLAC # type: ignore from mutagen.mp3 import MP3 # type: ignore from pydub import AudioSegment, effects from pydub.utils import mediainfo -from PyQt5.QtWidgets import QMessageBox +from PyQt6.QtWidgets import QMainWindow, QMessageBox # type: ignore from tinytag import TinyTag # type: ignore from typing import Any, Dict, Optional, Union @@ -24,13 +24,14 @@ def ask_yes_no(title: str, question: str, default_yes: bool = False) -> bool: dlg = QMessageBox() dlg.setWindowTitle(title) dlg.setText(question) - dlg.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - dlg.setIcon(QMessageBox.Question) + dlg.setStandardButtons( + QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + dlg.setIcon(QMessageBox.Icon.Question) if default_yes: - dlg.setDefaultButton(QMessageBox.Yes) - button = dlg.exec_() + dlg.setDefaultButton(QMessageBox.StandardButton.Yes) + button = dlg.exec() - return button == QMessageBox.Yes + return button == QMessageBox.StandardButton.Yes def fade_point( @@ -353,16 +354,18 @@ def set_track_metadata(session, track): session.commit() -def show_OK(title: str, msg: str) -> None: +def show_OK(parent: QMainWindow, title: str, msg: str) -> None: """Display a message to user""" - QMessageBox.information(None, title, msg, buttons=QMessageBox.Ok) + QMessageBox.information(parent, title, msg, + buttons=QMessageBox.StandardButton.Ok) -def show_warning(title: str, msg: str) -> None: +def show_warning(parent: QMainWindow, title: str, msg: str) -> None: """Display a warning to user""" - QMessageBox.warning(None, title, msg, buttons=QMessageBox.Cancel) + QMessageBox.warning(parent, title, msg, + buttons=QMessageBox.StandardButton.Cancel) def trailing_silence( diff --git a/app/infotabs.py b/app/infotabs.py index 8585467..79aae45 100644 --- a/app/infotabs.py +++ b/app/infotabs.py @@ -3,9 +3,9 @@ import urllib.parse from datetime import datetime from slugify import slugify # type: ignore from typing import Dict, Optional -from PyQt5.QtCore import QUrl -from PyQt5.QtWebEngineWidgets import QWebEngineView -from PyQt5.QtWidgets import QTabWidget +from PyQt6.QtCore import QUrl # type: ignore +from PyQt6.QtWebEngineWidgets import QWebEngineView +from PyQt6.QtWidgets import QTabWidget from config import Config diff --git a/app/music.py b/app/music.py index cae09d6..28e94a0 100644 --- a/app/music.py +++ b/app/music.py @@ -10,7 +10,7 @@ from time import sleep from log import log -from PyQt5.QtCore import ( +from PyQt6.QtCore import ( # type: ignore QRunnable, QThreadPool, ) diff --git a/app/musicmuster.py b/app/musicmuster.py index 1719664..c822421 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -18,7 +18,7 @@ from typing import ( Optional, ) -from PyQt5.QtCore import ( +from PyQt6.QtCore import ( pyqtSignal, QDate, QEvent, @@ -29,14 +29,14 @@ from PyQt5.QtCore import ( QTime, QTimer, ) -from PyQt5.QtGui import ( +from PyQt6.QtGui import ( QColor, QFont, QMouseEvent, QPalette, QResizeEvent, ) -from PyQt5.QtWidgets import ( +from PyQt6.QtWidgets import ( QApplication, QDialog, QFileDialog, @@ -106,7 +106,7 @@ class CartButton(QPushButton): self.pgb.setTextVisible(False) self.pgb.setVisible(False) palette = self.pgb.palette() - palette.setColor(QPalette.Highlight, + palette.setColor(QPalette.ColorRole.Highlight, QColor(Config.COLOUR_CART_PROGRESSBAR)) self.pgb.setPalette(palette) self.pgb.setGeometry(0, 0, self.width(), 10) @@ -125,9 +125,9 @@ class CartButton(QPushButton): def event(self, event: QEvent) -> bool: """Allow right click even when button is disabled""" - if event.type() == QEvent.MouseButtonRelease: + if event.type() == QEvent.Type.MouseButtonRelease: mouse_event = cast(QMouseEvent, event) - if mouse_event.button() == Qt.RightButton: + if mouse_event.button() == Qt.MouseButton.RightButton: self.musicmuster.cart_edit(self, event) return True @@ -280,13 +280,6 @@ class Window(QMainWindow, Ui_MainWindow): self.signals = MusicMusterSignals() - # Set colours that will be used by playlist row stripes - palette = QPalette() - palette.setColor(QPalette.Base, QColor(Config.COLOUR_EVEN_PLAYLIST)) - palette.setColor(QPalette.AlternateBase, - QColor(Config.COLOUR_ODD_PLAYLIST)) - self.setPalette(palette) - self.set_main_window_size() self.lblSumPlaytime = QLabel("") self.statusbar.addPermanentWidget(self.lblSumPlaytime) @@ -465,6 +458,7 @@ class Window(QMainWindow, Ui_MainWindow): if self.playing: event.ignore() helpers.show_warning( + self, "Track playing", "Can't close application while track is playing") else: @@ -847,7 +841,7 @@ class Window(QMainWindow, Ui_MainWindow): self, "About", f"MusicMuster {git_tag}\n\nDatabase: {dbname}", - QMessageBox.Ok + QMessageBox.StandardButton.Ok ) def get_one_track(self, session: scoped_session) -> Optional[Tracks]: @@ -876,12 +870,12 @@ class Window(QMainWindow, Ui_MainWindow): """Import track file""" dlg = QFileDialog() - dlg.setFileMode(QFileDialog.ExistingFiles) - dlg.setViewMode(QFileDialog.Detail) + dlg.setFileMode(QFileDialog.FileMode.ExistingFiles) + dlg.setViewMode(QFileDialog.ViewMode.Detail) dlg.setDirectory(Config.IMPORT_DESTINATION) dlg.setNameFilter("Music files (*.flac *.mp3)") - if not dlg.exec_(): + if not dlg.exec(): return with Session() as session: @@ -907,13 +901,14 @@ class Window(QMainWindow, Ui_MainWindow): txt += "\n" # Check whether to proceed if there were potential matches txt += "Proceed with import?" - result = QMessageBox.question(self, - "Possible duplicates", - txt, - QMessageBox.Ok, - QMessageBox.Cancel - ) - if result == QMessageBox.Cancel: + result = QMessageBox.question( + self, + "Possible duplicates", + txt, + QMessageBox.StandardButton.Ok, + QMessageBox.StandardButton.Cancel + ) + if result == QMessageBox.StandardButton.Cancel: return # Import in separate thread @@ -926,7 +921,7 @@ class Window(QMainWindow, Ui_MainWindow): self.import_thread.finished.connect(self.import_thread.deleteLater) self.worker.import_error.connect( lambda msg: helpers.show_warning( - "Import error", "Error importing " + msg + self, "Import error", "Error importing " + msg ) ) self.worker.importing.connect( @@ -953,7 +948,7 @@ class Window(QMainWindow, Ui_MainWindow): # Get header text dlg: QInputDialog = QInputDialog(self) - dlg.setInputMode(QInputDialog.TextInput) + dlg.setInputMode(QInputDialog.InputMode.TextInput) dlg.setLabelText("Header text:") dlg.resize(500, 100) ok = dlg.exec() @@ -1339,7 +1334,7 @@ class Window(QMainWindow, Ui_MainWindow): while True: # Get name for new template dlg = QInputDialog(self) - dlg.setInputMode(QInputDialog.TextInput) + dlg.setInputMode(QInputDialog.InputMode.TextInput) dlg.setLabelText("Template name:") dlg.resize(500, 100) ok = dlg.exec() @@ -1349,13 +1344,14 @@ class Window(QMainWindow, Ui_MainWindow): template_name = dlg.textValue() if template_name not in template_names: break - helpers.show_warning("Duplicate template", + helpers.show_warning(self, + "Duplicate template", "Template name already in use" ) Playlists.save_as_template(session, self.visible_playlist_tab().playlist_id, template_name) - helpers.show_OK("Template", "Template saved") + helpers.show_OK(self, "Template", "Template saved") def search_playlist(self) -> None: """Show text box to search playlist""" @@ -1440,7 +1436,7 @@ class Window(QMainWindow, Ui_MainWindow): """Get name of playlist from user""" dlg = QInputDialog(self) - dlg.setInputMode(QInputDialog.TextInput) + dlg.setInputMode(QInputDialog.InputMode.TextInput) dlg.setLabelText("Playlist name:") if default: dlg.setTextValue(default) @@ -1736,11 +1732,11 @@ class CartDialog(QDialog): """File select""" dlg = QFileDialog() - dlg.setFileMode(QFileDialog.ExistingFile) - dlg.setViewMode(QFileDialog.Detail) + dlg.setFileMode(QFileDialog.FileMode.ExistingFile) + dlg.setViewMode(QFileDialog.ViewMode.Detail) dlg.setDirectory(Config.CART_DIRECTORY) dlg.setNameFilter("Music files (*.flac *.mp3)") - if dlg.exec_(): + if dlg.exec(): self.path = dlg.selectedFiles()[0] self.ui.lblPath.setText(self.path) @@ -1804,7 +1800,7 @@ class DbDialog(QDialog): track = None item = self.ui.matchList.currentItem() if item: - track = item.data(Qt.UserRole) + track = item.data(Qt.ItemDataRole.UserRole) self.add_track(track) def add_selected_and_close(self) -> None: @@ -1855,13 +1851,13 @@ class DbDialog(QDialog): f"[{helpers.ms_to_mmss(track.duration)}] " f"({helpers.get_relative_date(last_played)})" ) - t.setData(Qt.UserRole, track) + t.setData(Qt.ItemDataRole.UserRole, track) self.ui.matchList.addItem(t) def double_click(self, entry: QListWidgetItem) -> None: """Add items that are double-clicked""" - track = entry.data(Qt.UserRole) + track = entry.data(Qt.ItemDataRole.UserRole) self.add_track(track) # Select search text to make it easier for next search self.select_searchtext() @@ -1879,7 +1875,7 @@ class DbDialog(QDialog): return item = self.ui.matchList.currentItem() - track = item.data(Qt.UserRole) + track = item.data(Qt.ItemDataRole.UserRole) self.ui.dbPath.setText(track.path) def title_artist_toggle(self) -> None: @@ -1929,7 +1925,7 @@ class SelectPlaylistDialog(QDialog): for playlist in playlists: p = QListWidgetItem() p.setText(playlist.name) - p.setData(Qt.UserRole, playlist) + p.setData(Qt.ItemDataRole.UserRole, playlist) self.ui.lstPlaylists.addItem(p) def __del__(self): # review @@ -1944,13 +1940,13 @@ class SelectPlaylistDialog(QDialog): record.update(self.session, {'f_int': self.width()}) def list_doubleclick(self, entry): # review - self.playlist = entry.data(Qt.UserRole) + self.playlist = entry.data(Qt.ItemDataRole.UserRole) self.accept() def open(self): # review if self.ui.lstPlaylists.selectedItems(): item = self.ui.lstPlaylists.currentItem() - self.playlist = item.data(Qt.UserRole) + self.playlist = item.data(Qt.ItemDataRole.UserRole) self.accept() @@ -1983,13 +1979,19 @@ if __name__ == "__main__": update_bitrates(session) engine.dispose() else: - # Normal run - # Pass '--disable-seccomp-filter-sandbox (see - # https://stackoverflow.com/questions/75922410/pyqt5-qwebengineview-blank-window/75975308#75975308) - sys.argv.append('--disable-seccomp-filter-sandbox') try: Base.metadata.create_all(engine) app = QApplication(sys.argv) + # PyQt6 defaults to a grey for labels + palette = app.palette() + palette.setColor(QPalette.ColorRole.WindowText, + QColor(Config.COLOUR_LABEL_TEXT)) + # Set colours that will be used by playlist row stripes + palette.setColor(QPalette.ColorRole.Base, + QColor(Config.COLOUR_EVEN_PLAYLIST)) + palette.setColor(QPalette.ColorRole.AlternateBase, + QColor(Config.COLOUR_ODD_PLAYLIST)) + app.setPalette(palette) win = Window() win.show() status = app.exec() diff --git a/app/playlists.py b/app/playlists.py index b973348..fbecf35 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -10,7 +10,7 @@ from collections import namedtuple from datetime import datetime, timedelta from typing import Callable, cast, List, Optional, TYPE_CHECKING, Union -from PyQt5.QtCore import ( +from PyQt6.QtCore import ( QEvent, QModelIndex, QObject, @@ -18,17 +18,17 @@ from PyQt5.QtCore import ( Qt, QTimer, ) -from PyQt5.QtGui import ( +from PyQt6.QtGui import ( + QAction, QBrush, QColor, QFont, QDropEvent, QKeyEvent ) -from PyQt5.QtWidgets import ( +from PyQt6.QtWidgets import ( QAbstractItemDelegate, QAbstractItemView, - QAction, QApplication, QLineEdit, QMainWindow, @@ -131,10 +131,12 @@ class NoSelectDelegate(QStyledItemDelegate): def eventFilter(self, editor: QObject, event: QEvent): """By default, QPlainTextEdit doesn't handle enter or return""" - if event.type() == QEvent.KeyPress: + if event.type() == QEvent.Type.KeyPress: key_event = cast(QKeyEvent, event) - if key_event.key() == Qt.Key_Return: - if key_event.modifiers() == Qt.ControlModifier: + if key_event.key() == Qt.Key.Key_Return: + if key_event.modifiers() == ( + Qt.KeyboardModifier.ControlModifier + ): self.commitData.emit(editor) self.closeEditor.emit(editor) @@ -142,12 +144,12 @@ class NoSelectDelegate(QStyledItemDelegate): class PlaylistTab(QTableWidget): - # Qt.UserRoles - ROW_TRACK_ID = Qt.UserRole - ROW_DURATION = Qt.UserRole + 1 - PLAYLISTROW_ID = Qt.UserRole + 2 - TRACK_PATH = Qt.UserRole + 3 - PLAYED = Qt.UserRole + 4 + # Qt.ItemDataRole.UserRoles + ROW_TRACK_ID = Qt.ItemDataRole.UserRole + ROW_DURATION = Qt.ItemDataRole.UserRole + 1 + PLAYLISTROW_ID = Qt.ItemDataRole.UserRole + 2 + TRACK_PATH = Qt.ItemDataRole.UserRole + 3 + PLAYED = Qt.ItemDataRole.UserRole + 4 def __init__(self, musicmuster: "Window", session: scoped_session, @@ -160,11 +162,13 @@ class PlaylistTab(QTableWidget): # Set up widget self.menu = QMenu() self.setItemDelegate(NoSelectDelegate(self)) - self.setEditTriggers(QAbstractItemView.DoubleClicked) + self.setEditTriggers(QAbstractItemView.EditTrigger.DoubleClicked) self.setAlternatingRowColors(True) - self.setSelectionMode(QAbstractItemView.ExtendedSelection) - self.setSelectionBehavior(QAbstractItemView.SelectRows) - self.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel) + self.setSelectionMode( + QAbstractItemView.SelectionMode.ExtendedSelection) + self.setSelectionBehavior( + QAbstractItemView.SelectionBehavior.SelectRows) + self.setVerticalScrollMode(QAbstractItemView.ScrollMode.ScrollPerPixel) self.setRowCount(0) self.setColumnCount(len(columns)) self.v_header = self.verticalHeader() @@ -189,11 +193,11 @@ class PlaylistTab(QTableWidget): self.viewport().setAcceptDrops(True) self.setDragDropOverwriteMode(False) self.setDropIndicatorShown(True) - self.setDragDropMode(QAbstractItemView.InternalMove) + self.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) self.setDragEnabled(False) # This property defines how the widget shows a context menu - self.setContextMenuPolicy(Qt.CustomContextMenu) + self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) # This signal is emitted when the widget's contextMenuPolicy is # Qt::CustomContextMenu, and the user has requested a context # menu on the widget. @@ -760,7 +764,8 @@ class PlaylistTab(QTableWidget): if scroll_to_top: row0_item = self.item(0, 0) if row0_item: - self.scrollToItem(row0_item, QAbstractItemView.PositionAtTop) + self.scrollToItem(row0_item, + QAbstractItemView.ScrollHint.PositionAtTop) # Set widths self._set_column_widths(session) @@ -1079,7 +1084,7 @@ class PlaylistTab(QTableWidget): item = self.itemAt(pos) self._build_context_menu(item) - self.menu.exec_(self.mapToGlobal(pos)) + self.menu.exec(self.mapToGlobal(pos)) def _copy_path(self, row_number: int) -> None: """ @@ -1101,8 +1106,8 @@ class PlaylistTab(QTableWidget): track_path = track_path.replace(old, new) cb = QApplication.clipboard() - cb.clear(mode=cb.Clipboard) - cb.setText(track_path, mode=cb.Clipboard) + cb.clear(mode=cb.Mode.Clipboard) + cb.setText(track_path, mode=cb.Mode.Clipboard) def _delete_rows(self) -> None: """ @@ -1403,10 +1408,10 @@ class PlaylistTab(QTableWidget): txt = f"Can't find {track_id=}" info: QMessageBox = QMessageBox(self) - info.setIcon(QMessageBox.Information) + info.setIcon(QMessageBox.Icon.Information) info.setText(txt) - info.setStandardButtons(QMessageBox.Ok) - info.setDefaultButton(QMessageBox.Cancel) + info.setStandardButtons(QMessageBox.StandardButton.Ok) + info.setDefaultButton(QMessageBox.StandardButton.Cancel) info.exec() def _is_below(self, pos, index): # review @@ -1677,7 +1682,8 @@ class PlaylistTab(QTableWidget): padding_required -= 1 scroll_item = self.item(top_row, 0) - self.scrollToItem(scroll_item, QAbstractItemView.PositionAtTop) + self.scrollToItem(scroll_item, + QAbstractItemView.ScrollHint.PositionAtTop) def _search(self, next: bool = True) -> None: """ diff --git a/app/ui/dlg_SearchDatabase.ui b/app/ui/dlg_SearchDatabase.ui index f05d251..1fb0519 100644 --- a/app/ui/dlg_SearchDatabase.ui +++ b/app/ui/dlg_SearchDatabase.ui @@ -13,58 +13,57 @@ Dialog - + - - - - - Title: - - - - - - - + + + Title: + + - + + + + - - + + + + + 0 + 0 + + + + + 46 + 16777215 + + + + &Note: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + txtNote + + + + + + + + - - - - 0 - 0 - - - - - 46 - 16777215 - - + - &Note: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - txtNote + - - - - - - - @@ -121,13 +120,6 @@ - - - - - - - diff --git a/app/ui/dlg_SelectPlaylist_ui.py b/app/ui/dlg_SelectPlaylist_ui.py index 32fa206..6b1d4df 100644 --- a/app/ui/dlg_SelectPlaylist_ui.py +++ b/app/ui/dlg_SelectPlaylist_ui.py @@ -1,12 +1,13 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'ui/dlg_SelectPlaylist.ui' +# Form implementation generated from reading ui file 'app/ui/dlg_SelectPlaylist.ui' # -# Created by: PyQt5 UI code generator 5.11.3 +# Created by: PyQt6 UI code generator 6.5.0 # -# WARNING! All changes made in this file will be lost! +# WARNING: Any manual changes made to this file will be lost when pyuic6 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt6 import QtCore, QtGui, QtWidgets -from PyQt5 import QtCore, QtGui, QtWidgets class Ui_dlgSelectPlaylist(object): def setupUi(self, dlgSelectPlaylist): @@ -14,21 +15,20 @@ class Ui_dlgSelectPlaylist(object): dlgSelectPlaylist.resize(276, 150) self.verticalLayout = QtWidgets.QVBoxLayout(dlgSelectPlaylist) self.verticalLayout.setObjectName("verticalLayout") - self.lstPlaylists = QtWidgets.QListWidget(dlgSelectPlaylist) + self.lstPlaylists = QtWidgets.QListWidget(parent=dlgSelectPlaylist) self.lstPlaylists.setObjectName("lstPlaylists") self.verticalLayout.addWidget(self.lstPlaylists) - self.buttonBox = QtWidgets.QDialogButtonBox(dlgSelectPlaylist) - self.buttonBox.setOrientation(QtCore.Qt.Horizontal) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) + self.buttonBox = QtWidgets.QDialogButtonBox(parent=dlgSelectPlaylist) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) self.buttonBox.setObjectName("buttonBox") self.verticalLayout.addWidget(self.buttonBox) self.retranslateUi(dlgSelectPlaylist) - self.buttonBox.accepted.connect(dlgSelectPlaylist.accept) - self.buttonBox.rejected.connect(dlgSelectPlaylist.reject) + self.buttonBox.accepted.connect(dlgSelectPlaylist.accept) # type: ignore + self.buttonBox.rejected.connect(dlgSelectPlaylist.reject) # type: ignore QtCore.QMetaObject.connectSlotsByName(dlgSelectPlaylist) def retranslateUi(self, dlgSelectPlaylist): _translate = QtCore.QCoreApplication.translate dlgSelectPlaylist.setWindowTitle(_translate("dlgSelectPlaylist", "Dialog")) - diff --git a/app/ui/dlg_search_database_ui.py b/app/ui/dlg_search_database_ui.py index e373884..b95447b 100644 --- a/app/ui/dlg_search_database_ui.py +++ b/app/ui/dlg_search_database_ui.py @@ -1,81 +1,68 @@ -# -*- coding: utf-8 -*- - # Form implementation generated from reading ui file 'app/ui/dlg_SearchDatabase.ui' # -# Created by: PyQt5 UI code generator 5.15.6 +# Created by: PyQt6 UI code generator 6.5.0 # -# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# WARNING: Any manual changes made to this file will be lost when pyuic6 is # run again. Do not edit this file unless you know what you are doing. -from PyQt5 import QtCore, QtGui, QtWidgets +from PyQt6 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(584, 377) - self.verticalLayout = QtWidgets.QVBoxLayout(Dialog) - self.verticalLayout.setObjectName("verticalLayout") - self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout = QtWidgets.QGridLayout(Dialog) self.gridLayout.setObjectName("gridLayout") - self.label = QtWidgets.QLabel(Dialog) + self.label = QtWidgets.QLabel(parent=Dialog) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 0, 0, 1, 1) - self.searchString = QtWidgets.QLineEdit(Dialog) + self.searchString = QtWidgets.QLineEdit(parent=Dialog) self.searchString.setObjectName("searchString") - self.gridLayout.addWidget(self.searchString, 0, 1, 1, 1) - self.verticalLayout.addLayout(self.gridLayout) - self.matchList = QtWidgets.QListWidget(Dialog) + self.gridLayout.addWidget(self.searchString, 0, 1, 1, 2) + self.matchList = QtWidgets.QListWidget(parent=Dialog) self.matchList.setObjectName("matchList") - self.verticalLayout.addWidget(self.matchList) - self.horizontalLayout_2 = QtWidgets.QHBoxLayout() - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.lblNote = QtWidgets.QLabel(Dialog) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) + self.gridLayout.addWidget(self.matchList, 1, 0, 1, 3) + self.lblNote = QtWidgets.QLabel(parent=Dialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.lblNote.sizePolicy().hasHeightForWidth()) self.lblNote.setSizePolicy(sizePolicy) self.lblNote.setMaximumSize(QtCore.QSize(46, 16777215)) - self.lblNote.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) + self.lblNote.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop) self.lblNote.setObjectName("lblNote") - self.horizontalLayout_2.addWidget(self.lblNote) - self.txtNote = QtWidgets.QLineEdit(Dialog) + self.gridLayout.addWidget(self.lblNote, 2, 0, 1, 2) + self.txtNote = QtWidgets.QLineEdit(parent=Dialog) self.txtNote.setObjectName("txtNote") - self.horizontalLayout_2.addWidget(self.txtNote) - self.verticalLayout.addLayout(self.horizontalLayout_2) + self.gridLayout.addWidget(self.txtNote, 2, 2, 1, 1) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") - self.radioTitle = QtWidgets.QRadioButton(Dialog) + self.dbPath = QtWidgets.QLabel(parent=Dialog) + self.dbPath.setText("") + self.dbPath.setObjectName("dbPath") + self.horizontalLayout.addWidget(self.dbPath) + self.radioTitle = QtWidgets.QRadioButton(parent=Dialog) self.radioTitle.setChecked(True) self.radioTitle.setObjectName("radioTitle") self.horizontalLayout.addWidget(self.radioTitle) - self.radioArtist = QtWidgets.QRadioButton(Dialog) + self.radioArtist = QtWidgets.QRadioButton(parent=Dialog) self.radioArtist.setObjectName("radioArtist") self.horizontalLayout.addWidget(self.radioArtist) - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) self.horizontalLayout.addItem(spacerItem) - self.btnAdd = QtWidgets.QPushButton(Dialog) + self.btnAdd = QtWidgets.QPushButton(parent=Dialog) self.btnAdd.setDefault(True) self.btnAdd.setObjectName("btnAdd") self.horizontalLayout.addWidget(self.btnAdd) - self.btnAddClose = QtWidgets.QPushButton(Dialog) + self.btnAddClose = QtWidgets.QPushButton(parent=Dialog) self.btnAddClose.setObjectName("btnAddClose") self.horizontalLayout.addWidget(self.btnAddClose) - self.btnClose = QtWidgets.QPushButton(Dialog) + self.btnClose = QtWidgets.QPushButton(parent=Dialog) self.btnClose.setObjectName("btnClose") self.horizontalLayout.addWidget(self.btnClose) - self.verticalLayout.addLayout(self.horizontalLayout) - self.dbPath = QtWidgets.QLabel(Dialog) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.dbPath.sizePolicy().hasHeightForWidth()) - self.dbPath.setSizePolicy(sizePolicy) - self.dbPath.setText("") - self.dbPath.setObjectName("dbPath") - self.verticalLayout.addWidget(self.dbPath) + self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 3) self.lblNote.setBuddy(self.txtNote) self.retranslateUi(Dialog) diff --git a/app/ui/downloadcsv_ui.py b/app/ui/downloadcsv_ui.py index dc231a9..2ef1c2e 100644 --- a/app/ui/downloadcsv_ui.py +++ b/app/ui/downloadcsv_ui.py @@ -1,33 +1,31 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'ui/downloadcsv.ui' +# Form implementation generated from reading ui file 'app/ui/downloadcsv.ui' # -# Created by: PyQt5 UI code generator 5.15.6 +# Created by: PyQt6 UI code generator 6.5.0 # -# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# WARNING: Any manual changes made to this file will be lost when pyuic6 is # run again. Do not edit this file unless you know what you are doing. -from PyQt5 import QtCore, QtGui, QtWidgets +from PyQt6 import QtCore, QtGui, QtWidgets class Ui_DateSelect(object): def setupUi(self, DateSelect): DateSelect.setObjectName("DateSelect") DateSelect.resize(280, 166) - self.buttonBox = QtWidgets.QDialogButtonBox(DateSelect) + self.buttonBox = QtWidgets.QDialogButtonBox(parent=DateSelect) self.buttonBox.setGeometry(QtCore.QRect(70, 110, 191, 32)) - self.buttonBox.setOrientation(QtCore.Qt.Horizontal) - self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) + self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) self.buttonBox.setObjectName("buttonBox") - self.dateTimeEdit = QtWidgets.QDateTimeEdit(DateSelect) + self.dateTimeEdit = QtWidgets.QDateTimeEdit(parent=DateSelect) self.dateTimeEdit.setGeometry(QtCore.QRect(70, 60, 194, 28)) self.dateTimeEdit.setCalendarPopup(True) self.dateTimeEdit.setObjectName("dateTimeEdit") - self.label = QtWidgets.QLabel(DateSelect) + self.label = QtWidgets.QLabel(parent=DateSelect) self.label.setGeometry(QtCore.QRect(10, 20, 261, 19)) self.label.setObjectName("label") - self.label_2 = QtWidgets.QLabel(DateSelect) + self.label_2 = QtWidgets.QLabel(parent=DateSelect) self.label_2.setGeometry(QtCore.QRect(15, 66, 51, 19)) self.label_2.setObjectName("label_2") diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index bf8af97..84d0270 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -551,10 +551,12 @@ padding-left: 8px; FreeSans 40 - 50 false + + color: black; + 00:00 @@ -600,7 +602,6 @@ padding-left: 8px; FreeSans 40 - 50 false @@ -649,7 +650,6 @@ padding-left: 8px; FreeSans 40 - 50 false @@ -681,46 +681,35 @@ padding-left: 8px; QFrame::Raised - - - - 10 - 10 - 31 - 19 - - - - End - - - Qt::AlignCenter - - - - - - 10 - 48 - 132 - 54 - - - - - FreeSans - 40 - 50 - false - - - - 00:00 - - - Qt::AlignCenter - - + + + + + End + + + Qt::AlignCenter + + + + + + + + FreeSans + 40 + false + + + + 00:00 + + + Qt::AlignCenter + + + + diff --git a/app/ui/main_window_ui.py b/app/ui/main_window_ui.py index c1f6947..2a1fcc5 100644 --- a/app/ui/main_window_ui.py +++ b/app/ui/main_window_ui.py @@ -1,14 +1,12 @@ -# -*- coding: utf-8 -*- - # Form implementation generated from reading ui file 'app/ui/main_window.ui' # -# Created by: PyQt5 UI code generator 5.15.9 +# Created by: PyQt6 UI code generator 6.5.0 # -# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# WARNING: Any manual changes made to this file will be lost when pyuic6 is # run again. Do not edit this file unless you know what you are doing. -from PyQt5 import QtCore, QtGui, QtWidgets +from PyQt6 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): @@ -17,10 +15,10 @@ class Ui_MainWindow(object): MainWindow.resize(1280, 857) MainWindow.setMinimumSize(QtCore.QSize(1280, 0)) icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(":/icons/musicmuster"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon.addPixmap(QtGui.QPixmap(":/icons/musicmuster"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) MainWindow.setWindowIcon(icon) MainWindow.setStyleSheet("") - self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget = QtWidgets.QWidget(parent=MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout_4 = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout_4.setObjectName("gridLayout_4") @@ -28,8 +26,8 @@ class Ui_MainWindow(object): self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") - self.previous_track_2 = QtWidgets.QLabel(self.centralwidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.previous_track_2 = QtWidgets.QLabel(parent=self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.previous_track_2.sizePolicy().hasHeightForWidth()) @@ -41,11 +39,11 @@ class Ui_MainWindow(object): self.previous_track_2.setFont(font) self.previous_track_2.setStyleSheet("background-color: #f8d7da;\n" "border: 1px solid rgb(85, 87, 83);") - self.previous_track_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.previous_track_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.previous_track_2.setObjectName("previous_track_2") self.verticalLayout_3.addWidget(self.previous_track_2) - self.current_track_2 = QtWidgets.QLabel(self.centralwidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.current_track_2 = QtWidgets.QLabel(parent=self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.current_track_2.sizePolicy().hasHeightForWidth()) @@ -57,11 +55,11 @@ class Ui_MainWindow(object): self.current_track_2.setFont(font) self.current_track_2.setStyleSheet("background-color: #d4edda;\n" "border: 1px solid rgb(85, 87, 83);") - self.current_track_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.current_track_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.current_track_2.setObjectName("current_track_2") self.verticalLayout_3.addWidget(self.current_track_2) - self.next_track_2 = QtWidgets.QLabel(self.centralwidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.next_track_2 = QtWidgets.QLabel(parent=self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.next_track_2.sizePolicy().hasHeightForWidth()) @@ -73,14 +71,14 @@ class Ui_MainWindow(object): self.next_track_2.setFont(font) self.next_track_2.setStyleSheet("background-color: #fff3cd;\n" "border: 1px solid rgb(85, 87, 83);") - self.next_track_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.next_track_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.next_track_2.setObjectName("next_track_2") self.verticalLayout_3.addWidget(self.next_track_2) self.horizontalLayout_3.addLayout(self.verticalLayout_3) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") - self.hdrPreviousTrack = QtWidgets.QLabel(self.centralwidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.hdrPreviousTrack = QtWidgets.QLabel(parent=self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.hdrPreviousTrack.sizePolicy().hasHeightForWidth()) @@ -97,8 +95,8 @@ class Ui_MainWindow(object): self.hdrPreviousTrack.setWordWrap(False) self.hdrPreviousTrack.setObjectName("hdrPreviousTrack") self.verticalLayout.addWidget(self.hdrPreviousTrack) - self.hdrCurrentTrack = QtWidgets.QPushButton(self.centralwidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.hdrCurrentTrack = QtWidgets.QPushButton(parent=self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.hdrCurrentTrack.sizePolicy().hasHeightForWidth()) @@ -115,8 +113,8 @@ class Ui_MainWindow(object): self.hdrCurrentTrack.setFlat(True) self.hdrCurrentTrack.setObjectName("hdrCurrentTrack") self.verticalLayout.addWidget(self.hdrCurrentTrack) - self.hdrNextTrack = QtWidgets.QPushButton(self.centralwidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + self.hdrNextTrack = QtWidgets.QPushButton(parent=self.centralwidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.hdrNextTrack.sizePolicy().hasHeightForWidth()) @@ -133,74 +131,74 @@ class Ui_MainWindow(object): self.hdrNextTrack.setObjectName("hdrNextTrack") self.verticalLayout.addWidget(self.hdrNextTrack) self.horizontalLayout_3.addLayout(self.verticalLayout) - self.frame_2 = QtWidgets.QFrame(self.centralwidget) + self.frame_2 = QtWidgets.QFrame(parent=self.centralwidget) self.frame_2.setMaximumSize(QtCore.QSize(230, 16777215)) - self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_2.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_2.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_2.setObjectName("frame_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.frame_2) self.gridLayout_2.setObjectName("gridLayout_2") - self.lblTOD = QtWidgets.QLabel(self.frame_2) + self.lblTOD = QtWidgets.QLabel(parent=self.frame_2) self.lblTOD.setMinimumSize(QtCore.QSize(208, 109)) font = QtGui.QFont() font.setPointSize(35) self.lblTOD.setFont(font) - self.lblTOD.setAlignment(QtCore.Qt.AlignCenter) + self.lblTOD.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.lblTOD.setObjectName("lblTOD") self.gridLayout_2.addWidget(self.lblTOD, 0, 0, 1, 1) self.horizontalLayout_3.addWidget(self.frame_2) self.gridLayout_4.addLayout(self.horizontalLayout_3, 0, 0, 1, 1) - self.frame_4 = QtWidgets.QFrame(self.centralwidget) + self.frame_4 = QtWidgets.QFrame(parent=self.centralwidget) self.frame_4.setMinimumSize(QtCore.QSize(0, 16)) self.frame_4.setAutoFillBackground(False) self.frame_4.setStyleSheet("background-color: rgb(154, 153, 150)") - self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_4.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_4.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_4.setObjectName("frame_4") self.gridLayout_4.addWidget(self.frame_4, 1, 0, 1, 1) - self.frame_6 = QtWidgets.QFrame(self.centralwidget) + self.frame_6 = QtWidgets.QFrame(parent=self.centralwidget) self.frame_6.setMinimumSize(QtCore.QSize(0, 16)) self.frame_6.setAutoFillBackground(False) self.frame_6.setStyleSheet("background-color: rgb(154, 153, 150)") - self.frame_6.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_6.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_6.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_6.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_6.setObjectName("frame_6") self.gridLayout_4.addWidget(self.frame_6, 3, 0, 1, 1) - self.splitter = QtWidgets.QSplitter(self.centralwidget) - self.splitter.setOrientation(QtCore.Qt.Vertical) + self.splitter = QtWidgets.QSplitter(parent=self.centralwidget) + self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical) self.splitter.setObjectName("splitter") - self.tabPlaylist = QtWidgets.QTabWidget(self.splitter) + self.tabPlaylist = QtWidgets.QTabWidget(parent=self.splitter) self.tabPlaylist.setDocumentMode(False) self.tabPlaylist.setTabsClosable(True) self.tabPlaylist.setMovable(True) self.tabPlaylist.setObjectName("tabPlaylist") - self.tabInfolist = InfoTabs(self.splitter) + self.tabInfolist = InfoTabs(parent=self.splitter) self.tabInfolist.setDocumentMode(False) self.tabInfolist.setTabsClosable(True) self.tabInfolist.setMovable(True) self.tabInfolist.setObjectName("tabInfolist") self.gridLayout_4.addWidget(self.splitter, 4, 0, 1, 1) - self.frame_5 = QtWidgets.QFrame(self.centralwidget) + self.frame_5 = QtWidgets.QFrame(parent=self.centralwidget) self.frame_5.setStyleSheet("background-color: rgb(192, 191, 188)") - self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_5.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_5.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_5.setObjectName("frame_5") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.frame_5) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") - self.frame = QtWidgets.QFrame(self.frame_5) + self.frame = QtWidgets.QFrame(parent=self.frame_5) self.frame.setMinimumSize(QtCore.QSize(321, 0)) - self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame.setObjectName("frame") self.gridLayout = QtWidgets.QGridLayout(self.frame) self.gridLayout.setObjectName("gridLayout") - self.label_x = QtWidgets.QLabel(self.frame) - self.label_x.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_x = QtWidgets.QLabel(parent=self.frame) + self.label_x.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.label_x.setObjectName("label_x") self.gridLayout.addWidget(self.label_x, 0, 0, 1, 1) - self.label_track_length = QtWidgets.QLabel(self.frame) + self.label_track_length = QtWidgets.QLabel(parent=self.frame) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(16) @@ -208,11 +206,11 @@ class Ui_MainWindow(object): self.label_track_length.setScaledContents(False) self.label_track_length.setObjectName("label_track_length") self.gridLayout.addWidget(self.label_track_length, 0, 1, 1, 1) - self.label_x_2 = QtWidgets.QLabel(self.frame) - self.label_x_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_x_2 = QtWidgets.QLabel(parent=self.frame) + self.label_x_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.label_x_2.setObjectName("label_x_2") self.gridLayout.addWidget(self.label_x_2, 0, 2, 1, 1) - self.label_start_time = QtWidgets.QLabel(self.frame) + self.label_start_time = QtWidgets.QLabel(parent=self.frame) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(16) @@ -220,11 +218,11 @@ class Ui_MainWindow(object): self.label_start_time.setScaledContents(False) self.label_start_time.setObjectName("label_start_time") self.gridLayout.addWidget(self.label_start_time, 0, 3, 1, 1) - self.label_7 = QtWidgets.QLabel(self.frame) - self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_7 = QtWidgets.QLabel(parent=self.frame) + self.label_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1) - self.label_fade_length = QtWidgets.QLabel(self.frame) + self.label_fade_length = QtWidgets.QLabel(parent=self.frame) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(16) @@ -232,11 +230,11 @@ class Ui_MainWindow(object): self.label_fade_length.setScaledContents(False) self.label_fade_length.setObjectName("label_fade_length") self.gridLayout.addWidget(self.label_fade_length, 1, 1, 1, 1) - self.label_8 = QtWidgets.QLabel(self.frame) - self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_8 = QtWidgets.QLabel(parent=self.frame) + self.label_8.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 1, 2, 1, 1) - self.label_end_time = QtWidgets.QLabel(self.frame) + self.label_end_time = QtWidgets.QLabel(parent=self.frame) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(16) @@ -244,126 +242,125 @@ class Ui_MainWindow(object): self.label_end_time.setScaledContents(False) self.label_end_time.setObjectName("label_end_time") self.gridLayout.addWidget(self.label_end_time, 1, 3, 1, 1) - self.btnFade = QtWidgets.QPushButton(self.frame) + self.btnFade = QtWidgets.QPushButton(parent=self.frame) icon1 = QtGui.QIcon() - icon1.addPixmap(QtGui.QPixmap(":/icons/fade"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon1.addPixmap(QtGui.QPixmap(":/icons/fade"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.btnFade.setIcon(icon1) self.btnFade.setIconSize(QtCore.QSize(30, 30)) self.btnFade.setObjectName("btnFade") self.gridLayout.addWidget(self.btnFade, 2, 0, 1, 2) - self.btnStop = QtWidgets.QPushButton(self.frame) + self.btnStop = QtWidgets.QPushButton(parent=self.frame) icon2 = QtGui.QIcon() - icon2.addPixmap(QtGui.QPixmap(":/icons/stopsign"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon2.addPixmap(QtGui.QPixmap(":/icons/stopsign"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.btnStop.setIcon(icon2) self.btnStop.setIconSize(QtCore.QSize(30, 30)) self.btnStop.setObjectName("btnStop") self.gridLayout.addWidget(self.btnStop, 2, 2, 1, 2) self.horizontalLayout.addWidget(self.frame) - self.frame_elapsed = QtWidgets.QFrame(self.frame_5) + self.frame_elapsed = QtWidgets.QFrame(parent=self.frame_5) self.frame_elapsed.setMinimumSize(QtCore.QSize(0, 112)) self.frame_elapsed.setStyleSheet("") - self.frame_elapsed.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_elapsed.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_elapsed.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_elapsed.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_elapsed.setObjectName("frame_elapsed") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame_elapsed) self.verticalLayout_4.setObjectName("verticalLayout_4") - self.label = QtWidgets.QLabel(self.frame_elapsed) - self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label = QtWidgets.QLabel(parent=self.frame_elapsed) + self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label.setObjectName("label") self.verticalLayout_4.addWidget(self.label) - self.label_elapsed_timer = QtWidgets.QLabel(self.frame_elapsed) + self.label_elapsed_timer = QtWidgets.QLabel(parent=self.frame_elapsed) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(40) font.setBold(False) - font.setWeight(50) self.label_elapsed_timer.setFont(font) - self.label_elapsed_timer.setAlignment(QtCore.Qt.AlignCenter) + self.label_elapsed_timer.setStyleSheet("color: black;") + self.label_elapsed_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label_elapsed_timer.setObjectName("label_elapsed_timer") self.verticalLayout_4.addWidget(self.label_elapsed_timer) self.horizontalLayout.addWidget(self.frame_elapsed) - self.frame_fade = QtWidgets.QFrame(self.frame_5) + self.frame_fade = QtWidgets.QFrame(parent=self.frame_5) self.frame_fade.setMinimumSize(QtCore.QSize(0, 112)) self.frame_fade.setStyleSheet("") - self.frame_fade.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_fade.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_fade.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_fade.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_fade.setObjectName("frame_fade") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.frame_fade) self.verticalLayout_2.setObjectName("verticalLayout_2") - self.label_4 = QtWidgets.QLabel(self.frame_fade) - self.label_4.setAlignment(QtCore.Qt.AlignCenter) + self.label_4 = QtWidgets.QLabel(parent=self.frame_fade) + self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label_4.setObjectName("label_4") self.verticalLayout_2.addWidget(self.label_4) - self.label_fade_timer = QtWidgets.QLabel(self.frame_fade) + self.label_fade_timer = QtWidgets.QLabel(parent=self.frame_fade) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(40) font.setBold(False) - font.setWeight(50) self.label_fade_timer.setFont(font) - self.label_fade_timer.setAlignment(QtCore.Qt.AlignCenter) + self.label_fade_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label_fade_timer.setObjectName("label_fade_timer") self.verticalLayout_2.addWidget(self.label_fade_timer) self.horizontalLayout.addWidget(self.frame_fade) - self.frame_silent = QtWidgets.QFrame(self.frame_5) + self.frame_silent = QtWidgets.QFrame(parent=self.frame_5) self.frame_silent.setMinimumSize(QtCore.QSize(0, 112)) self.frame_silent.setStyleSheet("") - self.frame_silent.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_silent.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_silent.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_silent.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_silent.setObjectName("frame_silent") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.frame_silent) self.verticalLayout_5.setObjectName("verticalLayout_5") - self.label_5 = QtWidgets.QLabel(self.frame_silent) - self.label_5.setAlignment(QtCore.Qt.AlignCenter) + self.label_5 = QtWidgets.QLabel(parent=self.frame_silent) + self.label_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label_5.setObjectName("label_5") self.verticalLayout_5.addWidget(self.label_5) - self.label_silent_timer = QtWidgets.QLabel(self.frame_silent) + self.label_silent_timer = QtWidgets.QLabel(parent=self.frame_silent) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(40) font.setBold(False) - font.setWeight(50) self.label_silent_timer.setFont(font) - self.label_silent_timer.setAlignment(QtCore.Qt.AlignCenter) + self.label_silent_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label_silent_timer.setObjectName("label_silent_timer") self.verticalLayout_5.addWidget(self.label_silent_timer) self.horizontalLayout.addWidget(self.frame_silent) - self.frame_end = QtWidgets.QFrame(self.frame_5) + self.frame_end = QtWidgets.QFrame(parent=self.frame_5) self.frame_end.setMinimumSize(QtCore.QSize(0, 112)) self.frame_end.setStyleSheet("") - self.frame_end.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_end.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_end.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_end.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_end.setObjectName("frame_end") - self.label_6 = QtWidgets.QLabel(self.frame_end) - self.label_6.setGeometry(QtCore.QRect(10, 10, 31, 19)) - self.label_6.setAlignment(QtCore.Qt.AlignCenter) + self.gridLayout_5 = QtWidgets.QGridLayout(self.frame_end) + self.gridLayout_5.setObjectName("gridLayout_5") + self.label_6 = QtWidgets.QLabel(parent=self.frame_end) + self.label_6.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label_6.setObjectName("label_6") - self.label_end_timer = QtWidgets.QLabel(self.frame_end) - self.label_end_timer.setGeometry(QtCore.QRect(10, 48, 132, 54)) + self.gridLayout_5.addWidget(self.label_6, 0, 0, 1, 1) + self.label_end_timer = QtWidgets.QLabel(parent=self.frame_end) font = QtGui.QFont() font.setFamily("FreeSans") font.setPointSize(40) font.setBold(False) - font.setWeight(50) self.label_end_timer.setFont(font) - self.label_end_timer.setAlignment(QtCore.Qt.AlignCenter) + self.label_end_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) self.label_end_timer.setObjectName("label_end_timer") + self.gridLayout_5.addWidget(self.label_end_timer, 1, 0, 1, 1) self.horizontalLayout.addWidget(self.frame_end) - self.frame_3 = QtWidgets.QFrame(self.frame_5) + self.frame_3 = QtWidgets.QFrame(parent=self.frame_5) self.frame_3.setMinimumSize(QtCore.QSize(152, 112)) self.frame_3.setMaximumSize(QtCore.QSize(184, 16777215)) - self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel) - self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised) + self.frame_3.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) + self.frame_3.setFrameShadow(QtWidgets.QFrame.Shadow.Raised) self.frame_3.setObjectName("frame_3") self.gridLayout_3 = QtWidgets.QGridLayout(self.frame_3) self.gridLayout_3.setObjectName("gridLayout_3") - self.btnDrop3db = QtWidgets.QPushButton(self.frame_3) + self.btnDrop3db = QtWidgets.QPushButton(parent=self.frame_3) self.btnDrop3db.setMinimumSize(QtCore.QSize(132, 36)) self.btnDrop3db.setMaximumSize(QtCore.QSize(164, 16777215)) self.btnDrop3db.setCheckable(True) self.btnDrop3db.setObjectName("btnDrop3db") self.gridLayout_3.addWidget(self.btnDrop3db, 0, 0, 1, 1) - self.btnHidePlayed = QtWidgets.QPushButton(self.frame_3) + self.btnHidePlayed = QtWidgets.QPushButton(parent=self.frame_3) self.btnHidePlayed.setMinimumSize(QtCore.QSize(132, 36)) self.btnHidePlayed.setMaximumSize(QtCore.QSize(164, 16777215)) self.btnHidePlayed.setCheckable(True) @@ -372,142 +369,142 @@ class Ui_MainWindow(object): self.horizontalLayout.addWidget(self.frame_3) self.horizontalLayout_2.addLayout(self.horizontalLayout) self.gridLayout_4.addWidget(self.frame_5, 5, 0, 1, 1) - self.cartsWidget = QtWidgets.QWidget(self.centralwidget) + self.cartsWidget = QtWidgets.QWidget(parent=self.centralwidget) self.cartsWidget.setObjectName("cartsWidget") self.horizontalLayout_Carts = QtWidgets.QHBoxLayout(self.cartsWidget) self.horizontalLayout_Carts.setObjectName("horizontalLayout_Carts") - spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) self.horizontalLayout_Carts.addItem(spacerItem) self.gridLayout_4.addWidget(self.cartsWidget, 2, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) - self.menubar = QtWidgets.QMenuBar(MainWindow) + self.menubar = QtWidgets.QMenuBar(parent=MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 29)) self.menubar.setObjectName("menubar") - self.menuFile = QtWidgets.QMenu(self.menubar) + self.menuFile = QtWidgets.QMenu(parent=self.menubar) self.menuFile.setObjectName("menuFile") - self.menuPlaylist = QtWidgets.QMenu(self.menubar) + self.menuPlaylist = QtWidgets.QMenu(parent=self.menubar) self.menuPlaylist.setObjectName("menuPlaylist") - self.menuSearc_h = QtWidgets.QMenu(self.menubar) + self.menuSearc_h = QtWidgets.QMenu(parent=self.menubar) self.menuSearc_h.setObjectName("menuSearc_h") - self.menuHelp = QtWidgets.QMenu(self.menubar) + self.menuHelp = QtWidgets.QMenu(parent=self.menubar) self.menuHelp.setObjectName("menuHelp") MainWindow.setMenuBar(self.menubar) - self.statusbar = QtWidgets.QStatusBar(MainWindow) + self.statusbar = QtWidgets.QStatusBar(parent=MainWindow) self.statusbar.setEnabled(True) self.statusbar.setStyleSheet("background-color: rgb(211, 215, 207);") self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) - self.actionPlay_next = QtWidgets.QAction(MainWindow) + self.actionPlay_next = QtGui.QAction(parent=MainWindow) icon3 = QtGui.QIcon() - icon3.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon3.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-play.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.actionPlay_next.setIcon(icon3) self.actionPlay_next.setObjectName("actionPlay_next") - self.actionSkipToNext = QtWidgets.QAction(MainWindow) + self.actionSkipToNext = QtGui.QAction(parent=MainWindow) icon4 = QtGui.QIcon() - icon4.addPixmap(QtGui.QPixmap(":/icons/next"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon4.addPixmap(QtGui.QPixmap(":/icons/next"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.actionSkipToNext.setIcon(icon4) self.actionSkipToNext.setObjectName("actionSkipToNext") - self.actionInsertTrack = QtWidgets.QAction(MainWindow) + self.actionInsertTrack = QtGui.QAction(parent=MainWindow) icon5 = QtGui.QIcon() - icon5.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_search_database.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon5.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_search_database.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.actionInsertTrack.setIcon(icon5) self.actionInsertTrack.setObjectName("actionInsertTrack") - self.actionAdd_file = QtWidgets.QAction(MainWindow) + self.actionAdd_file = QtGui.QAction(parent=MainWindow) icon6 = QtGui.QIcon() - icon6.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_open_file.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon6.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_open_file.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.actionAdd_file.setIcon(icon6) self.actionAdd_file.setObjectName("actionAdd_file") - self.actionFade = QtWidgets.QAction(MainWindow) + self.actionFade = QtGui.QAction(parent=MainWindow) icon7 = QtGui.QIcon() - icon7.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-fade.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon7.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-fade.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.actionFade.setIcon(icon7) self.actionFade.setObjectName("actionFade") - self.actionStop = QtWidgets.QAction(MainWindow) + self.actionStop = QtGui.QAction(parent=MainWindow) icon8 = QtGui.QIcon() - icon8.addPixmap(QtGui.QPixmap(":/icons/stop"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon8.addPixmap(QtGui.QPixmap(":/icons/stop"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.actionStop.setIcon(icon8) self.actionStop.setObjectName("actionStop") - self.action_Clear_selection = QtWidgets.QAction(MainWindow) + self.action_Clear_selection = QtGui.QAction(parent=MainWindow) self.action_Clear_selection.setObjectName("action_Clear_selection") - self.action_Resume_previous = QtWidgets.QAction(MainWindow) + self.action_Resume_previous = QtGui.QAction(parent=MainWindow) icon9 = QtGui.QIcon() - icon9.addPixmap(QtGui.QPixmap(":/icons/previous"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon9.addPixmap(QtGui.QPixmap(":/icons/previous"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) self.action_Resume_previous.setIcon(icon9) self.action_Resume_previous.setObjectName("action_Resume_previous") - self.actionE_xit = QtWidgets.QAction(MainWindow) + self.actionE_xit = QtGui.QAction(parent=MainWindow) self.actionE_xit.setObjectName("actionE_xit") - self.actionTest = QtWidgets.QAction(MainWindow) + self.actionTest = QtGui.QAction(parent=MainWindow) self.actionTest.setObjectName("actionTest") - self.actionOpenPlaylist = QtWidgets.QAction(MainWindow) + self.actionOpenPlaylist = QtGui.QAction(parent=MainWindow) self.actionOpenPlaylist.setObjectName("actionOpenPlaylist") - self.actionNewPlaylist = QtWidgets.QAction(MainWindow) + self.actionNewPlaylist = QtGui.QAction(parent=MainWindow) self.actionNewPlaylist.setObjectName("actionNewPlaylist") - self.actionTestFunction = QtWidgets.QAction(MainWindow) + self.actionTestFunction = QtGui.QAction(parent=MainWindow) self.actionTestFunction.setObjectName("actionTestFunction") - self.actionSkipToFade = QtWidgets.QAction(MainWindow) + self.actionSkipToFade = QtGui.QAction(parent=MainWindow) self.actionSkipToFade.setObjectName("actionSkipToFade") - self.actionSkipToEnd = QtWidgets.QAction(MainWindow) + self.actionSkipToEnd = QtGui.QAction(parent=MainWindow) self.actionSkipToEnd.setObjectName("actionSkipToEnd") - self.actionClosePlaylist = QtWidgets.QAction(MainWindow) + self.actionClosePlaylist = QtGui.QAction(parent=MainWindow) self.actionClosePlaylist.setEnabled(True) self.actionClosePlaylist.setObjectName("actionClosePlaylist") - self.actionRenamePlaylist = QtWidgets.QAction(MainWindow) + self.actionRenamePlaylist = QtGui.QAction(parent=MainWindow) self.actionRenamePlaylist.setEnabled(True) self.actionRenamePlaylist.setObjectName("actionRenamePlaylist") - self.actionDeletePlaylist = QtWidgets.QAction(MainWindow) + self.actionDeletePlaylist = QtGui.QAction(parent=MainWindow) self.actionDeletePlaylist.setEnabled(True) self.actionDeletePlaylist.setObjectName("actionDeletePlaylist") - self.actionMoveSelected = QtWidgets.QAction(MainWindow) + self.actionMoveSelected = QtGui.QAction(parent=MainWindow) self.actionMoveSelected.setObjectName("actionMoveSelected") - self.actionExport_playlist = QtWidgets.QAction(MainWindow) + self.actionExport_playlist = QtGui.QAction(parent=MainWindow) self.actionExport_playlist.setObjectName("actionExport_playlist") - self.actionSetNext = QtWidgets.QAction(MainWindow) + self.actionSetNext = QtGui.QAction(parent=MainWindow) self.actionSetNext.setObjectName("actionSetNext") - self.actionSelect_next_track = QtWidgets.QAction(MainWindow) + self.actionSelect_next_track = QtGui.QAction(parent=MainWindow) self.actionSelect_next_track.setObjectName("actionSelect_next_track") - self.actionSelect_previous_track = QtWidgets.QAction(MainWindow) + self.actionSelect_previous_track = QtGui.QAction(parent=MainWindow) self.actionSelect_previous_track.setObjectName("actionSelect_previous_track") - self.actionSelect_played_tracks = QtWidgets.QAction(MainWindow) + self.actionSelect_played_tracks = QtGui.QAction(parent=MainWindow) self.actionSelect_played_tracks.setObjectName("actionSelect_played_tracks") - self.actionMoveUnplayed = QtWidgets.QAction(MainWindow) + self.actionMoveUnplayed = QtGui.QAction(parent=MainWindow) self.actionMoveUnplayed.setObjectName("actionMoveUnplayed") - self.actionAdd_note = QtWidgets.QAction(MainWindow) + self.actionAdd_note = QtGui.QAction(parent=MainWindow) self.actionAdd_note.setObjectName("actionAdd_note") - self.actionEnable_controls = QtWidgets.QAction(MainWindow) + self.actionEnable_controls = QtGui.QAction(parent=MainWindow) self.actionEnable_controls.setObjectName("actionEnable_controls") - self.actionImport = QtWidgets.QAction(MainWindow) + self.actionImport = QtGui.QAction(parent=MainWindow) self.actionImport.setObjectName("actionImport") - self.actionDownload_CSV_of_played_tracks = QtWidgets.QAction(MainWindow) + self.actionDownload_CSV_of_played_tracks = QtGui.QAction(parent=MainWindow) self.actionDownload_CSV_of_played_tracks.setObjectName("actionDownload_CSV_of_played_tracks") - self.actionSearch = QtWidgets.QAction(MainWindow) + self.actionSearch = QtGui.QAction(parent=MainWindow) self.actionSearch.setObjectName("actionSearch") - self.actionInsertSectionHeader = QtWidgets.QAction(MainWindow) + self.actionInsertSectionHeader = QtGui.QAction(parent=MainWindow) self.actionInsertSectionHeader.setObjectName("actionInsertSectionHeader") - self.actionRemove = QtWidgets.QAction(MainWindow) + self.actionRemove = QtGui.QAction(parent=MainWindow) self.actionRemove.setObjectName("actionRemove") - self.actionFind_next = QtWidgets.QAction(MainWindow) + self.actionFind_next = QtGui.QAction(parent=MainWindow) self.actionFind_next.setObjectName("actionFind_next") - self.actionFind_previous = QtWidgets.QAction(MainWindow) + self.actionFind_previous = QtGui.QAction(parent=MainWindow) self.actionFind_previous.setObjectName("actionFind_previous") - self.action_About = QtWidgets.QAction(MainWindow) + self.action_About = QtGui.QAction(parent=MainWindow) self.action_About.setObjectName("action_About") - self.actionSave_as_template = QtWidgets.QAction(MainWindow) + self.actionSave_as_template = QtGui.QAction(parent=MainWindow) self.actionSave_as_template.setObjectName("actionSave_as_template") - self.actionNew_from_template = QtWidgets.QAction(MainWindow) + self.actionNew_from_template = QtGui.QAction(parent=MainWindow) self.actionNew_from_template.setObjectName("actionNew_from_template") - self.actionDebug = QtWidgets.QAction(MainWindow) + self.actionDebug = QtGui.QAction(parent=MainWindow) self.actionDebug.setObjectName("actionDebug") - self.actionAdd_cart = QtWidgets.QAction(MainWindow) + self.actionAdd_cart = QtGui.QAction(parent=MainWindow) self.actionAdd_cart.setObjectName("actionAdd_cart") - self.actionMark_for_moving = QtWidgets.QAction(MainWindow) + self.actionMark_for_moving = QtGui.QAction(parent=MainWindow) self.actionMark_for_moving.setObjectName("actionMark_for_moving") - self.actionPaste = QtWidgets.QAction(MainWindow) + self.actionPaste = QtGui.QAction(parent=MainWindow) self.actionPaste.setObjectName("actionPaste") - self.actionResume = QtWidgets.QAction(MainWindow) + self.actionResume = QtGui.QAction(parent=MainWindow) self.actionResume.setObjectName("actionResume") - self.actionSearch_title_in_Wikipedia = QtWidgets.QAction(MainWindow) + self.actionSearch_title_in_Wikipedia = QtGui.QAction(parent=MainWindow) self.actionSearch_title_in_Wikipedia.setObjectName("actionSearch_title_in_Wikipedia") - self.actionSearch_title_in_Songfacts = QtWidgets.QAction(MainWindow) + self.actionSearch_title_in_Songfacts = QtGui.QAction(parent=MainWindow) self.actionSearch_title_in_Songfacts.setObjectName("actionSearch_title_in_Songfacts") self.menuFile.addAction(self.actionNewPlaylist) self.menuFile.addAction(self.actionNew_from_template) @@ -662,4 +659,3 @@ class Ui_MainWindow(object): self.actionSearch_title_in_Songfacts.setText(_translate("MainWindow", "Search title in Songfacts")) self.actionSearch_title_in_Songfacts.setShortcut(_translate("MainWindow", "Ctrl+S")) from infotabs import InfoTabs -import icons_rc diff --git a/poetry.lock b/poetry.lock index e15c0f5..c41d3dd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -945,19 +945,95 @@ files = [ ] [[package]] -name = "pyqt5-stubs" -version = "5.15.6.0" -description = "PEP561 stub files for the PyQt5 framework" -category = "dev" +name = "pyqt6" +version = "6.5.0" +description = "Python bindings for the Qt cross platform application toolkit" +category = "main" optional = false -python-versions = ">= 3.5" +python-versions = ">=3.6.1" files = [ - {file = "PyQt5-stubs-5.15.6.0.tar.gz", hash = "sha256:91270ac23ebf38a1dc04cd97aa852cd08af82dc839100e5395af1447e3e99707"}, - {file = "PyQt5_stubs-5.15.6.0-py3-none-any.whl", hash = "sha256:7fb8177c72489a8911f021b7bd7c33f12c87f6dba92dcef3fdcdb5d9400f0f3f"}, + {file = "PyQt6-6.5.0-cp37-abi3-macosx_10_14_universal2.whl", hash = "sha256:e3c8289d9a509be897265981b77eb29e64ce29e9d221fdf52545c2c95e819c9b"}, + {file = "PyQt6-6.5.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2b0d9628134811fbfc988d1757111ca8e25cb697f136fa54c969fb1a4d4a61d1"}, + {file = "PyQt6-6.5.0-cp37-abi3-win_amd64.whl", hash = "sha256:99ea0e68f548509b7ef97cded0feeaf3dca7d1fe719388569407326be3be38c2"}, + {file = "PyQt6-6.5.0.tar.gz", hash = "sha256:b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc"}, ] -[package.extras] -dev = ["mypy (==0.930)", "pytest", "pytest-xvfb"] +[package.dependencies] +PyQt6-Qt6 = ">=6.5.0" +PyQt6-sip = ">=13.4,<14" + +[[package]] +name = "pyqt6-qt6" +version = "6.5.0" +description = "The subset of a Qt installation needed by PyQt6." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "PyQt6_Qt6-6.5.0-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:1178fcd5e9590fec4261e06a753a8fa028222ec0bd9a0788b3bd37720fbbe6cf"}, + {file = "PyQt6_Qt6-6.5.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:9d82d8af986a0eef55905f309fdda4303d1354eba10175824ae62ab6547f7a96"}, + {file = "PyQt6_Qt6-6.5.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:5f40ef19eb632731828283361f800928517650c74c914c093af9a364d6843953"}, + {file = "PyQt6_Qt6-6.5.0-py3-none-win_amd64.whl", hash = "sha256:8c1f898f4d02a31615fe7613a38f82b489fb2c8554965c917d551470731635a8"}, +] + +[[package]] +name = "pyqt6-sip" +version = "13.5.0" +description = "The sip module support for PyQt6" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "PyQt6_sip-13.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:447c0df1c8796d2dbb9e5c1cef2ba2a59a38a2bce2fa438246c096a52530f331"}, + {file = "PyQt6_sip-13.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cd56a17e51bc84203219023e956ac42ba8aa4195adb1126476f0cb751a22e986"}, + {file = "PyQt6_sip-13.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:c69072f4afc8e75799d3166f5d3b405eaa7bba998f61e3c8f0dd3a78a234015c"}, + {file = "PyQt6_sip-13.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6fed31d93b2ee8115621f2aeb686068ad1b75084df6af5262c4a1818064014d6"}, + {file = "PyQt6_sip-13.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ee6a198346f1d9e2b675232b6d19d1517652594d7fdc72bb32d0bced6cb2e08d"}, + {file = "PyQt6_sip-13.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a12a24ca84c482a8baa07081f73e11cee17c0c9220021319eada087d2ea8267"}, + {file = "PyQt6_sip-13.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:34e9d5a6f2d77fd7829ce93f59406193547dc77316b63a979bf8de84bb2d7d97"}, + {file = "PyQt6_sip-13.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1ffb48367e0a8bcfe6142c039a433905d606785f7085c3dff3f7801f0afd9fec"}, + {file = "PyQt6_sip-13.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:42e802b99293eff99061115b122801574682b950c2f01e68ac14162f35239bce"}, + {file = "PyQt6_sip-13.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d79d1c557d35747feef11e943723d9a662a819070fedf96e85920bfd5ad48d1"}, + {file = "PyQt6_sip-13.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6e72061953b0bd07d6b41c710bb654788ca61a8f336d169b59c96fd15fdf681a"}, + {file = "PyQt6_sip-13.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:640011d5642ee94dce6cfde234631830ca7164bef138772c4ad05b80dcb88e10"}, + {file = "PyQt6_sip-13.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2cbc73dd3a2e0d6669b47fbf0ed5494a3cda996a2d0db465eea2a825a0c12733"}, + {file = "PyQt6_sip-13.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:289c37bf808ecc110c6f85afe29083f90170dbdfb76db412281acabefc0b7ede"}, + {file = "PyQt6_sip-13.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:bf705dbbf77029c682234cdaa78970899d9d49b40b7b2d942b2af4f0f6c6d566"}, + {file = "PyQt6_sip-13.5.0.tar.gz", hash = "sha256:61c702b7f81796a27c294ba76f1cba3408161f06deb801373c42670ed36f722a"}, +] + +[[package]] +name = "pyqt6-webengine" +version = "6.5.0" +description = "Python bindings for the Qt WebEngine framework" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "PyQt6_WebEngine-6.5.0-cp37-abi3-macosx_10_14_universal2.whl", hash = "sha256:45849365b1ba196724dc6a520ceed3ddaca4e9c09da28eac3c448d26cefdf001"}, + {file = "PyQt6_WebEngine-6.5.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:26ff8d3362328bed09f8f1155c48122b83daf35998d6d299de1dbfcd9d4fc47c"}, + {file = "PyQt6_WebEngine-6.5.0-cp37-abi3-win_amd64.whl", hash = "sha256:83a7e97a518d4001fb6c22e26a71e28d6d3b38c40ee0cbe21abfa46982b203d3"}, + {file = "PyQt6_WebEngine-6.5.0.tar.gz", hash = "sha256:8ba9db56c4c181a2a2fab1673ca35e5b63dc69113f085027ddc43c710b6d6ee9"}, +] + +[package.dependencies] +PyQt6 = ">=6.2.0" +PyQt6-sip = ">=13.4,<14" +PyQt6-WebEngine-Qt6 = ">=6.5.0" + +[[package]] +name = "pyqt6-webengine-qt6" +version = "6.5.0" +description = "The subset of a Qt installation needed by PyQt6-WebEngine." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "PyQt6_WebEngine_Qt6-6.5.0-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:8d7eee4e864c89d6865ff95394dec3aa5b6620ac20412d09a313e83a5baaecb5"}, + {file = "PyQt6_WebEngine_Qt6-6.5.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:ee2300d372cf38bfb2e426e5036f58bfcaf121e460dc7f89913dc7bd6c3c8953"}, + {file = "PyQt6_WebEngine_Qt6-6.5.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:6f2be9044060ed3e9e0c55e0d8863fae08c815e994bcf17f2ff24945a2264ff7"}, + {file = "PyQt6_WebEngine_Qt6-6.5.0-py3-none-win_amd64.whl", hash = "sha256:5acadcc6608df8d9eba385e04ced2fc88e7eb92e366556ee4ac3c57a02c00088"}, +] [[package]] name = "pyqtwebengine" @@ -1403,4 +1479,4 @@ test = ["websockets"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "cfa9b80c408bc44f03400ff98c97ae0ec799ab39f6e70fa1bf1119dd89402fa1" +content-hash = "5b77f72eb2ceb776d3aaf74c918b162984b5348dff61b9267d5e3ab68388cf1c" diff --git a/pyproject.toml b/pyproject.toml index dd7d73e..e828c90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,14 +9,12 @@ python = "^3.9" tinytag = "^1.7.0" SQLAlchemy = "^1.4.31" python-vlc = "^3.0.12118" -PyQt5 = "^5.15.6" mysqlclient = "^2.1.0" mutagen = "^1.45.1" alembic = "^1.7.5" psutil = "^5.9.0" PyQtWebEngine = "^5.15.5" pydub = "^0.25.1" -PyQt5-sip = "^12.9.1" types-psutil = "^5.8.22" python-slugify = "^6.1.2" thefuzz = "^0.19.0" @@ -25,10 +23,11 @@ pyfzf = "^0.3.1" pydymenu = "^0.5.2" stackprinter = "^0.2.10" obsws-python = "^1.4.2" +pyqt6 = "^6.5.0" +pyqt6-webengine = "^6.5.0" [tool.poetry.dev-dependencies] ipdb = "^0.13.9" -PyQt5-stubs = "^5.15.2" pytest = "^7.0.1" pytest-qt = "^4.0.2" pydub-stubs = "^0.25.1" diff --git a/web.py b/web.py new file mode 100755 index 0000000..5527215 --- /dev/null +++ b/web.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 +import sys +from pprint import pprint +from PyQt6.QtWidgets import QApplication, QLabel +from PyQt6.QtGui import QColor, QPalette + +app = QApplication(sys.argv) +pal = app.palette() +pal.setColor(QPalette.ColorRole.WindowText, QColor("#000000")) +app.setPalette(pal) + +label = QLabel("my label") +label.resize(300, 200) + +label.show() + +sys.exit(app.exec())