diff options
| -rw-r--r-- | src/plugins/Ui/qsui/actionmanager.cpp | 138 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/actionmanager.h | 5 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/actionmanager.cpp | 127 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/actionmanager.h | 5 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/mainwindow.cpp | 6 |
6 files changed, 144 insertions, 145 deletions
diff --git a/src/plugins/Ui/qsui/actionmanager.cpp b/src/plugins/Ui/qsui/actionmanager.cpp index 683029f99..788f731dc 100644 --- a/src/plugins/Ui/qsui/actionmanager.cpp +++ b/src/plugins/Ui/qsui/actionmanager.cpp @@ -36,80 +36,72 @@ ActionManager::ActionManager(QObject *parent) : m_instance = this; m_settings = new QSettings(Qmmp::configFile(), QSettings::IniFormat); m_settings->beginGroup("SimpleUiShortcuts"); - //playback - m_actions[PLAY] = createAction(tr("&Play"), "play", tr("X"), "media-playback-start"); - m_actions[PAUSE] = createAction(tr("&Pause"), "pause", tr("C"), "media-playback-pause"); - m_actions[STOP] = createAction(tr("&Stop"), "stop", tr("V"), "media-playback-stop"); - m_actions[PREVIOUS] = createAction(tr("&Previous"), "previous", tr("Z"), "media-skip-backward"); - m_actions[NEXT] = createAction(tr("&Next"), "next", tr("B"), "media-skip-forward"); - m_actions[PLAY_PAUSE] = createAction(tr("&Play/Pause"), "play_pause", tr("Space"), "media-playback-start"); - m_actions[JUMP] = createAction(tr("&Jump to Track"), "jump", tr("J"), "go-up"); - m_actions[EJECT] = createAction(tr("&Play Files"), "eject", tr("E"), "media-eject"); - m_actions[RECORD] = createAction2(tr("&Record"), "record", "", "media-record"); - m_actions[REPEAT_ALL] = createAction2(tr("&Repeat Playlist"), "repeate_playlist", tr("R"), - "media-playlist-repeat"); - m_actions[REPEAT_TRACK] = createAction2(tr("&Repeat Track"), "repeate_track", tr("Ctrl+R")); - m_actions[SHUFFLE] = createAction2(tr("&Shuffle"), "shuffle", tr("S"), "media-playlist-shuffle"); - m_actions[NO_PL_ADVANCE] = createAction2(tr("&No Playlist Advance"), "no_playlist_advance", - tr("Ctrl+N")); - m_actions[STOP_AFTER_SELECTED] = createAction(tr("&Stop After Selected"), "stop_after_selected", - tr("Ctrl+S")); - m_actions[CLEAR_QUEUE] = createAction(tr("&Clear Queue"), "clear_queue", tr("Alt+Q")); - //view - m_actions[WM_ALLWAYS_ON_TOP] = createAction2(tr("Always on Top"), "always_on_top", ""); - m_actions[WM_STICKY] = createAction2(tr("Put on All Workspaces"), "sticky", ""); - m_actions[UI_ANALYZER] = nullptr; //external action - m_actions[UI_FILEBROWSER] = nullptr; //external action - m_actions[UI_COVER] = nullptr; //external action - m_actions[UI_PLAYLIST_BROWSER] = nullptr; //external action - m_actions[UI_WAVEFORM_SEEKBAR] = nullptr; //external action - m_actions[UI_SHOW_TABS] = createAction2(tr("Show Tabs"), "show_tabs", ""); - m_actions[UI_SHOW_TITLEBARS] = createAction2(tr("Show Title Bars"), "show_titlebars", ""); - m_actions[UI_BLOCK_TOOLBARS] = createAction2(tr("Block Toolbars"), "block_toolbars", ""); - //volume - m_actions[VOL_ENC] = createAction(tr("Volume &+"), "vol_enc", tr("0")); - m_actions[VOL_DEC] = createAction(tr("Volume &-"), "vol_dec", tr("9")); - m_actions[VOL_MUTE] = createAction2(tr("&Mute"), "vol_mute", tr("M")); - //playlist - m_actions[PL_ADD_FILE] = createAction(tr("&Add File"), "add_file", tr("F"), "audio-x-generic"); - m_actions[PL_ADD_DIRECTORY] = createAction(tr("&Add Directory"), "add_dir", tr("D"), "folder"); - m_actions[PL_ADD_URL] = createAction(tr("&Add Url"), "add_url", tr("U"), "network-server"); - m_actions[PL_REMOVE_SELECTED] = createAction(tr("&Remove Selected"), "remove_selected", - tr("Del"), "edit-delete"); - m_actions[PL_REMOVE_ALL] = createAction(tr("&Remove All"), "remove_all", "", "edit-clear"); - m_actions[PL_REMOVE_UNSELECTED] = createAction(tr("&Remove Unselected"), "remove_unselected", - "", "edit-delete"); - m_actions[PL_REMOVE_INVALID] = createAction(tr("Remove unavailable files"), "remove_invalid", - "", "dialog-error"); - m_actions[PL_REMOVE_DUPLICATES] = createAction(tr("Remove duplicates"), "remove_duplicates", ""); - m_actions[PL_REFRESH] = createAction(tr("Refresh"), "refresh", "F5", "view-refresh"); - m_actions[PL_ENQUEUE] = createAction(tr("&Queue Toggle"), "enqueue", tr("Q")); - m_actions[PL_INVERT_SELECTION] = createAction(tr("Invert Selection"), "invert_selection", ""); - m_actions[PL_CLEAR_SELECTION] = createAction(tr("&Select None"), "clear_selection", ""); - m_actions[PL_SELECT_ALL] = createAction(tr("&Select All"), "select_all", - tr("Ctrl+A"), "edit-select-all"); - m_actions[PL_SHOW_INFO] = createAction(tr("&View Track Details"), "show_info", tr("Alt+I"), - "dialog-information"); - m_actions[PL_NEW] = createAction(tr("&New List"), "new_pl", tr("Ctrl+T"), "document-new"); - m_actions[PL_CLOSE] = createAction(tr("&Delete List"), "close_pl", tr("Ctrl+W"), "window-close"); - m_actions[PL_LOAD] = createAction(tr("&Load List"), "load_pl", tr("O"), "document-open"); - m_actions[PL_SAVE] = createAction(tr("&Save List"), "save_pl", tr("Shift+S"), "document-save-as"); - m_actions[PL_RENAME] = createAction(tr("&Rename List"), "pl_rename", tr("F2")); - - m_actions[PL_SELECT_NEXT] = createAction(tr("&Select Next Playlist"), "next_pl", - tr("Ctrl+PgDown"), "go-next"); - m_actions[PL_SELECT_PREVIOUS] = createAction(tr("&Select Previous Playlist"), "prev_pl", - tr("Ctrl+PgUp"), "go-previous"); - m_actions[PL_GROUP_TRACKS] = createAction2(tr("&Group Tracks"), "group_tracks", tr("Ctrl+G")); - m_actions[PL_SHOW_HEADER] = createAction2(tr("&Show Column Headers"), "show_header", tr("Ctrl+H")); - //other - m_actions[EQUALIZER] = createAction(tr("&Equalizer"), "equalizer", tr("Ctrl+E")); - m_actions[SETTINGS] = createAction(tr("&Settings"), "show_settings", tr("Ctrl+P"), "configure"); - m_actions[ABOUT_UI] = createAction(tr("&About Ui"), "about_ui", ""); - m_actions[ABOUT] = createAction(tr("&About"), "about", ""); - m_actions[ABOUT_QT] = createAction(tr("&About Qt"), "about_qt", ""); - m_actions[QUIT] = createAction(tr("&Exit"), "exit", tr("Ctrl+Q"), "application-exit"); + m_actions = { + //playback + { PLAY, createAction(tr("&Play"), "play", tr("X"), "media-playback-start") }, + { PAUSE, createAction(tr("&Pause"), "pause", tr("C"), "media-playback-pause") }, + { STOP, createAction(tr("&Stop"), "stop", tr("V"), "media-playback-stop") }, + { PREVIOUS, createAction(tr("&Previous"), "previous", tr("Z"), "media-skip-backward") }, + { NEXT, createAction(tr("&Next"), "next", tr("B"), "media-skip-forward") }, + { PLAY_PAUSE, createAction(tr("&Play/Pause"), "play_pause", tr("Space"), "media-playback-start") }, + { JUMP, createAction(tr("&Jump to Track"), "jump", tr("J"), "go-up") }, + { EJECT, createAction(tr("&Play Files"), "eject", tr("E"), "media-eject") }, + { RECORD, createAction2(tr("&Record"), "record", "", "media-record") }, + { REPEAT_ALL, createAction2(tr("&Repeat Playlist"), "repeate_playlist", tr("R"), "media-playlist-repeat") }, + { REPEAT_TRACK, createAction2(tr("&Repeat Track"), "repeate_track", tr("Ctrl+R")) }, + { SHUFFLE, createAction2(tr("&Shuffle"), "shuffle", tr("S"), "media-playlist-shuffle") }, + { NO_PL_ADVANCE, createAction2(tr("&No Playlist Advance"), "no_playlist_advance", tr("Ctrl+N")) }, + { TRANSIT_BETWEEN_PLAYLISTS, createAction2(tr("&Transit between playlists"), "transit_between_playlists") }, + { STOP_AFTER_SELECTED, createAction(tr("&Stop After Selected"), "stop_after_selected", tr("Ctrl+S")) }, + { CLEAR_QUEUE, createAction(tr("&Clear Queue"), "clear_queue", tr("Alt+Q")) }, + //view + { WM_ALLWAYS_ON_TOP, createAction2(tr("Always on Top"), "always_on_top") }, + { WM_STICKY, createAction2(tr("Put on All Workspaces"), "sticky") }, + { UI_ANALYZER, nullptr }, //external action + { UI_FILEBROWSER, nullptr }, //external action + { UI_COVER, nullptr }, //external action + { UI_PLAYLIST_BROWSER, nullptr }, //external action + { UI_WAVEFORM_SEEKBAR, nullptr }, //external action + { UI_SHOW_TABS, createAction2(tr("Show Tabs"), "show_tabs") }, + { UI_SHOW_TITLEBARS, createAction2(tr("Show Title Bars"), "show_titlebars") }, + { UI_BLOCK_TOOLBARS, createAction2(tr("Block Toolbars"), "block_toolbars") }, + //volume + { VOL_ENC, createAction(tr("Volume &+"), "vol_enc", tr("0")) }, + { VOL_DEC, createAction(tr("Volume &-"), "vol_dec", tr("9")) }, + { VOL_MUTE, createAction2(tr("&Mute"), "vol_mute", tr("M")) }, + //playlist + { PL_ADD_FILE, createAction(tr("&Add File"), "add_file", tr("F"), "audio-x-generic") }, + { PL_ADD_DIRECTORY, createAction(tr("&Add Directory"), "add_dir", tr("D"), "folder") }, + { PL_ADD_URL, createAction(tr("&Add Url"), "add_url", tr("U"), "network-server") }, + { PL_REMOVE_SELECTED, createAction(tr("&Remove Selected"), "remove_selected", tr("Del"), "edit-delete") }, + { PL_REMOVE_ALL, createAction(tr("&Remove All"), "remove_all", "", "edit-clear") }, + { PL_REMOVE_UNSELECTED, createAction(tr("&Remove Unselected"), "remove_unselected", "", "edit-delete") }, + { PL_REMOVE_INVALID, createAction(tr("Remove unavailable files"), "remove_invalid", "", "dialog-error") }, + { PL_REMOVE_DUPLICATES, createAction(tr("Remove duplicates"), "remove_duplicates") }, + { PL_REFRESH, createAction(tr("Refresh"), "refresh", "F5", "view-refresh") }, + { PL_ENQUEUE, createAction(tr("&Queue Toggle"), "enqueue", tr("Q")) }, + { PL_INVERT_SELECTION, createAction(tr("Invert Selection"), "invert_selection") }, + { PL_CLEAR_SELECTION, createAction(tr("&Select None"), "clear_selection") }, + { PL_SELECT_ALL, createAction(tr("&Select All"), "select_all", tr("Ctrl+A"), "edit-select-all") }, + { PL_SHOW_INFO, createAction(tr("&View Track Details"), "show_info", tr("Alt+I"), "dialog-information") }, + { PL_NEW, createAction(tr("&New List"), "new_pl", tr("Ctrl+T"), "document-new") }, + { PL_CLOSE, createAction(tr("&Delete List"), "close_pl", tr("Ctrl+W"), "window-close") }, + { PL_LOAD, createAction(tr("&Load List"), "load_pl", tr("O"), "document-open") }, + { PL_SAVE, createAction(tr("&Save List"), "save_pl", tr("Shift+S"), "document-save-as") }, + { PL_RENAME, createAction(tr("&Rename List"), "pl_rename", tr("F2")) }, + { PL_SELECT_NEXT, createAction(tr("&Select Next Playlist"), "next_pl", tr("Ctrl+PgDown"), "go-next") }, + { PL_SELECT_PREVIOUS, createAction(tr("&Select Previous Playlist"), "prev_pl", tr("Ctrl+PgUp"), "go-previous") }, + { PL_GROUP_TRACKS, createAction2(tr("&Group Tracks"), "group_tracks", tr("Ctrl+G")) }, + { PL_SHOW_HEADER, createAction2(tr("&Show Column Headers"), "show_header", tr("Ctrl+H")) }, + //other + { EQUALIZER, createAction(tr("&Equalizer"), "equalizer", tr("Ctrl+E")) }, + { SETTINGS, createAction(tr("&Settings"), "show_settings", tr("Ctrl+P"), "configure") }, + { ABOUT_UI, createAction(tr("&About Ui"), "about_ui") }, + { ABOUT, createAction(tr("&About"), "about") }, + { ABOUT_QT, createAction(tr("&About Qt"), "about_qt") }, + { QUIT, createAction(tr("&Exit"), "exit", tr("Ctrl+Q"), "application-exit") } + }; m_settings->endGroup(); readStates(); delete m_settings; diff --git a/src/plugins/Ui/qsui/actionmanager.h b/src/plugins/Ui/qsui/actionmanager.h index 4e3cfc0a8..faad4570f 100644 --- a/src/plugins/Ui/qsui/actionmanager.h +++ b/src/plugins/Ui/qsui/actionmanager.h @@ -59,6 +59,7 @@ public: REPEAT_TRACK, SHUFFLE, NO_PL_ADVANCE, + TRANSIT_BETWEEN_PLAYLISTS, STOP_AFTER_SELECTED, CLEAR_QUEUE, @@ -139,8 +140,8 @@ public: static ActionManager* instance(); private: - QAction *createAction(QString name, QString confKey, QString key, QString iconName = QString()); - QAction *createAction2(QString name, QString confKey, QString key, QString iconName = QString()); + QAction *createAction(QString name, QString confKey, QString key = QString(), QString iconName = QString()); + QAction *createAction2(QString name, QString confKey, QString key = QString(), QString iconName = QString()); void readStates(); void saveStates(); diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index 2893fe9eb..d88ecc2d7 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -446,6 +446,7 @@ void MainWindow::createActions() ACTION(ActionManager::REPEAT_TRACK)->setChecked(m_ui_settings->isRepeatableTrack()); ACTION(ActionManager::SHUFFLE)->setChecked(m_ui_settings->isShuffle()); ACTION(ActionManager::NO_PL_ADVANCE)->setChecked(m_ui_settings->isNoPlayListAdvance()); + ACTION(ActionManager::TRANSIT_BETWEEN_PLAYLISTS)->setChecked(m_ui_settings->isPlayListTransitionEnabled()); connect(m_ui_settings, SIGNAL(repeatableListChanged(bool)), ACTION(ActionManager::REPEAT_ALL), SLOT(setChecked(bool))); @@ -455,6 +456,8 @@ void MainWindow::createActions() ACTION(ActionManager::NO_PL_ADVANCE), SLOT(setChecked(bool))); connect(m_ui_settings, SIGNAL(shuffleChanged(bool)), ACTION(ActionManager::SHUFFLE), SLOT(setChecked(bool))); + connect(m_ui_settings, SIGNAL(playListTransitionChanged(bool)), + ACTION(ActionManager::TRANSIT_BETWEEN_PLAYLISTS), SLOT(setChecked(bool))); //register external actions ActionManager::instance()->registerAction(ActionManager::UI_ANALYZER, m_ui.analyzerDockWidget->toggleViewAction(), @@ -535,7 +538,7 @@ void MainWindow::createActions() m_ui.menuView->addAction(SET_ACTION(ActionManager::UI_BLOCK_TOOLBARS, this, SLOT(setToolBarsBlocked(bool)))); m_ui.menuView->addAction(tr("Edit Toolbars"), this, SLOT(editToolBar())); - QMenu* sort_mode_menu = new QMenu (tr("Sort List"), this); + QMenu *sort_mode_menu = new QMenu (tr("Sort List"), this); sort_mode_menu->setIcon(QIcon::fromTheme("view-sort-ascending")); QAction *titleAct = sort_mode_menu->addAction(tr ("By Title")); @@ -645,8 +648,11 @@ void MainWindow::createActions() SLOT(setShuffle(bool)))); m_ui.menuPlayback->addAction(SET_ACTION(ActionManager::NO_PL_ADVANCE, m_ui_settings, SLOT(setNoPlayListAdvance(bool)))); + m_ui.menuPlayback->addAction(SET_ACTION(ActionManager::TRANSIT_BETWEEN_PLAYLISTS, m_ui_settings, + SLOT(setPlayListTransitionEnabled(bool)))); m_ui.menuPlayback->addAction(SET_ACTION(ActionManager::STOP_AFTER_SELECTED, m_pl_manager, SLOT(stopAfterSelected()))); + m_ui.menuPlayback->addSeparator(); m_ui.menuPlayback->addAction(SET_ACTION(ActionManager::VOL_ENC, m_core, SLOT(volumeUp()))); m_ui.menuPlayback->addAction(SET_ACTION(ActionManager::VOL_DEC, m_core, SLOT(volumeDown()))); diff --git a/src/plugins/Ui/skinned/actionmanager.cpp b/src/plugins/Ui/skinned/actionmanager.cpp index 7048ca58f..c04f7659c 100644 --- a/src/plugins/Ui/skinned/actionmanager.cpp +++ b/src/plugins/Ui/skinned/actionmanager.cpp @@ -34,78 +34,71 @@ ActionManager::ActionManager(QObject *parent) : m_instance = this; m_settings = new QSettings(Qmmp::configFile(), QSettings::IniFormat); m_settings->beginGroup("SkinnedShortcuts"); - //playback - m_actions[PLAY] = createAction(tr("&Play"), "play", tr("X"), "media-playback-start"); - m_actions[PAUSE] = createAction(tr("&Pause"), "pause", tr("C"), "media-playback-pause"); - m_actions[STOP] = createAction(tr("&Stop"), "stop", tr("V"), "media-playback-stop"); - m_actions[PREVIOUS] = createAction(tr("&Previous"), "previous", tr("Z"), "media-skip-backward"); - m_actions[NEXT] = createAction(tr("&Next"), "next", tr("B"), "media-skip-forward"); - m_actions[PLAY_PAUSE] = createAction(tr("&Play/Pause"), "play_pause", tr("Space")); - m_actions[JUMP] = createAction(tr("&Jump to Track"), "jump", tr("J"), "go-up"); - m_actions[REPEAT_ALL] = createAction2(tr("&Repeat Playlist"), "repeate_playlist", tr("R")); - m_actions[REPEAT_TRACK] = createAction2(tr("&Repeat Track"), "repeate_track", tr("Ctrl+R")); - m_actions[SHUFFLE] = createAction2(tr("&Shuffle"), "shuffle", tr("S")); - m_actions[NO_PL_ADVANCE] = createAction2(tr("&No Playlist Advance"), "no_playlist_advance", - tr("Ctrl+N")); - m_actions[STOP_AFTER_SELECTED] = createAction(tr("&Stop After Selected"), "stop_after_selected", - tr("Ctrl+S")); - m_actions[CLEAR_QUEUE] = createAction(tr("&Clear Queue"), "clear_queue", tr("Alt+Q")); - //view - m_actions[SHOW_PLAYLIST] = createAction2(tr("Show Playlist"), "show_playlist", tr("Alt+E")); - m_actions[SHOW_EQUALIZER] = createAction2(tr("Show Equalizer"), "show_equalizer", tr("Alt+G")); - m_actions[WM_ALLWAYS_ON_TOP] = createAction2(tr("Always on Top"), "always_on_top", ""); - m_actions[WM_STICKY] = createAction2(tr("Put on All Workspaces"), "sticky", ""); - m_actions[WM_DOUBLE_SIZE] = createAction2(tr("Double Size"), "double_size", tr("Meta+D")); - m_actions[WM_ANTIALIASING] = createAction2(tr("Anti-aliasing"), "anti_aliasing", ""); - connect(m_actions[WM_DOUBLE_SIZE], SIGNAL(toggled(bool)), m_actions[WM_ANTIALIASING], SLOT(setEnabled(bool))); - m_actions[WM_ANTIALIASING]->setEnabled(false); - //volume - m_actions[VOL_ENC] = createAction(tr("Volume &+"), "vol_enc", tr("0")); - m_actions[VOL_DEC] = createAction(tr("Volume &-"), "vol_dec", tr("9")); - m_actions[VOL_MUTE] = createAction2(tr("&Mute"), "vol_mute", tr("M")); - //playlist - m_actions[PL_ADD_FILE] = createAction(tr("&Add File"), "add_file", tr("F"), "audio-x-generic"); - m_actions[PL_ADD_DIRECTORY] = createAction(tr("&Add Directory"), "add_dir", tr("D"), "folder"); - m_actions[PL_ADD_URL] = createAction(tr("&Add Url"), "add_url", tr("U"), "network-server"); - m_actions[PL_REMOVE_SELECTED] = createAction(tr("&Remove Selected"), "remove_selected", - tr("Del"), "edit-delete"); - m_actions[PL_REMOVE_ALL] = createAction(tr("&Remove All"), "remove_all", "", "edit-clear"); - m_actions[PL_REMOVE_UNSELECTED] = createAction(tr("&Remove Unselected"), "remove_unselected", - "", "edit-delete"); - m_actions[PL_REMOVE_INVALID] = createAction(tr("Remove unavailable files"), "remove_invalid", - "", "dialog-error"); - m_actions[PL_REMOVE_DUPLICATES] = createAction(tr("Remove duplicates"), "remove_duplicates", ""); - m_actions[PL_REFRESH] = createAction(tr("Refresh"), "refresh", "F5", "view-refresh"); - m_actions[PL_ENQUEUE] = createAction(tr("&Queue Toggle"), "enqueue", tr("Q")); - m_actions[PL_INVERT_SELECTION] = createAction(tr("Invert Selection"), "invert_selection", ""); - m_actions[PL_CLEAR_SELECTION] = createAction(tr("&Select None"), "clear_selection", ""); - m_actions[PL_SELECT_ALL] = createAction(tr("&Select All"), "select_all", - tr("Ctrl+A"), "edit-select-all"); - m_actions[PL_SHOW_INFO] = createAction(tr("&View Track Details"), "show_info", tr("Alt+I"), - "dialog-information"); - m_actions[PL_NEW] = createAction(tr("&New List"), "new_pl", tr("Ctrl+T"), "document-new"); - m_actions[PL_CLOSE] = createAction(tr("&Delete List"), "close_pl", tr("Ctrl+W"), "window-close"); - m_actions[PL_LOAD] = createAction(tr("&Load List"), "load_pl", tr("O"), "document-open"); - m_actions[PL_SAVE] = createAction(tr("&Save List"), "save_pl", tr("Shift+S"), "document-save-as"); - m_actions[PL_RENAME] = createAction(tr("&Rename List"), "pl_rename", tr("F2")); - m_actions[PL_SELECT_NEXT] = createAction(tr("&Select Next Playlist"), "next_pl", - tr("Ctrl+PgDown"), "go-next"); - m_actions[PL_SELECT_PREVIOUS] = createAction(tr("&Select Previous Playlist"), "prev_pl", - tr("Ctrl+PgUp"), "go-previous"); - m_actions[PL_SHOW_MANAGER] = createAction(tr("&Show Playlists"), "show_playlists", - tr("P"), "view-list-details"); - m_actions[PL_GROUP_TRACKS] = createAction2(tr("&Group Tracks"), "group_tracks", tr("Ctrl+G")); - m_actions[PL_SHOW_HEADER] = createAction2(tr("&Show Column Headers"), "show_header", tr("Ctrl+H")); - //other - m_actions[SETTINGS] = createAction(tr("&Settings"), "show_settings", tr("Ctrl+P"), "configure"); - m_actions[ABOUT] = createAction(tr("&About"), "about", ""); - m_actions[ABOUT_QT] = createAction(tr("&About Qt"), "about_qt", ""); - m_actions[QUIT] = createAction(tr("&Exit"), "exit", tr("Ctrl+Q"), "application-exit"); + m_actions = { + //playback + { PLAY, createAction(tr("&Play"), "play", tr("X"), "media-playback-start") }, + { PAUSE, createAction(tr("&Pause"), "pause", tr("C"), "media-playback-pause") }, + { STOP, createAction(tr("&Stop"), "stop", tr("V"), "media-playback-stop") }, + { PREVIOUS, createAction(tr("&Previous"), "previous", tr("Z"), "media-skip-backward") }, + { NEXT, createAction(tr("&Next"), "next", tr("B"), "media-skip-forward") }, + { PLAY_PAUSE, createAction(tr("&Play/Pause"), "play_pause", tr("Space")) }, + { JUMP, createAction(tr("&Jump to Track"), "jump", tr("J"), "go-up") }, + { REPEAT_ALL, createAction2(tr("&Repeat Playlist"), "repeate_playlist", tr("R")) }, + { REPEAT_TRACK, createAction2(tr("&Repeat Track"), "repeate_track", tr("Ctrl+R")) }, + { SHUFFLE, createAction2(tr("&Shuffle"), "shuffle", tr("S")) }, + { NO_PL_ADVANCE, createAction2(tr("&No Playlist Advance"), "no_playlist_advance", tr("Ctrl+N")) }, + { STOP_AFTER_SELECTED, createAction(tr("&Stop After Selected"), "stop_after_selected", tr("Ctrl+S")) }, + { TRANSIT_BETWEEN_PLAYLISTS, createAction2(tr("&Transit between playlists"), "transit_between_playlists") }, + { CLEAR_QUEUE, createAction(tr("&Clear Queue"), "clear_queue", tr("Alt+Q")) }, + //view + { SHOW_PLAYLIST, createAction2(tr("Show Playlist"), "show_playlist", tr("Alt+E")) }, + { SHOW_EQUALIZER, createAction2(tr("Show Equalizer"), "show_equalizer", tr("Alt+G")) }, + { WM_ALLWAYS_ON_TOP, createAction2(tr("Always on Top"), "always_on_top") }, + { WM_STICKY, createAction2(tr("Put on All Workspaces"), "sticky") }, + { WM_DOUBLE_SIZE, createAction2(tr("Double Size"), "double_size", tr("Meta+D")) }, + { WM_ANTIALIASING, createAction2(tr("Anti-aliasing"), "anti_aliasing") }, + //volume + { VOL_ENC, createAction(tr("Volume &+"), "vol_enc", tr("0")) }, + { VOL_DEC, createAction(tr("Volume &-"), "vol_dec", tr("9")) }, + { VOL_MUTE, createAction2(tr("&Mute"), "vol_mute", tr("M")) }, + //playlist + { PL_ADD_FILE, createAction(tr("&Add File"), "add_file", tr("F"), "audio-x-generic") }, + { PL_ADD_DIRECTORY, createAction(tr("&Add Directory"), "add_dir", tr("D"), "folder") }, + { PL_ADD_URL, createAction(tr("&Add Url"), "add_url", tr("U"), "network-server") }, + { PL_REMOVE_SELECTED, createAction(tr("&Remove Selected"), "remove_selected", tr("Del"), "edit-delete") }, + { PL_REMOVE_ALL, createAction(tr("&Remove All"), "remove_all", "", "edit-clear") }, + { PL_REMOVE_UNSELECTED, createAction(tr("&Remove Unselected"), "remove_unselected","", "edit-delete") }, + { PL_REMOVE_INVALID, createAction(tr("Remove unavailable files"), "remove_invalid", "", "dialog-error") }, + { PL_REMOVE_DUPLICATES, createAction(tr("Remove duplicates"), "remove_duplicates") }, + { PL_REFRESH, createAction(tr("Refresh"), "refresh", "F5", "view-refresh") }, + { PL_ENQUEUE, createAction(tr("&Queue Toggle"), "enqueue", tr("Q")) }, + { PL_INVERT_SELECTION, createAction(tr("Invert Selection"), "invert_selection") }, + { PL_CLEAR_SELECTION, createAction(tr("&Select None"), "clear_selection") }, + { PL_SELECT_ALL, createAction(tr("&Select All"), "select_all", tr("Ctrl+A"), "edit-select-all") }, + { PL_SHOW_INFO, createAction(tr("&View Track Details"), "show_info", tr("Alt+I"), "dialog-information") }, + { PL_NEW, createAction(tr("&New List"), "new_pl", tr("Ctrl+T"), "document-new") }, + { PL_CLOSE, createAction(tr("&Delete List"), "close_pl", tr("Ctrl+W"), "window-close") }, + { PL_LOAD, createAction(tr("&Load List"), "load_pl", tr("O"), "document-open") }, + { PL_SAVE, createAction(tr("&Save List"), "save_pl", tr("Shift+S"), "document-save-as") }, + { PL_RENAME, createAction(tr("&Rename List"), "pl_rename", tr("F2")) }, + { PL_SELECT_NEXT, createAction(tr("&Select Next Playlist"), "next_pl", tr("Ctrl+PgDown"), "go-next") }, + { PL_SELECT_PREVIOUS, createAction(tr("&Select Previous Playlist"), "prev_pl", tr("Ctrl+PgUp"), "go-previous") }, + { PL_SHOW_MANAGER, createAction(tr("&Show Playlists"), "show_playlists", tr("P"), "view-list-details") }, + { PL_GROUP_TRACKS, createAction2(tr("&Group Tracks"), "group_tracks", tr("Ctrl+G")) }, + { PL_SHOW_HEADER, createAction2(tr("&Show Column Headers"), "show_header", tr("Ctrl+H")) }, + //other + { SETTINGS, createAction(tr("&Settings"), "show_settings", tr("Ctrl+P"), "configure") }, + { ABOUT, createAction(tr("&About"), "about") }, + { ABOUT_QT, createAction(tr("&About Qt"), "about_qt") }, + { QUIT, createAction(tr("&Exit"), "exit", tr("Ctrl+Q"), "application-exit") }, + }; m_settings->endGroup(); readStates(); delete m_settings; m_settings = nullptr; m_actions[ABOUT]->setIcon(qApp->windowIcon()); + connect(m_actions[WM_DOUBLE_SIZE], SIGNAL(toggled(bool)), m_actions[WM_ANTIALIASING], SLOT(setEnabled(bool))); + m_actions[WM_ANTIALIASING]->setEnabled(false); } ActionManager::~ActionManager() diff --git a/src/plugins/Ui/skinned/actionmanager.h b/src/plugins/Ui/skinned/actionmanager.h index d4d0f18f0..7e0fa7264 100644 --- a/src/plugins/Ui/skinned/actionmanager.h +++ b/src/plugins/Ui/skinned/actionmanager.h @@ -55,6 +55,7 @@ public: REPEAT_TRACK, SHUFFLE, NO_PL_ADVANCE, + TRANSIT_BETWEEN_PLAYLISTS, STOP_AFTER_SELECTED, CLEAR_QUEUE, @@ -109,8 +110,8 @@ public: static ActionManager* instance(); private: - QAction *createAction(QString name, QString confKey, QString key, QString iconName = QString()); - QAction *createAction2(QString name, QString confKey, QString key); + QAction *createAction(QString name, QString confKey, QString key = QString(), QString iconName = QString()); + QAction *createAction2(QString name, QString confKey, QString key = QString()); void readStates(); void saveStates(); diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp index 8d240521a..5bef7a1c0 100644 --- a/src/plugins/Ui/skinned/mainwindow.cpp +++ b/src/plugins/Ui/skinned/mainwindow.cpp @@ -314,6 +314,7 @@ void MainWindow::readSettings() 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()); + ACTION(ActionManager::TRANSIT_BETWEEN_PLAYLISTS)->setChecked(m_ui_settings->isPlayListTransitionEnabled()); m_update = true; } #ifdef QMMP_WS_X11 @@ -444,8 +445,11 @@ void MainWindow::createActions() 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::TRANSIT_BETWEEN_PLAYLISTS, m_ui_settings, + SLOT(setPlayListTransitionEnabled(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_ui_settings, SIGNAL(repeatableListChanged(bool)), ACTION(ActionManager::REPEAT_ALL), SLOT(setChecked(bool))); @@ -455,6 +459,8 @@ void MainWindow::createActions() ACTION(ActionManager::NO_PL_ADVANCE), SLOT(setChecked(bool))); connect(m_ui_settings, SIGNAL(shuffleChanged(bool)), ACTION(ActionManager::SHUFFLE), SLOT(setChecked(bool))); + connect(m_ui_settings, SIGNAL(playListTransitionChanged(bool)), + ACTION(ActionManager::TRANSIT_BETWEEN_PLAYLISTS), SLOT(setChecked(bool))); QMenu *audioMenu = m_mainMenu->addMenu(tr("Audio")); audioMenu->addAction(SET_ACTION(ActionManager::VOL_ENC, m_core, SLOT(volumeUp()))); |
