From b312fcd85c5c3569ebe5c6622ba31c915cdf1dde Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 25 May 2015 06:55:36 +0000 Subject: added feature to restore default shortcuts git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5019 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/actionmanager.cpp | 10 ++++++ src/plugins/Ui/skinned/actionmanager.h | 1 + src/plugins/Ui/skinned/forms/hotkeyeditor.ui | 49 ++++++++++++++++------------ src/plugins/Ui/skinned/hotkeyeditor.cpp | 13 ++++++++ src/plugins/Ui/skinned/hotkeyeditor.h | 1 + 5 files changed, 53 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/plugins/Ui/skinned/actionmanager.cpp b/src/plugins/Ui/skinned/actionmanager.cpp index b92866afe..9d8d72de7 100644 --- a/src/plugins/Ui/skinned/actionmanager.cpp +++ b/src/plugins/Ui/skinned/actionmanager.cpp @@ -136,6 +136,7 @@ QAction *ActionManager::createAction(QString name, QString confKey, QString key, { QAction *action = new QAction(name, this); action->setShortcut(m_settings->value(confKey, key).toString()); + action->setProperty("defaultShortcut", key); action->setObjectName(confKey); if(iconName.isEmpty()) return action; @@ -176,3 +177,12 @@ void ActionManager::saveActions() settings.setValue(QString("SkinnedShortcuts/")+action->objectName(), action->shortcut()); } } + +void ActionManager::resetShortcuts() +{ + foreach (QAction *action, m_actions.values()) + { + action->setShortcut(action->property("defaultShortcut").toString()); + qDebug("=%s=",qPrintable(action->property("defaultShortcut").toString())); + } +} diff --git a/src/plugins/Ui/skinned/actionmanager.h b/src/plugins/Ui/skinned/actionmanager.h index 19b98ba5c..b3f88995e 100644 --- a/src/plugins/Ui/skinned/actionmanager.h +++ b/src/plugins/Ui/skinned/actionmanager.h @@ -103,6 +103,7 @@ public: QAction *use(int type, const QObject *receiver, const char *member); QList actions(); void saveActions(); + void resetShortcuts(); static ActionManager* instance(); private: diff --git a/src/plugins/Ui/skinned/forms/hotkeyeditor.ui b/src/plugins/Ui/skinned/forms/hotkeyeditor.ui index 128223c4e..f2d49bd0c 100644 --- a/src/plugins/Ui/skinned/forms/hotkeyeditor.ui +++ b/src/plugins/Ui/skinned/forms/hotkeyeditor.ui @@ -14,7 +14,34 @@ Shortcuts - + + + + Qt::Horizontal + + + + 262 + 20 + + + + + + + + Change shortcut... + + + + + + + Reset + + + + true @@ -34,26 +61,6 @@ - - - - Change shortcut... - - - - - - - Qt::Horizontal - - - - 262 - 20 - - - - diff --git a/src/plugins/Ui/skinned/hotkeyeditor.cpp b/src/plugins/Ui/skinned/hotkeyeditor.cpp index 951994a43..de5e7a49d 100644 --- a/src/plugins/Ui/skinned/hotkeyeditor.cpp +++ b/src/plugins/Ui/skinned/hotkeyeditor.cpp @@ -18,6 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include "actionmanager.h" #include "hotkeyeditor.h" #include "shortcutdialog.h" @@ -51,6 +52,7 @@ void HotkeyEditor::on_changeShortcutButton_clicked() void HotkeyEditor::loadShortcuts() { + m_ui->shortcutTreeWidget->clear(); //playback QTreeWidgetItem *item = new QTreeWidgetItem (m_ui->shortcutTreeWidget, QStringList() << tr("Playback")); for(int i = ActionManager::PLAY; i <= ActionManager::CLEAR_QUEUE; ++i) @@ -85,3 +87,14 @@ void HotkeyEditor::loadShortcuts() m_ui->shortcutTreeWidget->resizeColumnToContents(0); m_ui->shortcutTreeWidget->resizeColumnToContents(1); } + +void HotkeyEditor::on_resetShortcutsButton_clicked() +{ + if(QMessageBox::question(this, tr("Reset Shortcuts"), + tr("Do you want to restore default shortcuts?"), + QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) + { + ActionManager::instance()->resetShortcuts(); + loadShortcuts(); + } +} diff --git a/src/plugins/Ui/skinned/hotkeyeditor.h b/src/plugins/Ui/skinned/hotkeyeditor.h index a2277b3f5..21a21301d 100644 --- a/src/plugins/Ui/skinned/hotkeyeditor.h +++ b/src/plugins/Ui/skinned/hotkeyeditor.h @@ -40,6 +40,7 @@ public: private slots: void on_changeShortcutButton_clicked(); + void on_resetShortcutsButton_clicked(); private: void loadShortcuts(); -- cgit v1.2.3-13-gbd6f