aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Ui/qsui/actionmanager.cpp138
-rw-r--r--src/plugins/Ui/qsui/actionmanager.h5
-rw-r--r--src/plugins/Ui/qsui/mainwindow.cpp8
-rw-r--r--src/plugins/Ui/skinned/actionmanager.cpp127
-rw-r--r--src/plugins/Ui/skinned/actionmanager.h5
-rw-r--r--src/plugins/Ui/skinned/mainwindow.cpp6
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())));