mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-03-06 13:15:57 -05:00
Fix double warning display for database open
This commit is contained in:
parent
86cd2c09a4
commit
0fe06b3fbb
@ -162,7 +162,10 @@ void DatabaseOpenWidget::enterKey(const QString& pw, const QString& keyFile)
|
||||
void DatabaseOpenWidget::openDatabase()
|
||||
{
|
||||
KeePass2Reader reader;
|
||||
CompositeKey masterKey = databaseKey();
|
||||
CompositeKey* masterKey = databaseKey();
|
||||
if (masterKey == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
QFile file(m_filename);
|
||||
if (!file.open(QIODevice::ReadOnly)) {
|
||||
@ -174,7 +177,7 @@ void DatabaseOpenWidget::openDatabase()
|
||||
delete m_db;
|
||||
}
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
m_db = reader.readDatabase(&file, masterKey);
|
||||
m_db = reader.readDatabase(&file, *masterKey);
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
if (m_db) {
|
||||
@ -182,20 +185,21 @@ void DatabaseOpenWidget::openDatabase()
|
||||
m_ui->messageWidget->animatedHide();
|
||||
}
|
||||
emit editFinished(true);
|
||||
}
|
||||
else {
|
||||
m_ui->messageWidget->showMessage(tr("Unable to open the database.")
|
||||
.append("\n").append(reader.errorString()), MessageWidget::Error);
|
||||
} else {
|
||||
m_ui->messageWidget->showMessage(tr("Unable to open the database.").append("\n").append(reader.errorString()),
|
||||
MessageWidget::Error);
|
||||
m_ui->editPassword->clear();
|
||||
}
|
||||
|
||||
delete masterKey;
|
||||
}
|
||||
|
||||
CompositeKey DatabaseOpenWidget::databaseKey()
|
||||
CompositeKey* DatabaseOpenWidget::databaseKey()
|
||||
{
|
||||
CompositeKey masterKey;
|
||||
CompositeKey* masterKey = new CompositeKey();
|
||||
|
||||
if (m_ui->checkPassword->isChecked()) {
|
||||
masterKey.addKey(PasswordKey(m_ui->editPassword->text()));
|
||||
masterKey->addKey(PasswordKey(m_ui->editPassword->text()));
|
||||
}
|
||||
|
||||
QHash<QString, QVariant> lastKeyFiles = config()->get("LastKeyFiles").toHash();
|
||||
@ -206,11 +210,12 @@ CompositeKey DatabaseOpenWidget::databaseKey()
|
||||
QString keyFilename = m_ui->comboKeyFile->currentText();
|
||||
QString errorMsg;
|
||||
if (!key.load(keyFilename, &errorMsg)) {
|
||||
m_ui->messageWidget->showMessage(tr("Can't open key file").append(":\n")
|
||||
.append(errorMsg), MessageWidget::Error);
|
||||
return CompositeKey();
|
||||
m_ui->messageWidget->showMessage(tr("Can't open key file").append(":\n").append(errorMsg),
|
||||
MessageWidget::Error);
|
||||
delete masterKey;
|
||||
return nullptr;
|
||||
}
|
||||
masterKey.addKey(key);
|
||||
masterKey->addKey(key);
|
||||
lastKeyFiles[m_filename] = keyFilename;
|
||||
} else {
|
||||
lastKeyFiles.remove(m_filename);
|
||||
@ -237,9 +242,9 @@ CompositeKey DatabaseOpenWidget::databaseKey()
|
||||
|
||||
// read blocking mode from LSB and slot index number from second LSB
|
||||
bool blocking = comboPayload & 1;
|
||||
int slot = comboPayload >> 1;
|
||||
auto key = QSharedPointer<YkChallengeResponseKey>(new YkChallengeResponseKey(slot, blocking));
|
||||
masterKey.addChallengeResponseKey(key);
|
||||
int slot = comboPayload >> 1;
|
||||
auto key = QSharedPointer<YkChallengeResponseKey>(new YkChallengeResponseKey(slot, blocking));
|
||||
masterKey->addChallengeResponseKey(key);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -52,7 +52,7 @@ signals:
|
||||
protected:
|
||||
void showEvent(QShowEvent* event) override;
|
||||
void hideEvent(QHideEvent* event) override;
|
||||
CompositeKey databaseKey();
|
||||
CompositeKey* databaseKey();
|
||||
|
||||
protected slots:
|
||||
virtual void openDatabase();
|
||||
|
Loading…
x
Reference in New Issue
Block a user