summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp
index 281510f..a4e736f 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dbtree/dbtreemodel.cpp
@@ -222,15 +222,16 @@ void DbTreeModel::restoreGroup(const Config::DbGroupPtr& group, QList<Db*>* dbLi
}
else
{
- // If db is managed by manager, it means it was successfully loaded.
- // Otherwise there was a problem with the file, or with plugin for that database
- // and we still want to have dbtree item for that database, we will just hide it.
- // Later, when plugin is loaded, item might become visible.
+ db = DBLIST->getByName(group->referencedDbName);
+
+ // Databases referenced in groups must exist on database list. If not, we ignore them.
+ // Even invalid (no plugin, no file) databases have entry in dblist.
+ if (!db)
+ return;
+
item = DbTreeItemFactory::createDb(group->referencedDbName, this);
item->setDb(group->referencedDbName);
-
- db = DBLIST->getByName(group->referencedDbName);
- if (db && dbList)
+ if (dbList)
dbList->removeOne(db);
}
@@ -297,6 +298,7 @@ void DbTreeModel::dbUpdated(const QString& oldName, Db* db)
item->setText(db->getName());
item->setDb(db->getName());
+ item->updateDbIcon();
}
void DbTreeModel::dbRemoved(Db* db)