diff options
Diffstat (limited to 'src/ui/actionmanager.cpp')
| -rw-r--r-- | src/ui/actionmanager.cpp | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/src/ui/actionmanager.cpp b/src/ui/actionmanager.cpp deleted file mode 100644 index f4689ecd0..000000000 --- a/src/ui/actionmanager.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2010 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -#include <QSettings> -#include <QAction> -#include <QIcon> -#include <QFile> -#include <qmmp/qmmp.h> -#include "actionmanager.h" - -ActionManager *ActionManager::m_instance = 0; - -ActionManager::ActionManager(QObject *parent) : - QObject(parent) -{ - m_instance = this; - m_settings = new QSettings(Qmmp::configFile(), QSettings::IniFormat); - m_settings->beginGroup("Shortcuts"); - //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 File"), "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"), "General/always_on_top", ""); - m_actions[WM_DOUBLE_SIZE] = createAction2(tr("Double Size"), "double_size", tr("Meta+D")); - //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_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_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"); - //other - m_actions[SETTINGS] = createAction(tr("&Settings"), "show_settings", tr("Ctrl+P"), "configure"); - m_actions[ABOUT] = createAction(tr("&About"), "about", "", ":/32x32/qmmp.png"); - m_actions[ABOUT_QT] = createAction(tr("&About Qt"), "about_qt", ""); - m_actions[QUIT] = createAction(tr("&Exit"), "exit", tr("Ctrl+Q"), "application-exit"); - m_settings->endGroup(); - delete m_settings; - m_settings = 0; -} - -ActionManager::~ActionManager() -{ - m_instance = 0; -} - -QAction *ActionManager::action(int type) -{ - return m_actions[type]; -} - -QAction *ActionManager::use(int type, const QObject *receiver, const char *member) -{ - QAction *act = m_actions[type]; - connect(act,SIGNAL(triggered(bool)), receiver, member); - return act; -} - -ActionManager* ActionManager::instance() -{ - return m_instance; -} - -QAction *ActionManager::createAction(QString name, QString confKey, QString key, QString iconName) -{ - QAction *action = new QAction(name, this); - action->setShortcut(m_settings->value(confKey, key).toString()); - action->setObjectName(confKey); - if(iconName.isEmpty()) - return action; - if(QFile::exists(iconName)) - action->setIcon(QIcon(iconName)); - else - action->setIcon(QIcon::fromTheme(iconName)); - return action; -} - -QAction *ActionManager::createAction2(QString name, QString confKey, QString key) -{ - QAction *action = createAction(name, confKey, key); - action->setCheckable(true); - return action; -} - -void ActionManager::saveActions() -{ - QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - foreach(QAction *action, m_actions.values()) - { - settings.setValue(QString("Shortcuts/")+action->objectName(), action->shortcut()); - } -} |
