summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-12-02 21:05:54 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2020-12-02 21:05:54 +0100
commit89190af4b210f6cddf1b0ab90ab0ac08f94c2257 (patch)
tree893c225d0dc5dccde68f3e9df88bdc69e77caba9
parentfacb4e7fe4bcc30539ea3fc79a23ab217735a5ab (diff)
Add signals (not used yet) for registering/unregistering plugins.
-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: