summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-11-23 15:30:21 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2020-11-23 15:30:21 +0100
commitf3f0036a056b17ed481cf3ec4dea78a59c04b16e (patch)
tree3ca67d3be8bc2e3399c7e842fba74ba7306aa021 /src
parent0a912afe72a8fb765f240d59db17f7b50094b014 (diff)
Fix PluginContainer::setUserInterface().
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp4
-rw-r--r--src/modinfowithconflictinfo.cpp4
-rw-r--r--src/modinfowithconflictinfo.h4
-rw-r--r--src/plugincontainer.cpp18
-rw-r--r--src/plugincontainer.h2
5 files changed, 18 insertions, 14 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 04833e6a..7558076d 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -511,6 +511,7 @@ MainWindow::MainWindow(Settings &settings
m_Tutorial.expose("espList", m_OrganizerCore.pluginList());
m_OrganizerCore.setUserInterface(this);
+ m_PluginContainer.setUserInterface(this);
connect(this, &MainWindow::userInterfaceInitialized, &m_OrganizerCore, &OrganizerCore::userInterfaceInitialized);
for (const QString &fileName : m_PluginContainer.pluginFileNames()) {
installTranslator(QFileInfo(fileName).baseName());
@@ -703,7 +704,7 @@ MainWindow::~MainWindow()
try {
cleanup();
- m_PluginContainer.setUserInterface(nullptr, nullptr);
+ m_PluginContainer.setUserInterface(nullptr);
m_OrganizerCore.setUserInterface(nullptr);
if (m_IntegratedBrowser) {
@@ -1679,7 +1680,6 @@ void MainWindow::updateToolMenu()
void MainWindow::registerModPage(IPluginModPage *modPage)
{
QAction *action = new QAction(modPage->icon(), modPage->displayName(), this);
- modPage->setParentWidget(this);
connect(action, &QAction::triggered, this, [this, modPage]() {
if (modPage->useIntegratedBrowser()) {
diff --git a/src/modinfowithconflictinfo.cpp b/src/modinfowithconflictinfo.cpp
index 6e3f751e..ad7eda3f 100644
--- a/src/modinfowithconflictinfo.cpp
+++ b/src/modinfowithconflictinfo.cpp
@@ -15,7 +15,7 @@ namespace fs = std::filesystem;
ModInfoWithConflictInfo::ModInfoWithConflictInfo(
PluginContainer *pluginContainer, const MOBase::IPluginGame* gamePlugin, DirectoryEntry **directoryStructure)
- : ModInfo(pluginContainer), m_GamePlugin(gamePlugin),
+ : ModInfo(pluginContainer), m_GamePlugin(gamePlugin),
m_FileTree([this]() { return QDirFileTree::makeTree(absolutePath()); }),
m_Valid([this]() { return doIsValid(); }),
m_Contents([this]() { return doGetContents(); }),
@@ -27,7 +27,7 @@ void ModInfoWithConflictInfo::clearCaches()
}
std::vector<ModInfo::EFlag> ModInfoWithConflictInfo::getFlags() const
-{
+{
std::vector<ModInfo::EFlag> result = std::vector<ModInfo::EFlag>();
if (hasHiddenFiles()) {
result.push_back(ModInfo::FLAG_HIDDEN_FILES);
diff --git a/src/modinfowithconflictinfo.h b/src/modinfowithconflictinfo.h
index e312a89a..0d11fcb1 100644
--- a/src/modinfowithconflictinfo.h
+++ b/src/modinfowithconflictinfo.h
@@ -34,7 +34,9 @@ public:
*
* @return true if the content is there, false otherwise.
*/
- virtual bool hasContent(int content) const override; /**
+ virtual bool hasContent(int content) const override;
+
+ /**
* @brief Retrieve a file tree corresponding to the underlying disk content
* of this mod.
*
diff --git a/src/plugincontainer.cpp b/src/plugincontainer.cpp
index fc7f5cd0..44c9a651 100644
--- a/src/plugincontainer.cpp
+++ b/src/plugincontainer.cpp
@@ -289,15 +289,17 @@ PluginContainer::~PluginContainer() {
unloadPlugins();
}
-void PluginContainer::setUserInterface(IUserInterface *userInterface, QWidget *widget)
+void PluginContainer::setUserInterface(IUserInterface *userInterface)
{
- for (IPluginProxy *proxy : bf::at_key<IPluginProxy>(m_Plugins)) {
- proxy->setParentWidget(widget);
- }
-
- if (userInterface != nullptr) {
- for (IPluginModPage *modPage : bf::at_key<IPluginModPage>(m_Plugins)) {
- userInterface->registerModPage(modPage);
+ if (userInterface) {
+ for (IPluginProxy* proxy : bf::at_key<IPluginProxy>(m_Plugins)) {
+ proxy->setParentWidget(userInterface->mainWindow());
+ }
+ for (IPluginModPage* modPage : bf::at_key<IPluginModPage>(m_Plugins)) {
+ modPage->setParentWidget(userInterface->mainWindow());
+ }
+ for (IPluginTool* tool : bf::at_key<IPluginTool>(m_Plugins)) {
+ tool->setParentWidget(userInterface->mainWindow());
}
}
diff --git a/src/plugincontainer.h b/src/plugincontainer.h
index 0c1290b4..26e12659 100644
--- a/src/plugincontainer.h
+++ b/src/plugincontainer.h
@@ -188,7 +188,7 @@ public:
PluginContainer(OrganizerCore *organizer);
virtual ~PluginContainer();
- void setUserInterface(IUserInterface *userInterface, QWidget *widget);
+ void setUserInterface(IUserInterface *userInterface);
void loadPlugins();
void unloadPlugins();