/ src / qt / test / util.cpp
util.cpp
 1  // Copyright (c) 2018-present The Bitcoin Core developers
 2  // Distributed under the MIT software license, see the accompanying
 3  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
 4  
 5  #include <qt/test/util.h>
 6  
 7  #include <chrono>
 8  
 9  #include <QApplication>
10  #include <QMessageBox>
11  #include <QPushButton>
12  #include <QString>
13  #include <QTimer>
14  #include <QWidget>
15  
16  void ConfirmMessage(QString* text, std::chrono::milliseconds msec)
17  {
18      QTimer::singleShot(msec, [text]() {
19          for (QWidget* widget : QApplication::topLevelWidgets()) {
20              if (widget->inherits("QMessageBox")) {
21                  QMessageBox* messageBox = qobject_cast<QMessageBox*>(widget);
22                  if (text) *text = messageBox->text();
23                  messageBox->defaultButton()->click();
24              }
25          }
26      });
27  }