[tests] [qt] Introduce qt/test/util with a generalized ConfirmMessage

ConfirmMessage is reused in future tests apart from its single usage here.
This commit is contained in:
James O'Beirne
2018-03-29 10:56:04 -04:00
parent 8cdcaee4c7
commit 9c01be1b85
4 changed files with 38 additions and 16 deletions

22
src/qt/test/util.cpp Normal file
View File

@@ -0,0 +1,22 @@
#include <qt/callback.h>
#include <QApplication>
#include <QMessageBox>
#include <QTimer>
#include <QString>
#include <QPushButton>
#include <QWidget>
void ConfirmMessage(QString* text, int msec)
{
QTimer::singleShot(msec, makeCallback([text](Callback* callback) {
for (QWidget* widget : QApplication::topLevelWidgets()) {
if (widget->inherits("QMessageBox")) {
QMessageBox* messageBox = qobject_cast<QMessageBox*>(widget);
if (text) *text = messageBox->text();
messageBox->defaultButton()->click();
}
}
delete callback;
}), SLOT(call()));
}