examples: Use lambdas instead of functor classes

Change-Id: Iee2cc22a9239ab5a351cb5ecb2c8ce10ed019b2c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
This commit is contained in:
Alexander Volkov 2017-01-09 15:40:32 +03:00
parent 280f067fe0
commit e7b8df6349
2 changed files with 4 additions and 25 deletions

View File

@ -282,23 +282,10 @@ void MainWindow::loadLayout()
}
}
class DockWidgetAreaCornerFunctor {
public:
explicit DockWidgetAreaCornerFunctor(QMainWindow *mw, Qt::Corner c, Qt::DockWidgetArea a)
: m_mainWindow(mw), m_area(a), m_corner(c) {}
void operator()() const { m_mainWindow->setCorner(m_corner, m_area); }
private:
QMainWindow *m_mainWindow;
Qt::DockWidgetArea m_area;
Qt::Corner m_corner;
};
static QAction *addCornerAction(const QString &text, QMainWindow *mw, QMenu *menu, QActionGroup *group,
Qt::Corner c, Qt::DockWidgetArea a)
{
QAction *result = menu->addAction(text, mw, DockWidgetAreaCornerFunctor(mw, c, a));
QAction *result = menu->addAction(text, mw, [=]() { mw->setCorner(c, a); });
result->setCheckable(true);
group->addAction(result);
return result;

View File

@ -264,16 +264,6 @@ void MainWindow::updateMenus()
#endif
}
class ActiveMdiSubWindowFunctor {
public:
explicit ActiveMdiSubWindowFunctor(QMdiArea *mdiArea, QMdiSubWindow *activeWindow) : m_mdiArea(mdiArea), m_activeWindow(activeWindow) {}
void operator()() const { m_mdiArea->setActiveSubWindow(m_activeWindow); }
private:
QMdiArea *m_mdiArea;
QMdiSubWindow *m_activeWindow;
};
void MainWindow::updateWindowMenu()
{
windowMenu->clear();
@ -302,7 +292,9 @@ void MainWindow::updateWindowMenu()
text = tr("%1 %2").arg(i + 1)
.arg(child->userFriendlyCurrentFile());
}
QAction *action = windowMenu->addAction(text, mdiSubWindow, ActiveMdiSubWindowFunctor(mdiArea, mdiSubWindow));
QAction *action = windowMenu->addAction(text, mdiSubWindow, [this, mdiSubWindow]() {
mdiArea->setActiveSubWindow(mdiSubWindow);
});
action->setCheckable(true);
action ->setChecked(child == activeMdiChild());
}