Unlock previously opened databases with --pw-stdin

This commit is contained in:
Jonathan White 2017-10-18 22:08:30 -04:00 committed by Janek Bevendorff
parent d3208bddb0
commit 37aa4f0257

View File

@ -129,7 +129,12 @@ void DatabaseTabWidget::openDatabase(const QString& fileName, const QString& pw,
while (i.hasNext()) { while (i.hasNext()) {
i.next(); i.next();
if (i.value().canonicalFilePath == canonicalFilePath) { if (i.value().canonicalFilePath == canonicalFilePath) {
setCurrentIndex(databaseIndex(i.key())); if (!i.value().dbWidget->dbHasKey() && !(pw.isNull() && keyFile.isEmpty())) {
// If the database is locked and a pw or keyfile is provided, unlock it
i.value().dbWidget->switchToOpenDatabase(i.value().filePath, pw, keyFile);
} else {
setCurrentIndex(databaseIndex(i.key()));
}
return; return;
} }
} }
@ -204,7 +209,7 @@ void DatabaseTabWidget::openDatabase(const QString& fileName, const QString& pw,
updateLastDatabases(dbStruct.filePath); updateLastDatabases(dbStruct.filePath);
if (!pw.isNull() || !keyFile.isEmpty()) { if (!(pw.isNull() && keyFile.isEmpty())) {
dbStruct.dbWidget->switchToOpenDatabase(dbStruct.filePath, pw, keyFile); dbStruct.dbWidget->switchToOpenDatabase(dbStruct.filePath, pw, keyFile);
} }
else { else {