/***************************************************************************
- * Copyright (C) 2005-2013 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#include <QTimer>
-
#include "shortcutssettingspage.h"
+#include <QTimer>
+
#include "action.h"
#include "actioncollection.h"
#include "qtui.h"
#include "shortcutsmodel.h"
#include "util.h"
-ShortcutsFilter::ShortcutsFilter(QObject *parent) : QSortFilterProxyModel(parent)
+ShortcutsFilter::ShortcutsFilter(QObject* parent)
+ : QSortFilterProxyModel(parent)
{
setDynamicSortFilter(true);
}
-
-void ShortcutsFilter::setFilterString(const QString &filterString)
+void ShortcutsFilter::setFilterString(const QString& filterString)
{
_filterString = filterString;
invalidateFilter();
}
-
-bool ShortcutsFilter::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
+bool ShortcutsFilter::filterAcceptsRow(int source_row, const QModelIndex& source_parent) const
{
if (!source_parent.isValid())
return true;
QModelIndex index = source_parent.model()->index(source_row, 0, source_parent);
Q_ASSERT(index.isValid());
- if (!qobject_cast<Action *>(index.data(ShortcutsModel::ActionRole).value<QObject *>())->isShortcutConfigurable())
+ if (!qobject_cast<Action*>(index.data(ShortcutsModel::ActionRole).value<QObject*>())->isShortcutConfigurable())
return false;
for (int col = 0; col < source_parent.model()->columnCount(source_parent); col++) {
return false;
}
-
/****************************************************************************/
-ShortcutsSettingsPage::ShortcutsSettingsPage(const QHash<QString, ActionCollection *> &actionCollections, QWidget *parent)
- : SettingsPage(tr("Interface"), tr("Shortcuts"), parent),
- _shortcutsModel(new ShortcutsModel(actionCollections, this)),
- _shortcutsFilter(new ShortcutsFilter(this))
+ShortcutsSettingsPage::ShortcutsSettingsPage(const QHash<QString, ActionCollection*>& actionCollections, QWidget* parent)
+ : SettingsPage(tr("Interface"), tr("Shortcuts"), parent)
+ , _shortcutsModel(new ShortcutsModel(actionCollections, this))
+ , _shortcutsFilter(new ShortcutsFilter(this))
{
ui.setupUi(this);
ui.shortcutsView->sortByColumn(0, Qt::AscendingOrder);
ui.keySequenceWidget->setModel(_shortcutsModel);
- connect(ui.keySequenceWidget, SIGNAL(keySequenceChanged(QKeySequence, QModelIndex)), SLOT(keySequenceChanged(QKeySequence, QModelIndex)));
+ connect(ui.keySequenceWidget, &KeySequenceWidget::keySequenceChanged, this, &ShortcutsSettingsPage::keySequenceChanged);
- connect(ui.shortcutsView->selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)), SLOT(setWidgetStates()));
+ connect(ui.shortcutsView->selectionModel(), &QItemSelectionModel::currentChanged, this, &ShortcutsSettingsPage::setWidgetStates);
setWidgetStates();
- connect(ui.useDefault, SIGNAL(clicked(bool)), SLOT(toggledCustomOrDefault()));
- connect(ui.useCustom, SIGNAL(clicked(bool)), SLOT(toggledCustomOrDefault()));
+ connect(ui.useDefault, &QAbstractButton::clicked, this, &ShortcutsSettingsPage::toggledCustomOrDefault);
+ connect(ui.useCustom, &QAbstractButton::clicked, this, &ShortcutsSettingsPage::toggledCustomOrDefault);
- connect(_shortcutsModel, SIGNAL(hasChanged(bool)), SLOT(setChangedState(bool)));
+ connect(_shortcutsModel, &ShortcutsModel::changed, this, &ShortcutsSettingsPage::setChangedState);
// fugly, but directly setting it from the ctor doesn't seem to work
- QTimer::singleShot(0, ui.searchEdit, SLOT(setFocus()));
+ QTimer::singleShot(0, ui.searchEdit, [widget = ui.searchEdit]() { widget->setFocus(); });
}
-
void ShortcutsSettingsPage::setWidgetStates()
{
if (ui.shortcutsView->currentIndex().isValid() && ui.shortcutsView->currentIndex().parent().isValid()) {
}
}
-
-void ShortcutsSettingsPage::on_searchEdit_textChanged(const QString &text)
+void ShortcutsSettingsPage::on_searchEdit_textChanged(const QString& text)
{
_shortcutsFilter->setFilterString(text);
}
-
-void ShortcutsSettingsPage::keySequenceChanged(const QKeySequence &seq, const QModelIndex &conflicting)
+void ShortcutsSettingsPage::keySequenceChanged(const QKeySequence& seq, const QModelIndex& conflicting)
{
if (conflicting.isValid())
_shortcutsModel->setData(conflicting, QKeySequence(), ShortcutsModel::ActiveShortcutRole);
setWidgetStates();
}
-
void ShortcutsSettingsPage::toggledCustomOrDefault()
{
if (!ui.shortcutsView->currentIndex().isValid())
setWidgetStates();
}
-
void ShortcutsSettingsPage::save()
{
_shortcutsModel->commit();
SettingsPage::save();
}
-
void ShortcutsSettingsPage::load()
{
_shortcutsModel->load();
SettingsPage::load();
}
-
void ShortcutsSettingsPage::defaults()
{
_shortcutsModel->defaults();