Replace all uses of QSignalMapper with lambda expressions

This commit is contained in:
Jonas Kvinge
2019-07-08 22:27:45 +02:00
parent f3e852c042
commit 8ebcb71e6e
13 changed files with 70 additions and 102 deletions

View File

@@ -32,22 +32,22 @@
#include <QHash>
#include <QString>
#include <QIcon>
#include <QMenu>
#include <QPainter>
#include <QColor>
#include <QRect>
#include <QFont>
#include <QSignalMapper>
#include <QStylePainter>
#include <QTimer>
#include <QLayout>
#include <QVBoxLayout>
#include <QMouseEvent>
#include <QSettings>
#include <QSize>
#include <QPoint>
#include <QTransform>
#include <QMenu>
#include <QAction>
#include <QActionGroup>
#include <QSettings>
#include <QMouseEvent>
const QSize FancyTabWidget::IconSize_LargeSidebar = QSize(24, 24);
const QSize FancyTabWidget::IconSize_SmallSidebar = QSize(22, 22);
@@ -536,12 +536,11 @@ void FancyTabWidget::SetMode(FancyTabWidget::Mode mode) {
}
void FancyTabWidget::addMenuItem(QSignalMapper* mapper, QActionGroup* group, const QString& text, Mode mode) {
void FancyTabWidget::addMenuItem(QActionGroup* group, const QString& text, Mode mode) {
QAction* action = group->addAction(text);
action->setCheckable(true);
mapper->setMapping(action, mode);
connect(action, SIGNAL(triggered()), mapper, SLOT(map()));
connect(action, &QAction::triggered, [this, mode]() { SetMode(mode); } );
if (mode == mode_) action->setChecked(true);
@@ -550,18 +549,14 @@ void FancyTabWidget::addMenuItem(QSignalMapper* mapper, QActionGroup* group, con
void FancyTabWidget::contextMenuEvent(QContextMenuEvent* e) {
if (!menu_) {
menu_ = new QMenu(this);
QSignalMapper* mapper = new QSignalMapper(this);
QActionGroup* group = new QActionGroup(this);
addMenuItem(mapper, group, tr("Large sidebar"), Mode_LargeSidebar);
addMenuItem(mapper, group, tr("Small sidebar"), Mode_SmallSidebar);
addMenuItem(mapper, group, tr("Plain sidebar"), Mode_PlainSidebar);
addMenuItem(mapper, group, tr("Tabs on top"), Mode_Tabs);
addMenuItem(mapper, group, tr("Icons on top"), Mode_IconOnlyTabs);
addMenuItem(group, tr("Large sidebar"), Mode_LargeSidebar);
addMenuItem(group, tr("Small sidebar"), Mode_SmallSidebar);
addMenuItem(group, tr("Plain sidebar"), Mode_PlainSidebar);
addMenuItem(group, tr("Tabs on top"), Mode_Tabs);
addMenuItem(group, tr("Icons on top"), Mode_IconOnlyTabs);
menu_->addActions(group->actions());
connect(mapper, SIGNAL(mapped(int)), SLOT(SetMode(int)));
}
menu_->popup(e->globalPos());