-Subproject commit 665c304735b68b2a6e55ed8a5efadbeb60056248
+Subproject commit f10ad631fe7a35fc0c00e9706ae57b8d8eb8f30d
dialog.exec();
}
-void MainWindow::onDeviceError(const QString &error) {
+void MainWindow::onDeviceError(const QString &error, quint64 errorCode) {
qCritical() << "Device error: " << error;
if (m_showDeviceError) {
m_statusBtnHwDevice->setIcon(this->hardwareDeviceUnpairedIcon());
while (true) {
m_showDeviceError = true;
- auto result = QMessageBox::question(this, "Hardware device", "Lost connection to hardware device. Attempt to reconnect?");
+
+ QString prompt = "Lost connection to hardware device. Attempt to reconnect?";
+ if (errorCode == 0x5515) {
+ prompt = QString("Device must be unlocked to continue scanning. Attempt to continue?");
+ }
+
+ auto result = QMessageBox::question(this, "Hardware device", prompt);
if (result == QMessageBox::Yes) {
bool r = m_wallet->reconnectDevice();
if (r) {
void onResendTransaction(const QString &txid);
void importContacts();
void importTransaction();
- void onDeviceError(const QString &error);
+ void onDeviceError(const QString &error, quint64 errorCode);
void onDeviceButtonRequest(quint64 code);
void onDeviceButtonPressed();
void onWalletPassphraseNeeded(bool on_device);
m_splashDialog->hide();
}
-void WindowManager::onDeviceError(const QString &errorMessage) {
+void WindowManager::onDeviceError(const QString &errorMessage, quint64 errorCode) {
// TODO: when does this get called?
qCritical() << Q_FUNC_INFO << errorMessage;
}
void onInitialNetworkConfigured();
void onDeviceButtonRequest(quint64 code);
void onDeviceButtonPressed();
- void onDeviceError(const QString &errorMessage);
+ void onDeviceError(const QString &errorMessage, quint64 errorCode);
void onWalletPassphraseNeeded(bool on_device);
void onChangeTheme(const QString &themeName);
void walletCreationHeightChanged();
void deviceButtonRequest(quint64 buttonCode);
void deviceButtonPressed();
- void deviceError(const QString &message);
+ void deviceError(const QString &message, quint64 errorCode);
void walletPassphraseNeeded(bool onDevice);
void beginCommitTransaction();
void transactionCommitted(bool status, PendingTransaction *t, const QStringList& txid, const QMap<QString, QString> &txHexMap);
emit m_wallet->deviceButtonPressed();
}
-void WalletListenerImpl::onDeviceError(const std::string &message)
+void WalletListenerImpl::onDeviceError(const std::string &message, unsigned int error_code)
{
qDebug() << __FUNCTION__;
- emit m_wallet->deviceError(QString::fromStdString(message));
+ emit m_wallet->deviceError(QString::fromStdString(message), error_code);
}
void WalletListenerImpl::onPassphraseEntered(const QString &passphrase, bool enter_on_device, bool entry_abort)
virtual void onDeviceButtonPressed() override;
- virtual void onDeviceError(const std::string &message) override;
+ virtual void onDeviceError(const std::string &message, unsigned int error_code) override;
virtual void onPassphraseEntered(const QString &passphrase, bool enter_on_device, bool entry_abort) override;
emit m_mgr->deviceButtonPressed();
}
- void onDeviceError(const std::string &message) override
+ void onDeviceError(const std::string &message, unsigned int error_code) override
{
qDebug() << __FUNCTION__;
- emit m_mgr->deviceError(QString::fromStdString(message));
+ emit m_mgr->deviceError(QString::fromStdString(message), error_code);
}
private:
void walletPassphraseNeeded(bool onDevice);
void deviceButtonRequest(quint64 buttonCode);
void deviceButtonPressed();
- void deviceError(const QString &message);
+ void deviceError(const QString &message, quint64 errorCode);
void openAliasResolved(const QString &alias, const QString &address, bool dnssecValid);
private: