Inactivity lock: hide all interface elements

This commit is contained in:
tobtoht 2022-07-03 19:41:08 +02:00
parent e2d456c13e
commit fc9caef79a
No known key found for this signature in database
GPG key ID: 1CADD27F41F45C3C
2 changed files with 10 additions and 4 deletions

View file

@ -1611,10 +1611,10 @@ void MainWindow::updateRecentlyOpenedMenu() {
ui->menuRecently_open->addAction(m_clearRecentlyOpenAction);
}
bool MainWindow::verifyPassword() {
bool MainWindow::verifyPassword(bool sensitive) {
bool incorrectPassword = false;
while (true) {
PasswordDialog passwordDialog{this->walletName(), incorrectPassword, true, this};
PasswordDialog passwordDialog{this->walletName(), incorrectPassword, sensitive, this};
int ret = passwordDialog.exec();
if (ret == QDialog::Rejected) {
return false;
@ -1652,7 +1652,10 @@ void MainWindow::checkUserActivity() {
if ((m_userLastActive + (config()->get(Config::inactivityLockTimeout).toInt()*60)) < QDateTime::currentSecsSinceEpoch()) {
m_checkUserActivity.stop();
qInfo() << "Locking wallet for inactivity";
if (!this->verifyPassword()) {
ui->tabWidget->hide();
this->statusBar()->hide();
this->menuBar()->hide();
if (!this->verifyPassword(false)) {
this->setEnabled(false);
this->close();
// This doesn't close the wallet immediately.
@ -1667,6 +1670,9 @@ void MainWindow::checkUserActivity() {
} while (QApplication::hasPendingEvents());
#endif
} else {
ui->tabWidget->show();
this->statusBar()->show();
this->menuBar()->show();
m_checkUserActivity.start();
}
}

View file

@ -215,7 +215,7 @@ private:
void addToRecentlyOpened(const QString &filename);
void updateRecentlyOpenedMenu();
void updateWidgetIcons();
bool verifyPassword();
bool verifyPassword(bool senstive = true);
void patchStylesheetMac();
void fillSendTab(const QString &address, const QString &description);
void userActivity();