From 92f1159a134f4d9dbd93176107afc48e4f77cb81 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 14 Dec 2013 15:12:20 +0000 Subject: fixed saving of the playlist settings (Fixes issue 622) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3960 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/display.cpp | 7 ++++--- src/plugins/Ui/skinned/listwidget.cpp | 8 ++++---- src/plugins/Ui/skinned/listwidget.h | 4 ++-- src/plugins/Ui/skinned/mainwindow.cpp | 32 ++++++++++++++++++-------------- src/plugins/Ui/skinned/mainwindow.h | 2 ++ src/plugins/Ui/skinned/playlist.cpp | 6 ++++-- src/plugins/Ui/skinned/playlist.h | 2 ++ 7 files changed, 36 insertions(+), 25 deletions(-) (limited to 'src/plugins/Ui') diff --git a/src/plugins/Ui/skinned/display.cpp b/src/plugins/Ui/skinned/display.cpp index 505725800..e72bf75d7 100644 --- a/src/plugins/Ui/skinned/display.cpp +++ b/src/plugins/Ui/skinned/display.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include "skin.h" #include "mainvisual.h" #include "button.h" @@ -130,9 +131,9 @@ MainDisplay::MainDisplay (MainWindow *parent) m_volumeBar->setValue(m_core->volume()); m_balanceBar->setValue(m_core->balance()); - PlayListManager *pl_manager = MediaPlayer::instance()->playListManager(); - connect(pl_manager, SIGNAL(repeatableListChanged(bool)), m_repeatButton, SLOT(setChecked(bool))); - connect(pl_manager, SIGNAL(shuffleChanged(bool)), m_shuffleButton, SLOT(setChecked(bool))); + QmmpUiSettings *ui_settings = QmmpUiSettings::instance(); + connect(ui_settings, SIGNAL(repeatableListChanged(bool)), m_repeatButton, SLOT(setChecked(bool))); + connect(ui_settings, SIGNAL(shuffleChanged(bool)), m_shuffleButton, SLOT(setChecked(bool))); updatePositions(); updateMask(); } diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index 2dd80a8f5..c324eda66 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include "listwidget.h" #include "skin.h" #include "popupwidget.h" @@ -53,8 +53,8 @@ ListWidget::ListWidget(QWidget *parent) m_prev_y = 0; m_anchor_index = INVALID_INDEX; m_pressed_index = INVALID_INDEX; - m_player = MediaPlayer::instance(); - connect (m_player, SIGNAL(repeatableChanged(bool)), SLOT(updateList())); + m_ui_settings = QmmpUiSettings::instance(); + connect (m_ui_settings, SIGNAL(repeatableTrackChanged(bool)), SLOT(updateList())); m_first = 0; m_row_count = 0; m_scroll = false; @@ -594,7 +594,7 @@ const QString ListWidget::getExtraString(int i) extra_string += "|"+QString::number(index + 1)+"|"; } - if(m_model->currentIndex() == i && m_player->isRepeatable()) + if(m_model->currentIndex() == i && m_ui_settings->isRepeatableTrack()) extra_string += "|R|"; else if(m_model->isStopAfter(track)) extra_string += "|S|"; diff --git a/src/plugins/Ui/skinned/listwidget.h b/src/plugins/Ui/skinned/listwidget.h index 5cfcdb695..70872fc20 100644 --- a/src/plugins/Ui/skinned/listwidget.h +++ b/src/plugins/Ui/skinned/listwidget.h @@ -33,7 +33,7 @@ class QTimer; class PlayListModel; class Skin; class PlayListItem; -class MediaPlayer; +class QmmpUiSettings; namespace PlayListPopup{ class PopupWidget; } @@ -144,7 +144,7 @@ private: int m_number_width; int m_drop_index; QList m_rows; - MediaPlayer *m_player; + QmmpUiSettings *m_ui_settings; PlayListPopup::PopupWidget *m_popupWidget; QTimer *m_timer; }; diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp index c1ec27841..378651079 100644 --- a/src/plugins/Ui/skinned/mainwindow.cpp +++ b/src/plugins/Ui/skinned/mainwindow.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include "hotkeyeditor.h" #include "skinnedsettings.h" #include "mainwindow.h" @@ -68,6 +69,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) m_core = SoundCore::instance(); m_pl_manager = PlayListManager::instance(); m_uiHelper = UiHelper::instance(); + m_ui_settings = QmmpUiSettings::instance(); //user interface m_skin = new Skin(this); @@ -99,8 +101,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) connect (m_playlist,SIGNAL(loadPlaylist()),SLOT(loadPlaylist())); connect (m_playlist,SIGNAL(savePlaylist()),SLOT(savePlaylist())); - connect(m_display,SIGNAL(shuffleToggled(bool)),m_pl_manager,SLOT(setShuffle(bool))); - connect(m_display,SIGNAL(repeatableToggled(bool)),m_pl_manager,SLOT(setRepeatableList(bool))); + connect(m_display,SIGNAL(shuffleToggled(bool)),m_ui_settings,SLOT(setShuffle(bool))); + connect(m_display,SIGNAL(repeatableToggled(bool)),m_ui_settings,SLOT(setRepeatableList(bool))); connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(showState(Qmmp::State))); connect(m_core, SIGNAL(elapsedChanged(qint64)),m_playlist, SLOT(setTime(qint64))); @@ -241,10 +243,12 @@ void MainWindow::readSettings() m_equalizer->setVisible(settings.value("eq_visible",true).toBool()); qApp->processEvents(); // Repeat/Shuffle - m_display->setIsRepeatable(m_pl_manager->isRepeatableList()); - m_display->setIsShuffle(m_pl_manager->isShuffle()); - ACTION(ActionManager::REPEAT_ALL)->setChecked(m_pl_manager->isRepeatableList()); - ACTION(ActionManager::SHUFFLE)->setChecked(m_pl_manager->isShuffle()); + m_display->setIsRepeatable(m_ui_settings->isRepeatableList()); + m_display->setIsShuffle(m_ui_settings->isShuffle()); + ACTION(ActionManager::REPEAT_ALL)->setChecked(m_ui_settings->isRepeatableList()); + ACTION(ActionManager::SHUFFLE)->setChecked(m_ui_settings->isShuffle()); + ACTION(ActionManager::REPEAT_TRACK)->setChecked(m_ui_settings->isRepeatableTrack()); + ACTION(ActionManager::NO_PL_ADVANCE)->setChecked(m_ui_settings->isNoPlaylistAdvance()); m_update = true; } else @@ -379,21 +383,21 @@ void MainWindow::createActions() viewMenu->addAction(SET_ACTION(ActionManager::WM_DOUBLE_SIZE, this, SLOT(updateSettings()))); QMenu *plMenu = m_mainMenu->addMenu(tr("Playlist")); - plMenu->addAction(SET_ACTION(ActionManager::REPEAT_ALL, m_pl_manager, SLOT(setRepeatableList(bool)))); - plMenu->addAction(SET_ACTION(ActionManager::REPEAT_TRACK, m_player, SLOT(setRepeatable(bool)))); - plMenu->addAction(SET_ACTION(ActionManager::SHUFFLE, m_pl_manager, SLOT(setShuffle(bool)))); - plMenu->addAction(SET_ACTION(ActionManager::NO_PL_ADVANCE, m_player, + plMenu->addAction(SET_ACTION(ActionManager::REPEAT_ALL, m_ui_settings, SLOT(setRepeatableList(bool)))); + plMenu->addAction(SET_ACTION(ActionManager::REPEAT_TRACK, m_ui_settings, SLOT(setRepeatableTrack(bool)))); + plMenu->addAction(SET_ACTION(ActionManager::SHUFFLE, m_ui_settings, SLOT(setShuffle(bool)))); + plMenu->addAction(SET_ACTION(ActionManager::NO_PL_ADVANCE, m_ui_settings, SLOT(setNoPlaylistAdvance(bool)))); plMenu->addAction(SET_ACTION(ActionManager::STOP_AFTER_SELECTED, m_pl_manager, SLOT(stopAfterSelected()))); plMenu->addAction(SET_ACTION(ActionManager::CLEAR_QUEUE, m_pl_manager, SLOT(clearQueue()))); - connect(m_pl_manager, SIGNAL(repeatableListChanged(bool)), + connect(m_ui_settings, SIGNAL(repeatableListChanged(bool)), ACTION(ActionManager::REPEAT_ALL), SLOT(setChecked(bool))); - connect(m_player, SIGNAL (repeatableChanged(bool)), + connect(m_ui_settings, SIGNAL (repeatableTrackChanged(bool)), ACTION(ActionManager::REPEAT_TRACK), SLOT(setChecked(bool))); - connect(m_player, SIGNAL (noPlaylistAdvanceChanged(bool)), + connect(m_ui_settings, SIGNAL (noPlaylistAdvanceChanged(bool)), ACTION(ActionManager::NO_PL_ADVANCE), SLOT(setChecked(bool))); - connect(m_pl_manager, SIGNAL(shuffleChanged(bool)), + connect(m_ui_settings, SIGNAL(shuffleChanged(bool)), ACTION(ActionManager::SHUFFLE), SLOT(setChecked(bool))); QMenu *audioMenu = m_mainMenu->addMenu(tr("Audio")); diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h index ec50fe483..48672c750 100644 --- a/src/plugins/Ui/skinned/mainwindow.h +++ b/src/plugins/Ui/skinned/mainwindow.h @@ -40,6 +40,7 @@ class UiHelper; class MediaPlayer; class QMenu; class QKeyEvent; +class QmmpUiSettings; /** @author Ilya Kotov @@ -105,6 +106,7 @@ private: bool m_hideOnClose, m_startHidden; VisualMenu *m_visMenu; UiHelper *m_uiHelper; + QmmpUiSettings *m_ui_settings; MediaPlayer *m_player; }; diff --git a/src/plugins/Ui/skinned/playlist.cpp b/src/plugins/Ui/skinned/playlist.cpp index e95977804..ccb722460 100644 --- a/src/plugins/Ui/skinned/playlist.cpp +++ b/src/plugins/Ui/skinned/playlist.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include "dock.h" #include "skin.h" @@ -53,6 +54,7 @@ PlayList::PlayList (PlayListManager *manager, QWidget *parent) setAttribute(Qt::WA_AlwaysShowToolTips,true); setWindowTitle(tr("Playlist")); m_pl_manager = manager; + m_ui_settings = QmmpUiSettings::instance(); m_update = false; m_resize = false; m_skin = Skin::instance(); @@ -299,8 +301,8 @@ void PlayList::createActions() m_sortMenu->addAction (QIcon::fromTheme("view-sort-descending"), tr("Reverse List"), m_pl_manager, SLOT(reverseList())); - m_sortMenu->addAction(SET_ACTION(ActionManager::PL_GROUP_TRACKS, m_pl_manager, SLOT(setGroupsEnabled(bool)))); - ACTION(ActionManager::PL_GROUP_TRACKS)->setChecked(m_pl_manager->isGroupsEnabled()); + m_sortMenu->addAction(SET_ACTION(ActionManager::PL_GROUP_TRACKS, m_ui_settings, SLOT(setGroupsEnabled(bool)))); + ACTION(ActionManager::PL_GROUP_TRACKS)->setChecked(m_ui_settings->isGroupsEnabled()); //playlist context menu m_listWidget->menu()->addAction(ActionManager::instance()->action(ActionManager::PL_SHOW_INFO)); m_listWidget->menu()->addSeparator(); diff --git a/src/plugins/Ui/skinned/playlist.h b/src/plugins/Ui/skinned/playlist.h index 1b7f73bd8..12454bbdf 100644 --- a/src/plugins/Ui/skinned/playlist.h +++ b/src/plugins/Ui/skinned/playlist.h @@ -40,6 +40,7 @@ class KeyboardManager; class PlayListManager; class PlayListBrowser; class PlayListSelector; +class QmmpUiSettings; /** @author Ilya Kotov @@ -130,6 +131,7 @@ class PlayList : public QWidget int m_height; bool m_shaded; PlayListManager *m_pl_manager; + QmmpUiSettings *m_ui_settings; KeyboardManager* m_keyboardManager; QPointer m_pl_browser; PlayListSelector *m_pl_selector; -- cgit v1.2.3-13-gbd6f