From 4a83e9af86af89bff0819313137cc378ccfcd861 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Wed, 2 Mar 2022 21:13:41 +0000 Subject: [PATCH] Revamp menus --- app/musicmuster.py | 48 ++++++++++++++++++---------------------- app/ui/main_window.ui | 24 +++++++++++++------- app/ui/main_window_ui.py | 34 +++++++++++++++------------- 3 files changed, 57 insertions(+), 49 deletions(-) diff --git a/app/musicmuster.py b/app/musicmuster.py index 55a0a4d..987480f 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -70,22 +70,22 @@ class Window(QMainWindow, Ui_MainWindow): self.check_audacity() self.timer.start(Config.TIMER_MS) - def add_file(self) -> None: - # TODO: V2 enahancement to import tracks - dlg = QFileDialog() - dlg.setFileMode(QFileDialog.ExistingFiles) - dlg.setViewMode(QFileDialog.Detail) - dlg.setDirectory(Config.ROOT) - dlg.setNameFilter("Music files (*.flac *.mp3)") + # def add_file(self) -> None: + # # TODO: V2 enahancement to import tracks + # dlg = QFileDialog() + # dlg.setFileMode(QFileDialog.ExistingFiles) + # dlg.setViewMode(QFileDialog.Detail) + # dlg.setDirectory(Config.ROOT) + # dlg.setNameFilter("Music files (*.flac *.mp3)") - if dlg.exec_(): - with Session() as session: - for fname in dlg.selectedFiles(): - track = create_track_from_file(session, fname) - # Add to playlist on screen - # If we don't specify "repaint=False", playlist will - # also be saved to database - self.visible_playlist_tab().insert_track(session, track) + # if dlg.exec_(): + # with Session() as session: + # for fname in dlg.selectedFiles(): + # track = create_track_from_file(session, fname) + # # Add to playlist on screen + # # If we don't specify "repaint=False", playlist will + # # also be saved to database + # self.visible_playlist_tab().insert_track(session, track) def set_main_window_size(self) -> None: """Set size of window from database""" @@ -133,7 +133,8 @@ class Window(QMainWindow, Ui_MainWindow): DEBUG("closeEvent() accepted") with Session() as session: - record = Settings.get_int_settings(session, "mainwindow_height") + record = Settings.get_int_settings( + session, "mainwindow_height") if record.f_int != self.height(): record.update(session, {'f_int': self.height()}) @@ -159,12 +160,13 @@ class Window(QMainWindow, Ui_MainWindow): event.accept() def connect_signals_slots(self) -> None: - self.actionAdd_file.triggered.connect(self.add_file) self.actionAdd_note.triggered.connect(self.create_note) self.action_Clear_selection.triggered.connect(self.clear_selection) self.actionClosePlaylist.triggered.connect(self.close_playlist_tab) + self.actionEnable_controls.triggered.connect( + self.enable_play_next_controls) self.actionExport_playlist.triggered.connect(self.export_playlist_tab) - self.actionFade.triggered.connect(lambda: self.stop_playing(fade=True)) + self.actionFade.triggered.connect(self.fade) self.actionMoveSelected.triggered.connect(self.move_selected) self.actionNewPlaylist.triggered.connect(self.create_playlist) self.actionOpenPlaylist.triggered.connect(self.open_playlist) @@ -180,10 +182,9 @@ class Window(QMainWindow, Ui_MainWindow): lambda: self.tabPlaylist.currentWidget().set_selected_as_next()) self.actionSkip_next.triggered.connect(self.play_next) self.actionStop.triggered.connect(self.stop) - self.btnAddFile.clicked.connect(self.add_file) self.btnAddNote.clicked.connect(self.create_note) self.btnDatabase.clicked.connect(self.search_database) - self.btnFade.clicked.connect(lambda: self.stop_playing(fade=True)) + self.btnFade.clicked.connect(self.fade) self.btnPlay.clicked.connect(self.play_next) self.btnSetNext.clicked.connect(self.this_is_the_next_track) self.btnSongInfo.clicked.connect(self.song_info_search) @@ -346,12 +347,7 @@ class Window(QMainWindow, Ui_MainWindow): DEBUG("musicmuster:fade()", True) - if not self.current_track: - return - - self.previous_track_position = self.music.get_position() - self.music.fade() - self.end_of_track_actions() + self.stop_playing(fade=True) def insert_note(self): "Add non-track row to playlist" diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index 899f801..d8c9f35 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -337,6 +337,9 @@ border: 1px solid rgb(85, 87, 83); + + false + Add file @@ -769,22 +772,22 @@ border: 1px solid rgb(85, 87, 83); - + + + + - - - - + - &Tracks + &Music @@ -792,11 +795,11 @@ border: 1px solid rgb(85, 87, 83); - + - + @@ -1003,6 +1006,11 @@ border: 1px solid rgb(85, 87, 83); Ctrl+T + + + Enable controls + + diff --git a/app/ui/main_window_ui.py b/app/ui/main_window_ui.py index 4cb9c37..7589421 100644 --- a/app/ui/main_window_ui.py +++ b/app/ui/main_window_ui.py @@ -162,6 +162,7 @@ class Ui_MainWindow(object): self.btnDatabase.setObjectName("btnDatabase") self.horizontalLayout.addWidget(self.btnDatabase) self.btnAddFile = QtWidgets.QPushButton(self.frame_5) + self.btnAddFile.setEnabled(False) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/icons/open_file"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.btnAddFile.setIcon(icon3) @@ -354,8 +355,8 @@ class Ui_MainWindow(object): self.menuFile.setObjectName("menuFile") self.menuPlaylist = QtWidgets.QMenu(self.menubar) self.menuPlaylist.setObjectName("menuPlaylist") - self.menu_Tracks = QtWidgets.QMenu(self.menubar) - self.menu_Tracks.setObjectName("menu_Tracks") + self.menu_Music = QtWidgets.QMenu(self.menubar) + self.menu_Music.setObjectName("menu_Music") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setEnabled(True) @@ -438,6 +439,8 @@ class Ui_MainWindow(object): self.actionSelect_unplayed_tracks.setObjectName("actionSelect_unplayed_tracks") self.actionAdd_note = QtWidgets.QAction(MainWindow) self.actionAdd_note.setObjectName("actionAdd_note") + self.actionEnable_controls = QtWidgets.QAction(MainWindow) + self.actionEnable_controls.setObjectName("actionEnable_controls") self.menuFile.addAction(self.actionE_xit) self.menuPlaylist.addAction(self.actionNewPlaylist) self.menuPlaylist.addAction(self.actionOpenPlaylist) @@ -446,28 +449,28 @@ class Ui_MainWindow(object): self.menuPlaylist.addAction(self.actionDeletePlaylist) self.menuPlaylist.addSeparator() self.menuPlaylist.addAction(self.actionSearch_database) - self.menuPlaylist.addAction(self.actionAdd_file) self.menuPlaylist.addAction(self.actionAdd_note) self.menuPlaylist.addAction(self.action_Clear_selection) self.menuPlaylist.addSeparator() + self.menuPlaylist.addAction(self.actionSelect_previous_track) + self.menuPlaylist.addAction(self.actionSelect_next_track) + self.menuPlaylist.addAction(self.actionSetNext) + self.menuPlaylist.addSeparator() self.menuPlaylist.addAction(self.actionSelect_unplayed_tracks) self.menuPlaylist.addAction(self.actionSelect_played_tracks) self.menuPlaylist.addAction(self.actionMoveSelected) self.menuPlaylist.addSeparator() self.menuPlaylist.addAction(self.actionExport_playlist) - self.menuPlaylist.addSeparator() - self.menuPlaylist.addAction(self.actionSelect_next_track) - self.menuPlaylist.addAction(self.actionSelect_previous_track) - self.menu_Tracks.addAction(self.actionPlay_next) - self.menu_Tracks.addAction(self.actionSkip_next) - self.menu_Tracks.addAction(self.actionFade) - self.menu_Tracks.addAction(self.actionStop) - self.menu_Tracks.addAction(self.action_Resume_previous) - self.menu_Tracks.addSeparator() - self.menu_Tracks.addAction(self.actionSetNext) + self.menu_Music.addAction(self.actionPlay_next) + self.menu_Music.addAction(self.actionSkip_next) + self.menu_Music.addAction(self.actionFade) + self.menu_Music.addAction(self.actionStop) + self.menu_Music.addAction(self.action_Resume_previous) + self.menu_Music.addSeparator() + self.menu_Music.addAction(self.actionEnable_controls) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuPlaylist.menuAction()) - self.menubar.addAction(self.menu_Tracks.menuAction()) + self.menubar.addAction(self.menu_Music.menuAction()) self.retranslateUi(MainWindow) self.tabPlaylist.setCurrentIndex(-1) @@ -505,7 +508,7 @@ class Ui_MainWindow(object): self.label_end_timer.setText(_translate("MainWindow", "00:00")) self.menuFile.setTitle(_translate("MainWindow", "Fi&le")) self.menuPlaylist.setTitle(_translate("MainWindow", "Pla&ylist")) - self.menu_Tracks.setTitle(_translate("MainWindow", "&Tracks")) + self.menu_Music.setTitle(_translate("MainWindow", "&Music")) self.actionPlay_next.setText(_translate("MainWindow", "&Play next")) self.actionPlay_next.setShortcut(_translate("MainWindow", "Return")) self.actionSkip_next.setText(_translate("MainWindow", "Skip to &next")) @@ -542,4 +545,5 @@ class Ui_MainWindow(object): self.actionSelect_unplayed_tracks.setText(_translate("MainWindow", "Select unplayed tracks")) self.actionAdd_note.setText(_translate("MainWindow", "Add note...")) self.actionAdd_note.setShortcut(_translate("MainWindow", "Ctrl+T")) + self.actionEnable_controls.setText(_translate("MainWindow", "Enable controls")) import icons_rc