Merge branch 'main' of github.com:billypom/musicpom
This commit is contained in:
commit
58df3d8c9b
@ -20,7 +20,8 @@ class AddToPlaylistWindow(QDialog):
|
||||
listWidget = QListWidget(self)
|
||||
for k, v in list_options:
|
||||
listWidget.addItem(f"{k} | {v}")
|
||||
#
|
||||
|
||||
# add ui elements to window
|
||||
label = QLabel("Playlists")
|
||||
label.setFont(QFont("Sans", weight=QFont.Bold))
|
||||
layout.addWidget(label)
|
||||
@ -34,14 +35,5 @@ class AddToPlaylistWindow(QDialog):
|
||||
self.show()
|
||||
|
||||
def save(self):
|
||||
# Upcate the config fields
|
||||
for key in self.input_fields:
|
||||
for category in self.config.sections():
|
||||
if key in self.config[category]:
|
||||
self.config[category][key] = self.input_fields[key].text()
|
||||
|
||||
# Write the config file
|
||||
with open("config.ini", "w") as configfile:
|
||||
self.config.write(configfile)
|
||||
|
||||
print(self.listWidget.selectedItems())
|
||||
self.close()
|
||||
|
||||
19
components/CreatePlaylistWindow.py
Normal file
19
components/CreatePlaylistWindow.py
Normal file
@ -0,0 +1,19 @@
|
||||
from PyQt5.QtWidgets import QInputDialog
|
||||
|
||||
|
||||
class CreatePlaylistWindow(QInputDialog):
|
||||
def __init__(self, list_options: dict):
|
||||
super(CreatePlaylistWindow, self).__init__()
|
||||
self.setWindowTitle("Choose")
|
||||
self.setLabelText("Enter playlist name:")
|
||||
self.exec()
|
||||
|
||||
def done(self, result: int) -> None:
|
||||
value = self.textValue()
|
||||
if result:
|
||||
print(value)
|
||||
else:
|
||||
print("NOPE")
|
||||
# FIXME: dialog box doesn't close on OK or Cancel buttons pressed...
|
||||
# do i have to manually implement the accept and reject when i override the done() func?
|
||||
self.close()
|
||||
@ -5,3 +5,4 @@ from .PreferencesWindow import PreferencesWindow
|
||||
from .ErrorDialog import ErrorDialog
|
||||
from .LyricsWindow import LyricsWindow
|
||||
from .AddToPlaylistWindow import AddToPlaylistWindow
|
||||
from .CreatePlaylistWindow import CreatePlaylistWindow
|
||||
|
||||
14
main.py
14
main.py
@ -13,6 +13,7 @@ import DBA
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
from PyQt5.QtWidgets import (
|
||||
QFileDialog,
|
||||
QInputDialog,
|
||||
QMainWindow,
|
||||
QApplication,
|
||||
QGraphicsScene,
|
||||
@ -29,6 +30,7 @@ from components import (
|
||||
AudioVisualizer,
|
||||
AlbumArtGraphicsView,
|
||||
MusicTable,
|
||||
CreatePlaylistWindow,
|
||||
)
|
||||
|
||||
|
||||
@ -97,6 +99,7 @@ class MainWindow(QMainWindow):
|
||||
self.nextButton.clicked.connect(self.on_next_clicked)
|
||||
# FILE MENU
|
||||
self.actionOpenFiles.triggered.connect(self.open_files) # Open files window
|
||||
self.actionNewPlaylist.triggered.connect(self.create_playlist)
|
||||
# EDIT MENU
|
||||
self.actionPreferences.triggered.connect(
|
||||
self.open_preferences
|
||||
@ -314,9 +317,12 @@ class MainWindow(QMainWindow):
|
||||
self.actionDeleteLibrary.setObjectName("actionDeleteLibrary")
|
||||
self.actionOpenFiles = QtWidgets.QAction(MainWindow)
|
||||
self.actionOpenFiles.setObjectName("actionOpenFiles")
|
||||
self.actionNewPlaylist = QtWidgets.QAction(MainWindow)
|
||||
self.actionNewPlaylist.setObjectName("actionNewPlaylist")
|
||||
self.actionDeleteDatabase = QtWidgets.QAction(MainWindow)
|
||||
self.actionDeleteDatabase.setObjectName("actionDeleteDatabase")
|
||||
self.menuFile.addAction(self.actionOpenFiles)
|
||||
self.menuFile.addAction(self.actionNewPlaylist)
|
||||
self.menuEdit.addAction(self.actionPreferences)
|
||||
self.menuQuick_Actions.addAction(self.actionScanLibraries)
|
||||
self.menuQuick_Actions.addAction(self.actionDeleteLibrary)
|
||||
@ -352,6 +358,7 @@ class MainWindow(QMainWindow):
|
||||
self.actionScanLibraries.setText(_translate("MainWindow", "Scan libraries"))
|
||||
self.actionDeleteLibrary.setText(_translate("MainWindow", "Delete Library"))
|
||||
self.actionOpenFiles.setText(_translate("MainWindow", "Open file(s)"))
|
||||
self.actionNewPlaylist.setText(_translate("MainWindow", "New playlist"))
|
||||
self.actionDeleteDatabase.setText(_translate("MainWindow", "Delete Database"))
|
||||
|
||||
def closeEvent(self, a0: QCloseEvent | None) -> None:
|
||||
@ -560,10 +567,15 @@ class MainWindow(QMainWindow):
|
||||
open_files_window.setFileMode(QFileDialog.ExistingFiles)
|
||||
open_files_window.exec_()
|
||||
filenames = open_files_window.selectedFiles()
|
||||
print("file names chosen")
|
||||
print("main.py open_files() | file names chosen")
|
||||
print(filenames)
|
||||
self.tableView.add_files(filenames)
|
||||
|
||||
def create_playlist(self) -> None:
|
||||
"""Creates a database record for a playlist, given a name"""
|
||||
create_playlist_window = CreatePlaylistWindow(self)
|
||||
create_playlist_window.exec_()
|
||||
|
||||
def open_preferences(self) -> None:
|
||||
"""Opens the preferences window"""
|
||||
preferences_window = PreferencesWindow(self.config)
|
||||
|
||||
39
ui.py
39
ui.py
@ -26,20 +26,30 @@ class Ui_MainWindow(object):
|
||||
self.vlayoutAlbumArt.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
|
||||
self.vlayoutAlbumArt.setObjectName("vlayoutAlbumArt")
|
||||
self.albumGraphicsView = AlbumArtGraphicsView(self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.albumGraphicsView.sizePolicy().hasHeightForWidth())
|
||||
sizePolicy.setHeightForWidth(
|
||||
self.albumGraphicsView.sizePolicy().hasHeightForWidth()
|
||||
)
|
||||
self.albumGraphicsView.setSizePolicy(sizePolicy)
|
||||
self.albumGraphicsView.setMinimumSize(QtCore.QSize(200, 200))
|
||||
self.albumGraphicsView.setMaximumSize(QtCore.QSize(16777215, 16777215))
|
||||
self.albumGraphicsView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
self.albumGraphicsView.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
||||
self.albumGraphicsView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
||||
self.albumGraphicsView.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
|
||||
self.albumGraphicsView.setHorizontalScrollBarPolicy(
|
||||
QtCore.Qt.ScrollBarAlwaysOff
|
||||
)
|
||||
self.albumGraphicsView.setSizeAdjustPolicy(
|
||||
QtWidgets.QAbstractScrollArea.AdjustIgnored
|
||||
)
|
||||
self.albumGraphicsView.setInteractive(False)
|
||||
self.albumGraphicsView.setResizeAnchor(QtWidgets.QGraphicsView.AnchorViewCenter)
|
||||
self.albumGraphicsView.setViewportUpdateMode(QtWidgets.QGraphicsView.FullViewportUpdate)
|
||||
self.albumGraphicsView.setViewportUpdateMode(
|
||||
QtWidgets.QGraphicsView.FullViewportUpdate
|
||||
)
|
||||
self.albumGraphicsView.setObjectName("albumGraphicsView")
|
||||
self.vlayoutAlbumArt.addWidget(self.albumGraphicsView)
|
||||
self.hLayoutHead.addLayout(self.vlayoutAlbumArt)
|
||||
@ -98,7 +108,9 @@ class Ui_MainWindow(object):
|
||||
self.hLayoutMusicTable = QtWidgets.QHBoxLayout()
|
||||
self.hLayoutMusicTable.setObjectName("hLayoutMusicTable")
|
||||
self.tableView = MusicTable(self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(1)
|
||||
sizePolicy.setHeightForWidth(self.tableView.sizePolicy().hasHeightForWidth())
|
||||
@ -106,8 +118,13 @@ class Ui_MainWindow(object):
|
||||
self.tableView.setMaximumSize(QtCore.QSize(32000, 32000))
|
||||
self.tableView.setAcceptDrops(True)
|
||||
self.tableView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
||||
self.tableView.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
|
||||
self.tableView.setEditTriggers(QtWidgets.QAbstractItemView.AnyKeyPressed|QtWidgets.QAbstractItemView.EditKeyPressed)
|
||||
self.tableView.setSizeAdjustPolicy(
|
||||
QtWidgets.QAbstractScrollArea.AdjustToContents
|
||||
)
|
||||
self.tableView.setEditTriggers(
|
||||
QtWidgets.QAbstractItemView.AnyKeyPressed
|
||||
| QtWidgets.QAbstractItemView.EditKeyPressed
|
||||
)
|
||||
self.tableView.setAlternatingRowColors(True)
|
||||
self.tableView.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.tableView.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||
@ -208,10 +225,14 @@ class Ui_MainWindow(object):
|
||||
self.menuView.setTitle(_translate("MainWindow", "View"))
|
||||
self.menuQuick_Actions.setTitle(_translate("MainWindow", "Quick-Actions"))
|
||||
self.actionPreferences.setText(_translate("MainWindow", "Preferences"))
|
||||
self.actionPreferences.setStatusTip(_translate("MainWindow", "Open preferences"))
|
||||
self.actionPreferences.setStatusTip(
|
||||
_translate("MainWindow", "Open preferences")
|
||||
)
|
||||
self.actionScanLibraries.setText(_translate("MainWindow", "Scan libraries"))
|
||||
self.actionDeleteLibrary.setText(_translate("MainWindow", "Delete Library"))
|
||||
self.actionOpenFiles.setText(_translate("MainWindow", "Open file(s)"))
|
||||
self.actionDeleteDatabase.setText(_translate("MainWindow", "Delete Database"))
|
||||
|
||||
|
||||
from components import AlbumArtGraphicsView, MusicTable
|
||||
from pyqtgraph import PlotWidget
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user