Core: Move ShortcutSettings dialog to new setup

Change-Id: I28dcbeb79f3cb712fcd5f7c768ef73c4ea483732
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-02-04 12:10:45 +01:00
parent 7f37c503db
commit 3b575caf70
2 changed files with 35 additions and 38 deletions

View File

@@ -221,8 +221,38 @@ void ShortcutButton::handleToggleChange(bool toogleState)
} }
} }
ShortcutSettingsWidget::ShortcutSettingsWidget(QWidget *parent) class ShortcutSettingsWidget final : public CommandMappings
: CommandMappings(parent) {
Q_DECLARE_TR_FUNCTIONS(Core::Internal::ShortcutSettings)
public:
ShortcutSettingsWidget();
~ShortcutSettingsWidget() final;
void apply();
private:
void importAction() final;
void exportAction() final;
void defaultAction() final;
bool filterColumn(const QString &filterString, QTreeWidgetItem *item, int column) const final;
void initialize();
void handleCurrentCommandChanged(QTreeWidgetItem *current);
void resetToDefault();
bool validateShortcutEdit() const;
bool markCollisions(ShortcutItem *);
void setKeySequence(const QKeySequence &key);
void showConflicts();
void clear();
QList<ShortcutItem *> m_scitems;
QGroupBox *m_shortcutBox;
Utils::FancyLineEdit *m_shortcutEdit;
QLabel *m_warningLabel;
};
ShortcutSettingsWidget::ShortcutSettingsWidget()
{ {
setPageTitle(tr("Keyboard Shortcuts")); setPageTitle(tr("Keyboard Shortcuts"));
setTargetHeader(tr("Shortcut")); setTargetHeader(tr("Shortcut"));
@@ -299,7 +329,7 @@ ShortcutSettingsWidget::~ShortcutSettingsWidget()
ShortcutSettings::ShortcutSettings() ShortcutSettings::ShortcutSettings()
{ {
setId(Constants::SETTINGS_ID_SHORTCUTS); setId(Constants::SETTINGS_ID_SHORTCUTS);
setDisplayName(tr("Keyboard")); setDisplayName(ShortcutSettingsWidget::tr("Keyboard"));
setCategory(Constants::SETTINGS_CATEGORY_CORE); setCategory(Constants::SETTINGS_CATEGORY_CORE);
} }

View File

@@ -46,6 +46,7 @@ class Command;
namespace Internal { namespace Internal {
class ActionManagerPrivate; class ActionManagerPrivate;
class ShortcutSettingsWidget;
struct ShortcutItem struct ShortcutItem
{ {
@@ -79,42 +80,8 @@ private:
int m_keyNum = 0; int m_keyNum = 0;
}; };
class ShortcutSettingsWidget : public CommandMappings class ShortcutSettings final : public IOptionsPage
{ {
Q_OBJECT
public:
ShortcutSettingsWidget(QWidget *parent = nullptr);
~ShortcutSettingsWidget() override;
void apply();
protected:
void importAction() override;
void exportAction() override;
void defaultAction() override;
bool filterColumn(const QString &filterString, QTreeWidgetItem *item, int column) const override;
private:
void initialize();
void handleCurrentCommandChanged(QTreeWidgetItem *current);
void resetToDefault();
bool validateShortcutEdit() const;
bool markCollisions(ShortcutItem *);
void setKeySequence(const QKeySequence &key);
void showConflicts();
void clear();
QList<ShortcutItem *> m_scitems;
QGroupBox *m_shortcutBox;
Utils::FancyLineEdit *m_shortcutEdit;
QLabel *m_warningLabel;
};
class ShortcutSettings : public IOptionsPage
{
Q_OBJECT
public: public:
ShortcutSettings(); ShortcutSettings();