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

@@ -24,7 +24,6 @@
#include <stdbool.h>
#include <QObject>
#include <QWidget>
#include <QList>
#include <QString>
@@ -32,12 +31,10 @@
#include <QMenu>
#include <QAction>
#include <QActionGroup>
#include <QSignalMapper>
#include <QTimer>
#include <QtEvents>
#include "engine/engine_fwd.h"
class QTimer;
class QMouseEvent;
class QWheelEvent;
@@ -90,8 +87,6 @@ signals:
QMenu *context_menu_framerate_;
QActionGroup *group_;
QActionGroup *group_framerate_;
QSignalMapper *mapper_;
QSignalMapper *mapper_framerate_;
QList<const QMetaObject*> analyzer_types_;
QList<int> framerate_list_;
@@ -110,14 +105,16 @@ signals:
template <typename T>
void AnalyzerContainer::AddAnalyzerType() {
int id = analyzer_types_.count();
analyzer_types_ << &T::staticMetaObject;
QAction *action = context_menu_->addAction(tr(T::kName), mapper_, SLOT(map()));
QAction *action = context_menu_->addAction(tr(T::kName));
group_->addAction(action);
mapper_->setMapping(action, id);
action->setCheckable(true);
actions_ << action;
connect(action, &QAction::triggered, [this, id]() { ChangeAnalyzer(id); } );
}
#endif // ANALYZERCONTAINER_H