mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-07-23 15:00:47 -04:00
Correctly set KDBX envelope version
Shows a warning when trying to open with a newer minor version than what is currently supported. We always try to save with the lowest KDBX version possible for maximum compatibility.
This commit is contained in:
parent
67603ab42e
commit
a3dc977e58
30 changed files with 209 additions and 162 deletions
|
@ -206,6 +206,26 @@ void DatabaseOpenWidget::openDatabase()
|
|||
QApplication::restoreOverrideCursor();
|
||||
m_ui->passwordFormFrame->setEnabled(true);
|
||||
|
||||
if (ok && m_db->hasMinorVersionMismatch()) {
|
||||
QScopedPointer<QMessageBox> msgBox(new QMessageBox(this));
|
||||
msgBox->setIcon(QMessageBox::Warning);
|
||||
msgBox->setWindowTitle(tr("Database Version Mismatch"));
|
||||
msgBox->setText(tr("The database you are trying to open was most likely\n"
|
||||
"created by a newer version of KeePassXC.\n\n"
|
||||
"You can try to open it anyway, but it may be incomplete\n"
|
||||
"and saving any changes may incur data loss.\n\n"
|
||||
"We recommend you update your KeePassXC installation."));
|
||||
auto btn = msgBox->addButton(tr("Open database anyway"), QMessageBox::ButtonRole::AcceptRole);
|
||||
msgBox->setDefaultButton(btn);
|
||||
msgBox->addButton(QMessageBox::Cancel);
|
||||
msgBox->exec();
|
||||
if (msgBox->clickedButton() != btn) {
|
||||
m_db.reset(new Database());
|
||||
m_ui->messageWidget->showMessage(tr("Database unlock canceled."), MessageWidget::MessageType::Error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (ok) {
|
||||
#ifdef WITH_XC_TOUCHID
|
||||
QHash<QString, QVariant> useTouchID = config()->get(Config::UseTouchID).toHash();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue