diff --git a/src/gui/DatabaseTabWidget.cpp b/src/gui/DatabaseTabWidget.cpp index 6626b3428..984cde607 100644 --- a/src/gui/DatabaseTabWidget.cpp +++ b/src/gui/DatabaseTabWidget.cpp @@ -526,6 +526,15 @@ bool DatabaseTabWidget::readOnly(int index) return indexDatabaseManagerStruct(index).readOnly; } +bool DatabaseTabWidget::isModified(int index) +{ + if (index == -1) { + index = currentIndex(); + } + + return indexDatabaseManagerStruct(index).modified; +} + void DatabaseTabWidget::updateTabName(Database* db) { int index = databaseIndex(db); diff --git a/src/gui/DatabaseTabWidget.h b/src/gui/DatabaseTabWidget.h index 6fa783dd0..f99a4ff16 100644 --- a/src/gui/DatabaseTabWidget.h +++ b/src/gui/DatabaseTabWidget.h @@ -77,6 +77,7 @@ public slots: void changeMasterKey(); void changeDatabaseSettings(); bool readOnly(int index = -1); + bool isModified(int index = -1); void performGlobalAutoType(); void lockDatabases(); diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 8ed6bcbfa..92c167e4f 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -519,11 +519,12 @@ void MainWindow::updateWindowTitle() windowTitle = BaseWindowTitle; } else { windowTitle = QString("%1 - %2").arg(customWindowTitlePart, BaseWindowTitle); - if (customWindowTitlePart.right(1) == "*") { - setWindowModified(true); - } else { - setWindowModified(false); - } + } + + if (m_ui->tabWidget->isModified(tabWidgetIndex)) { + setWindowModified(true); + } else { + setWindowModified(false); } setWindowTitle(windowTitle);