mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-03-13 09:36:42 -04:00
Show database public icon on tab when visible (#11725)
* Show database public icon on tab when visible * Remove unnecessary assert
This commit is contained in:
parent
3083626bda
commit
3b2f54daff
@ -1551,6 +1551,10 @@ Backup database located at %2</source>
|
|||||||
<source>Database file read error.</source>
|
<source>Database file read error.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>No file path was provided.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DatabaseOpenDialog</name>
|
<name>DatabaseOpenDialog</name>
|
||||||
|
@ -107,10 +107,6 @@ QUuid Database::uuid() const
|
|||||||
*/
|
*/
|
||||||
bool Database::open(QSharedPointer<const CompositeKey> key, QString* error)
|
bool Database::open(QSharedPointer<const CompositeKey> key, QString* error)
|
||||||
{
|
{
|
||||||
Q_ASSERT(!m_data.filePath.isEmpty());
|
|
||||||
if (m_data.filePath.isEmpty()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return open(m_data.filePath, std::move(key), error);
|
return open(m_data.filePath, std::move(key), error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,6 +122,13 @@ bool Database::open(QSharedPointer<const CompositeKey> key, QString* error)
|
|||||||
*/
|
*/
|
||||||
bool Database::open(const QString& filePath, QSharedPointer<const CompositeKey> key, QString* error)
|
bool Database::open(const QString& filePath, QSharedPointer<const CompositeKey> key, QString* error)
|
||||||
{
|
{
|
||||||
|
if (filePath.isEmpty()) {
|
||||||
|
if (error) {
|
||||||
|
*error = tr("No file path was provided.");
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
QFile dbFile(filePath);
|
QFile dbFile(filePath);
|
||||||
if (!dbFile.exists()) {
|
if (!dbFile.exists()) {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include "core/Tools.h"
|
#include "core/Tools.h"
|
||||||
#include "format/CsvExporter.h"
|
#include "format/CsvExporter.h"
|
||||||
#include "gui/Clipboard.h"
|
#include "gui/Clipboard.h"
|
||||||
|
#include "gui/DatabaseIcons.h"
|
||||||
#include "gui/DatabaseOpenDialog.h"
|
#include "gui/DatabaseOpenDialog.h"
|
||||||
#include "gui/DatabaseWidget.h"
|
#include "gui/DatabaseWidget.h"
|
||||||
#include "gui/DatabaseWidgetStateSync.h"
|
#include "gui/DatabaseWidgetStateSync.h"
|
||||||
@ -656,6 +657,12 @@ void DatabaseTabWidget::updateTabName(int index)
|
|||||||
index = indexOf(dbWidget);
|
index = indexOf(dbWidget);
|
||||||
setTabText(index, tabName(index));
|
setTabText(index, tabName(index));
|
||||||
setTabToolTip(index, dbWidget->displayFilePath());
|
setTabToolTip(index, dbWidget->displayFilePath());
|
||||||
|
auto iconIndex = dbWidget->database()->publicIcon();
|
||||||
|
if (iconIndex >= 0 && iconIndex < databaseIcons()->count()) {
|
||||||
|
setTabIcon(index, databaseIcons()->icon(iconIndex));
|
||||||
|
} else {
|
||||||
|
setTabIcon(index, {});
|
||||||
|
}
|
||||||
emit tabNameChanged();
|
emit tabNameChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,6 +92,11 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
|
|||||||
{
|
{
|
||||||
Q_ASSERT(m_db);
|
Q_ASSERT(m_db);
|
||||||
|
|
||||||
|
// Read public headers if the database hasn't been opened yet
|
||||||
|
if (!m_db->isInitialized()) {
|
||||||
|
m_db->open(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
m_messageWidget->setHidden(true);
|
m_messageWidget->setHidden(true);
|
||||||
|
|
||||||
auto mainLayout = new QVBoxLayout();
|
auto mainLayout = new QVBoxLayout();
|
||||||
@ -1929,6 +1934,7 @@ bool DatabaseWidget::lock()
|
|||||||
switchToOpenDatabase(m_db->filePath());
|
switchToOpenDatabase(m_db->filePath());
|
||||||
|
|
||||||
auto newDb = QSharedPointer<Database>::create(m_db->filePath());
|
auto newDb = QSharedPointer<Database>::create(m_db->filePath());
|
||||||
|
newDb->open(nullptr);
|
||||||
replaceDatabase(newDb);
|
replaceDatabase(newDb);
|
||||||
|
|
||||||
m_attemptingLock = false;
|
m_attemptingLock = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user