From c7034cf35a61faa369d1b58342f7590b716f78d5 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Sat, 13 Aug 2022 14:19:08 +0100 Subject: [PATCH] Create playlist working --- app/models.py | 9 ++++----- app/musicmuster.py | 31 ++++++++++++++++--------------- app/playlists.py | 3 +-- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/app/models.py b/app/models.py index 58b9398..f8fd149 100644 --- a/app/models.py +++ b/app/models.py @@ -296,11 +296,10 @@ class Playlists(Base): def __repr__(self) -> str: return f"" -# -# def __init__(self, session: Session, name: str) -> None: -# self.name = name -# session.add(self) -# session.flush() + def __init__(self, session: Session, name: str) -> None: + self.name = name + session.add(self) + session.commit() # # def add_track( # self, session: Session, track_id: int, diff --git a/app/musicmuster.py b/app/musicmuster.py index b90c77a..5792378 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -14,7 +14,7 @@ from PyQt5.QtWidgets import ( QApplication, QDialog, QFileDialog, - # QInputDialog, + QInputDialog, QLabel, # QLineEdit, QListWidgetItem, @@ -179,7 +179,8 @@ class Window(QMainWindow, Ui_MainWindow): # self.actionImport.triggered.connect(self.import_track) self.actionFade.triggered.connect(self.fade) # self.actionMoveSelected.triggered.connect(self.move_selected) -# self.actionNewPlaylist.triggered.connect(self.create_playlist) + self.actionNewPlaylist.triggered.connect(self.create_playlist) + # ***kae # self.actionOpenPlaylist.triggered.connect(self.open_playlist) self.actionPlay_next.triggered.connect(self.play_next) # self.actionSearch.triggered.connect(self.search_playlist) @@ -203,19 +204,19 @@ class Window(QMainWindow, Ui_MainWindow): # self.txtSearch.textChanged.connect(self.search_playlist_update) # self.timer.timeout.connect(self.tick) -# -# def create_playlist(self) -> None: -# """Create new playlist""" -# -# dlg = QInputDialog(self) -# dlg.setInputMode(QInputDialog.TextInput) -# dlg.setLabelText("Playlist name:") -# dlg.resize(500, 100) -# ok = dlg.exec() -# if ok: -# with Session() as session: -# playlist = Playlists(session, dlg.textValue()) -# self.create_playlist_tab(session, playlist) + + def create_playlist(self) -> None: + """Create new playlist""" + + dlg = QInputDialog(self) + dlg.setInputMode(QInputDialog.TextInput) + dlg.setLabelText("Playlist name:") + dlg.resize(500, 100) + ok = dlg.exec() + if ok: + with Session() as session: + playlist = Playlists(session, dlg.textValue()) + self.create_playlist_tab(session, playlist) def close_playlist_tab(self) -> None: """ diff --git a/app/playlists.py b/app/playlists.py index 844124c..bb47928 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -248,6 +248,7 @@ class PlaylistTab(QTableWidget): if (event.type() == QEvent.MouseButtonPress and # noqa W504 event.buttons() == Qt.RightButton and # noqa W504 source is self.viewport()): + self.menu = QMenu(self) item = self.itemAt(event.pos()) if item is not None: row_number = item.row() @@ -258,8 +259,6 @@ class PlaylistTab(QTableWidget): else: current = next_row = False - self.menu = QMenu(self) - if track_id: # Info act_info = self.menu.addAction('Info')