diff --git a/src/keeshare/ShareObserver.cpp b/src/keeshare/ShareObserver.cpp index 7247db52..8aa2dcb8 100644 --- a/src/keeshare/ShareObserver.cpp +++ b/src/keeshare/ShareObserver.cpp @@ -41,6 +41,10 @@ ShareObserver::ShareObserver(QSharedPointer db, QObject* parent) { connect(KeeShare::instance(), SIGNAL(activeChanged()), SLOT(handleDatabaseChanged())); + connect(m_db.data(), SIGNAL(groupDataChanged(Group*)), SLOT(handleDatabaseChanged())); + connect(m_db.data(), SIGNAL(groupAdded()), SLOT(handleDatabaseChanged())); + connect(m_db.data(), SIGNAL(groupRemoved()), SLOT(handleDatabaseChanged())); + connect(m_db.data(), SIGNAL(databaseModified()), SLOT(handleDatabaseChanged())); connect(m_db.data(), SIGNAL(databaseSaved()), SLOT(handleDatabaseSaved())); @@ -109,10 +113,12 @@ void ShareObserver::reinitialize() } if (update.newReference.isExporting()) { exported[update.newReference.path] << update.group->name(); + // export is only on save } if (update.newReference.isImporting()) { imported[update.newReference.path] << update.group->name(); + // import has to occur immediately const auto result = this->importShare(update.newReference.path); if (!result.isValid()) { // tolerable result - blocked import or missing source