diff --git a/src/widgets/settingspages/KeyboardSettingsPage.cpp b/src/widgets/settingspages/KeyboardSettingsPage.cpp index 61c4e668ed7..d63c160299c 100644 --- a/src/widgets/settingspages/KeyboardSettingsPage.cpp +++ b/src/widgets/settingspages/KeyboardSettingsPage.cpp @@ -1,4 +1,4 @@ -#include "KeyboardSettingsPage.hpp" +#include "widgets/settingspages/KeyboardSettingsPage.hpp" #include "Application.hpp" #include "common/QLogging.hpp" @@ -15,6 +15,33 @@ #include #include +namespace { + +using namespace chatterino; + +void tableCellClicked(const QModelIndex &clicked, EditableModelView *view, + HotkeyModel *model) +{ + auto hotkey = getApp()->hotkeys->getHotkeyByName( + clicked.siblingAtColumn(0).data(Qt::EditRole).toString()); + if (!hotkey) + { + return; // clicked on header or invalid hotkey + } + EditHotkeyDialog dialog(hotkey); + bool wasAccepted = dialog.exec() == 1; + + if (wasAccepted) + { + auto newHotkey = dialog.data(); + auto vectorIndex = + getApp()->hotkeys->replaceHotkey(hotkey->name(), newHotkey); + getApp()->hotkeys->save(); + } +} + +} // namespace + namespace chatterino { KeyboardSettingsPage::KeyboardSettingsPage() @@ -22,7 +49,7 @@ KeyboardSettingsPage::KeyboardSettingsPage() LayoutCreator layoutCreator(this); auto layout = layoutCreator.emplace(); - auto model = getApp()->hotkeys->createModel(nullptr); + auto *model = getApp()->hotkeys->createModel(nullptr); EditableModelView *view = layout.emplace(model).getElement(); @@ -35,7 +62,7 @@ KeyboardSettingsPage::KeyboardSettingsPage() 1, QHeaderView::Stretch); // We can safely ignore this signal connection since we own the view - std::ignore = view->addButtonPressed.connect([view, model] { + std::ignore = view->addButtonPressed.connect([] { EditHotkeyDialog dialog(nullptr); bool wasAccepted = dialog.exec() == 1; @@ -48,11 +75,11 @@ KeyboardSettingsPage::KeyboardSettingsPage() }); QObject::connect(view->getTableView(), &QTableView::doubleClicked, - [this, view, model](const QModelIndex &clicked) { - this->tableCellClicked(clicked, view, model); + [view, model](const QModelIndex &clicked) { + tableCellClicked(clicked, view, model); }); - QPushButton *resetEverything = new QPushButton("Reset to defaults"); + auto *resetEverything = new QPushButton("Reset to defaults"); QObject::connect(resetEverything, &QPushButton::clicked, [this]() { auto reply = QMessageBox::question( this, "Reset hotkeys", @@ -67,26 +94,4 @@ KeyboardSettingsPage::KeyboardSettingsPage() view->addCustomButton(resetEverything); } -void KeyboardSettingsPage::tableCellClicked(const QModelIndex &clicked, - EditableModelView *view, - HotkeyModel *model) -{ - auto hotkey = getApp()->hotkeys->getHotkeyByName( - clicked.siblingAtColumn(0).data(Qt::EditRole).toString()); - if (!hotkey) - { - return; // clicked on header or invalid hotkey - } - EditHotkeyDialog dialog(hotkey); - bool wasAccepted = dialog.exec() == 1; - - if (wasAccepted) - { - auto newHotkey = dialog.data(); - auto vectorIndex = - getApp()->hotkeys->replaceHotkey(hotkey->name(), newHotkey); - getApp()->hotkeys->save(); - } -} - } // namespace chatterino diff --git a/src/widgets/settingspages/KeyboardSettingsPage.hpp b/src/widgets/settingspages/KeyboardSettingsPage.hpp index 2a7d1dff99e..fcd9eed613b 100644 --- a/src/widgets/settingspages/KeyboardSettingsPage.hpp +++ b/src/widgets/settingspages/KeyboardSettingsPage.hpp @@ -11,10 +11,6 @@ class KeyboardSettingsPage : public SettingsPage { public: KeyboardSettingsPage(); - -private: - void tableCellClicked(const QModelIndex &clicked, EditableModelView *view, - HotkeyModel *model); }; } // namespace chatterino