mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-03 09:56:38 -05:00
Merge bitcoin-core/gui#517: refactor, qt: Use std::chrono for parameters of QTimer methods
51250b0906
refactor, qt: Use std::chrono for input_filter_delay constant (Hennadii Stepanov)f3bdc143b6
refactor, qt: Add SHUTDOWN_POLLING_DELAY constant (Hennadii Stepanov)0e193deb52
refactor, qt: Use std::chrono for non-zero arguments in QTimer methods (Hennadii Stepanov)6f0da95811
refactor, qt: Use std::chrono in ConfirmMessage parameter (Hennadii Stepanov)33d520ac53
refactor, qt: Use std::chrono for MODEL_UPDATE_DELAY constant (Hennadii Stepanov) Pull request description: Since Qt 5.8 `QTimer` methods have overloads that accept `std::chrono::milliseconds` arguments: - [`QTimer::singleShot`](https://doc.qt.io/archives/qt-5.9/qtimer.html#singleShot-8) - [`QTimer::start`](https://doc.qt.io/archives/qt-5.9/qtimer.html#start-2) ACKs for top commit: promag: Code review ACK51250b0906
. shaavan: reACK51250b0906
Tree-SHA512: aa843bb2322a84c0c2bb113d3b48d7bf02d7f09a770779dcde312c32887f973ef9445cdef42f39edaa599ff0f3d0457454f6153aa130efadd989e413d39c6062
This commit is contained in:
commit
16781e1bc9
11 changed files with 39 additions and 17 deletions
|
@ -41,6 +41,7 @@
|
||||||
#endif // ENABLE_WALLET
|
#endif // ENABLE_WALLET
|
||||||
|
|
||||||
#include <boost/signals2/connection.hpp>
|
#include <boost/signals2/connection.hpp>
|
||||||
|
#include <chrono>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
@ -412,10 +413,10 @@ void BitcoinApplication::initializeResult(bool success, interfaces::BlockAndHead
|
||||||
connect(paymentServer, &PaymentServer::message, [this](const QString& title, const QString& message, unsigned int style) {
|
connect(paymentServer, &PaymentServer::message, [this](const QString& title, const QString& message, unsigned int style) {
|
||||||
window->message(title, message, style);
|
window->message(title, message, style);
|
||||||
});
|
});
|
||||||
QTimer::singleShot(100, paymentServer, &PaymentServer::uiReady);
|
QTimer::singleShot(100ms, paymentServer, &PaymentServer::uiReady);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
pollShutdownTimer->start(200);
|
pollShutdownTimer->start(SHUTDOWN_POLLING_DELAY);
|
||||||
} else {
|
} else {
|
||||||
Q_EMIT splashFinished(); // Make sure splash screen doesn't stick around during shutdown
|
Q_EMIT splashFinished(); // Make sure splash screen doesn't stick around during shutdown
|
||||||
requestShutdown();
|
requestShutdown();
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include <netbase.h>
|
#include <netbase.h>
|
||||||
#include <util/system.h>
|
#include <util/system.h>
|
||||||
#include <util/threadnames.h>
|
#include <util/threadnames.h>
|
||||||
|
#include <util/time.h>
|
||||||
#include <validation.h>
|
#include <validation.h>
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
@ -288,7 +289,7 @@ static void BlockTipChanged(ClientModel* clientmodel, SynchronizationState sync_
|
||||||
const bool throttle = (sync_state != SynchronizationState::POST_INIT && !fHeader) || sync_state == SynchronizationState::INIT_REINDEX;
|
const bool throttle = (sync_state != SynchronizationState::POST_INIT && !fHeader) || sync_state == SynchronizationState::INIT_REINDEX;
|
||||||
const int64_t now = throttle ? GetTimeMillis() : 0;
|
const int64_t now = throttle ? GetTimeMillis() : 0;
|
||||||
int64_t& nLastUpdateNotification = fHeader ? nLastHeaderTipUpdateNotification : nLastBlockTipUpdateNotification;
|
int64_t& nLastUpdateNotification = fHeader ? nLastHeaderTipUpdateNotification : nLastBlockTipUpdateNotification;
|
||||||
if (throttle && now < nLastUpdateNotification + MODEL_UPDATE_DELAY) {
|
if (throttle && now < nLastUpdateNotification + count_milliseconds(MODEL_UPDATE_DELAY)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,10 +5,16 @@
|
||||||
#ifndef BITCOIN_QT_GUICONSTANTS_H
|
#ifndef BITCOIN_QT_GUICONSTANTS_H
|
||||||
#define BITCOIN_QT_GUICONSTANTS_H
|
#define BITCOIN_QT_GUICONSTANTS_H
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
/* Milliseconds between model updates */
|
using namespace std::chrono_literals;
|
||||||
static const int MODEL_UPDATE_DELAY = 250;
|
|
||||||
|
/* A delay between model updates */
|
||||||
|
static constexpr auto MODEL_UPDATE_DELAY{250ms};
|
||||||
|
|
||||||
|
/* A delay between shutdown pollings */
|
||||||
|
static constexpr auto SHUTDOWN_POLLING_DELAY{200ms};
|
||||||
|
|
||||||
/* AskPassphraseDialog -- Maximum passphrase length */
|
/* AskPassphraseDialog -- Maximum passphrase length */
|
||||||
static const int MAX_PASSPHRASE_SIZE = 1024;
|
static const int MAX_PASSPHRASE_SIZE = 1024;
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
#include <netbase.h>
|
#include <netbase.h>
|
||||||
#include <txdb.h> // for -dbcache defaults
|
#include <txdb.h> // for -dbcache defaults
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
#include <QDataWidgetMapper>
|
#include <QDataWidgetMapper>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QIntValidator>
|
#include <QIntValidator>
|
||||||
|
@ -362,7 +364,7 @@ void OptionsDialog::showRestartWarning(bool fPersistent)
|
||||||
ui->statusLabel->setText(tr("This change would require a client restart."));
|
ui->statusLabel->setText(tr("This change would require a client restart."));
|
||||||
// clear non-persistent status label after 10 seconds
|
// clear non-persistent status label after 10 seconds
|
||||||
// Todo: should perhaps be a class attribute, if we extend the use of statusLabel
|
// Todo: should perhaps be a class attribute, if we extend the use of statusLabel
|
||||||
QTimer::singleShot(10000, this, &OptionsDialog::clearStatusLabel);
|
QTimer::singleShot(10s, this, &OptionsDialog::clearStatusLabel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,12 @@
|
||||||
#include <node/ui_interface.h>
|
#include <node/ui_interface.h>
|
||||||
#include <policy/fees.h>
|
#include <policy/fees.h>
|
||||||
#include <txmempool.h>
|
#include <txmempool.h>
|
||||||
|
#include <validation.h>
|
||||||
#include <wallet/coincontrol.h>
|
#include <wallet/coincontrol.h>
|
||||||
#include <wallet/fees.h>
|
#include <wallet/fees.h>
|
||||||
#include <wallet/wallet.h>
|
#include <wallet/wallet.h>
|
||||||
|
|
||||||
#include <validation.h>
|
#include <chrono>
|
||||||
|
|
||||||
#include <QFontMetrics>
|
#include <QFontMetrics>
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
|
@ -1063,7 +1064,7 @@ SendConfirmationDialog::SendConfirmationDialog(const QString& title, const QStri
|
||||||
int SendConfirmationDialog::exec()
|
int SendConfirmationDialog::exec()
|
||||||
{
|
{
|
||||||
updateButtons();
|
updateButtons();
|
||||||
countDownTimer.start(1000);
|
countDownTimer.start(1s);
|
||||||
return QMessageBox::exec();
|
return QMessageBox::exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
#include <wallet/wallet.h>
|
#include <wallet/wallet.h>
|
||||||
#include <walletinitinterface.h>
|
#include <walletinitinterface.h>
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
@ -47,7 +49,7 @@ void EditAddressAndSubmit(
|
||||||
dialog->findChild<QLineEdit*>("labelEdit")->setText(label);
|
dialog->findChild<QLineEdit*>("labelEdit")->setText(label);
|
||||||
dialog->findChild<QValidatedLineEdit*>("addressEdit")->setText(address);
|
dialog->findChild<QValidatedLineEdit*>("addressEdit")->setText(address);
|
||||||
|
|
||||||
ConfirmMessage(&warning_text, 5);
|
ConfirmMessage(&warning_text, 5ms);
|
||||||
dialog->accept();
|
dialog->accept();
|
||||||
QCOMPARE(warning_text, expected_msg);
|
QCOMPARE(warning_text, expected_msg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
// Distributed under the MIT software license, see the accompanying
|
// Distributed under the MIT software license, see the accompanying
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
@ -9,7 +11,7 @@
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
void ConfirmMessage(QString* text, int msec)
|
void ConfirmMessage(QString* text, std::chrono::milliseconds msec)
|
||||||
{
|
{
|
||||||
QTimer::singleShot(msec, [text]() {
|
QTimer::singleShot(msec, [text]() {
|
||||||
for (QWidget* widget : QApplication::topLevelWidgets()) {
|
for (QWidget* widget : QApplication::topLevelWidgets()) {
|
||||||
|
|
|
@ -5,7 +5,11 @@
|
||||||
#ifndef BITCOIN_QT_TEST_UTIL_H
|
#ifndef BITCOIN_QT_TEST_UTIL_H
|
||||||
#define BITCOIN_QT_TEST_UTIL_H
|
#define BITCOIN_QT_TEST_UTIL_H
|
||||||
|
|
||||||
#include <QString>
|
#include <chrono>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
class QString;
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Press "Ok" button in message box dialog.
|
* Press "Ok" button in message box dialog.
|
||||||
|
@ -13,6 +17,6 @@
|
||||||
* @param text - Optionally store dialog text.
|
* @param text - Optionally store dialog text.
|
||||||
* @param msec - Number of milliseconds to pause before triggering the callback.
|
* @param msec - Number of milliseconds to pause before triggering the callback.
|
||||||
*/
|
*/
|
||||||
void ConfirmMessage(QString* text = nullptr, int msec = 0);
|
void ConfirmMessage(QString* text, std::chrono::milliseconds msec);
|
||||||
|
|
||||||
#endif // BITCOIN_QT_TEST_UTIL_H
|
#endif // BITCOIN_QT_TEST_UTIL_H
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <qt/recentrequeststablemodel.h>
|
#include <qt/recentrequeststablemodel.h>
|
||||||
#include <qt/receiverequestdialog.h>
|
#include <qt/receiverequestdialog.h>
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include <QAbstractButton>
|
#include <QAbstractButton>
|
||||||
|
@ -121,7 +122,7 @@ void BumpFee(TransactionView& view, const uint256& txid, bool expectDisabled, st
|
||||||
if (expectError.empty()) {
|
if (expectError.empty()) {
|
||||||
ConfirmSend(&text, cancel);
|
ConfirmSend(&text, cancel);
|
||||||
} else {
|
} else {
|
||||||
ConfirmMessage(&text);
|
ConfirmMessage(&text, 0ms);
|
||||||
}
|
}
|
||||||
action->trigger();
|
action->trigger();
|
||||||
QVERIFY(text.indexOf(QString::fromStdString(expectError)) != -1);
|
QVERIFY(text.indexOf(QString::fromStdString(expectError)) != -1);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include <node/ui_interface.h>
|
#include <node/ui_interface.h>
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
@ -114,8 +115,8 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
|
||||||
amountWidget->setValidator(amountValidator);
|
amountWidget->setValidator(amountValidator);
|
||||||
hlayout->addWidget(amountWidget);
|
hlayout->addWidget(amountWidget);
|
||||||
|
|
||||||
// Delay before filtering transactions in ms
|
// Delay before filtering transactions
|
||||||
static const int input_filter_delay = 200;
|
static constexpr auto input_filter_delay{200ms};
|
||||||
|
|
||||||
QTimer* amount_typing_delay = new QTimer(this);
|
QTimer* amount_typing_delay = new QTimer(this);
|
||||||
amount_typing_delay->setSingleShot(true);
|
amount_typing_delay->setSingleShot(true);
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include <wallet/wallet.h>
|
#include <wallet/wallet.h>
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
@ -259,12 +260,12 @@ void CreateWalletActivity::createWallet()
|
||||||
flags |= WALLET_FLAG_EXTERNAL_SIGNER;
|
flags |= WALLET_FLAG_EXTERNAL_SIGNER;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTimer::singleShot(500, worker(), [this, name, flags] {
|
QTimer::singleShot(500ms, worker(), [this, name, flags] {
|
||||||
std::unique_ptr<interfaces::Wallet> wallet = node().walletLoader().createWallet(name, m_passphrase, flags, m_error_message, m_warning_message);
|
std::unique_ptr<interfaces::Wallet> wallet = node().walletLoader().createWallet(name, m_passphrase, flags, m_error_message, m_warning_message);
|
||||||
|
|
||||||
if (wallet) m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet));
|
if (wallet) m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet));
|
||||||
|
|
||||||
QTimer::singleShot(500, this, &CreateWalletActivity::finish);
|
QTimer::singleShot(500ms, this, &CreateWalletActivity::finish);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue