summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainwindow.cpp11
-rw-r--r--src/plugincontainer.h8
2 files changed, 17 insertions, 2 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index d0ed5029..d9cfcc82 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -474,7 +474,16 @@ MainWindow::MainWindow(Settings &settings
if (m_PluginContainer.implementInterface<IPluginModPage>(plugin)) { updateModPageMenu(); } });
connect(&m_PluginContainer, &PluginContainer::pluginDisabled, this, [this](IPlugin* plugin) {
if (m_PluginContainer.implementInterface<IPluginModPage>(plugin)) { updateModPageMenu(); } });
-
+ connect(&m_PluginContainer, &PluginContainer::pluginRegistered, this, [this](IPlugin* plugin) {
+ updateModPageMenu();
+ scheduleCheckForProblems();
+ updateDownloadView();
+ });
+ connect(&m_PluginContainer, &PluginContainer::pluginUnregistered, this, [this](IPlugin* plugin) {
+ updateModPageMenu();
+ scheduleCheckForProblems();
+ updateDownloadView();
+ });
connect(&m_OrganizerCore, &OrganizerCore::modInstalled, this, &MainWindow::modInstalled);
connect(&m_OrganizerCore, &OrganizerCore::close, this, &QMainWindow::close);
diff --git a/src/plugincontainer.h b/src/plugincontainer.h
index 26e12659..ef5f9441 100644
--- a/src/plugincontainer.h
+++ b/src/plugincontainer.h
@@ -335,11 +335,17 @@ public: // IPluginDiagnose interface
signals:
/**
- * @brief Emitted plugins are enabled or disabled.
+ * @brief Emitted when plugins are enabled or disabled.
*/
void pluginEnabled(MOBase::IPlugin*);
void pluginDisabled(MOBase::IPlugin*);
+ /**
+ * @brief Emitted when plugins are registered or unregistered.
+ */
+ void pluginRegistered(MOBase::IPlugin*);
+ void pluginUnregistered(MOBase::IPlugin*);
+
void diagnosisUpdate();
private: