Backport code to read database public headers

This is required to show the public icon, color, and name of a locked database
This commit is contained in:
Jonathan White 2025-02-02 10:14:52 -05:00
parent f48dcb3dba
commit 14ee702b09
No known key found for this signature in database
GPG key ID: 440FC65F2E0C6E01
2 changed files with 18 additions and 1 deletions

View file

@ -242,6 +242,12 @@ void DatabaseOpenWidget::load(const QString& filename)
clearForms();
m_filename = filename;
// Read public headers
QString error;
m_db.reset(new Database());
m_db->open(m_filename, nullptr, &error);
m_ui->fileNameLabel->setRawText(m_filename);
// Set the public name if defined
@ -296,7 +302,9 @@ void DatabaseOpenWidget::clearForms()
toggleHardwareKeyComponent(false);
toggleQuickUnlockScreen();
m_db.reset(new Database(m_filename));
QString error;
m_db.reset(new Database());
m_db->open(m_filename, nullptr, &error);
}
QSharedPointer<Database> DatabaseOpenWidget::database()
@ -361,6 +369,8 @@ void DatabaseOpenWidget::openDatabase()
msgBox->exec();
if (msgBox->clickedButton() != btn) {
m_db.reset(new Database());
m_db->open(m_filename, nullptr, &error);
m_ui->messageWidget->showMessage(tr("Database unlock canceled."), MessageWidget::MessageType::Error);
setUserInteractionLock(false);
return;