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)
: CommandMappings(parent)
class ShortcutSettingsWidget final : public CommandMappings
{
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"));
setTargetHeader(tr("Shortcut"));
@@ -299,7 +329,7 @@ ShortcutSettingsWidget::~ShortcutSettingsWidget()
ShortcutSettings::ShortcutSettings()
{
setId(Constants::SETTINGS_ID_SHORTCUTS);
setDisplayName(tr("Keyboard"));
setDisplayName(ShortcutSettingsWidget::tr("Keyboard"));
setCategory(Constants::SETTINGS_CATEGORY_CORE);
}

View File

@@ -46,6 +46,7 @@ class Command;
namespace Internal {
class ActionManagerPrivate;
class ShortcutSettingsWidget;
struct ShortcutItem
{
@@ -79,42 +80,8 @@ private:
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:
ShortcutSettings();