Move plugin initialization into PluginManager and log plugin loading
This commit is contained in:
parent
00a47f600c
commit
a08fb8b532
3 changed files with 17 additions and 8 deletions
|
|
@ -1,7 +1,12 @@
|
||||||
|
#include "LogManager.h"
|
||||||
#include "PluginManager.h"
|
#include "PluginManager.h"
|
||||||
|
|
||||||
void PluginManager::ScanAndLoadPlugins()
|
void PluginManager::ScanAndLoadPlugins(bool dark_theme)
|
||||||
{
|
{
|
||||||
|
int plugin_section = LogSection("Plugins", LL_DEBUG);
|
||||||
|
|
||||||
|
LogAppend(plugin_section, LL_DEBUG, "Loading plugins");
|
||||||
|
|
||||||
std::string OpenRGBConfigDir = ResourceManager::get()->GetConfigurationDirectory();
|
std::string OpenRGBConfigDir = ResourceManager::get()->GetConfigurationDirectory();
|
||||||
|
|
||||||
std::string PluginPath = OpenRGBConfigDir + "/Plugins";
|
std::string PluginPath = OpenRGBConfigDir + "/Plugins";
|
||||||
|
|
@ -28,12 +33,21 @@ void PluginManager::ScanAndLoadPlugins()
|
||||||
{
|
{
|
||||||
const std::string filePath = pluginsDir.absoluteFilePath(QString().fromStdString(fileName)).toStdString();
|
const std::string filePath = pluginsDir.absoluteFilePath(QString().fromStdString(fileName)).toStdString();
|
||||||
|
|
||||||
|
LogAppend(plugin_section, LL_DEBUG, "Attempting to load: %s", filePath.c_str());
|
||||||
|
|
||||||
QPluginLoader loader(pluginsDir.absoluteFilePath(QString().fromStdString(fileName)));
|
QPluginLoader loader(pluginsDir.absoluteFilePath(QString().fromStdString(fileName)));
|
||||||
|
|
||||||
if (QObject *instance = loader.instance())
|
if (QObject *instance = loader.instance())
|
||||||
{
|
{
|
||||||
if ((OpenRGBPlugin = qobject_cast<OpenRGBPluginInterface*>(instance)))
|
if ((OpenRGBPlugin = qobject_cast<OpenRGBPluginInterface*>(instance)))
|
||||||
{
|
{
|
||||||
|
/*-----------------------------------------------------*\
|
||||||
|
| Initialize the plugin |
|
||||||
|
\*-----------------------------------------------------*/
|
||||||
|
OpenRGBPlugin->info = OpenRGBPlugin->Initialize(dark_theme, ResourceManager::get());
|
||||||
|
|
||||||
|
LogAppend(plugin_section, LL_DEBUG, "Loaded plugin %s", OpenRGBPlugin->info.PluginName.c_str());
|
||||||
|
|
||||||
PluginManager::ActivePlugins.push_back(OpenRGBPlugin);
|
PluginManager::ActivePlugins.push_back(OpenRGBPlugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,5 +16,5 @@ class PluginManager
|
||||||
public:
|
public:
|
||||||
std::vector<OpenRGBPluginInterface*> ActivePlugins;
|
std::vector<OpenRGBPluginInterface*> ActivePlugins;
|
||||||
|
|
||||||
void ScanAndLoadPlugins();
|
void ScanAndLoadPlugins(bool dark_theme);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -332,7 +332,7 @@ OpenRGBDialog2::OpenRGBDialog2(QWidget *parent) : QMainWindow(parent), ui(new Op
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
plugin_manager = new PluginManager;
|
plugin_manager = new PluginManager;
|
||||||
|
|
||||||
plugin_manager->ScanAndLoadPlugins();
|
plugin_manager->ScanAndLoadPlugins(IsDarkTheme());
|
||||||
|
|
||||||
if(plugin_manager->ActivePlugins.size() > 0)
|
if(plugin_manager->ActivePlugins.size() > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -440,11 +440,6 @@ void OpenRGBDialog2::AddSupportedDevicesPage()
|
||||||
|
|
||||||
void OpenRGBDialog2::AddPluginTab(PluginManager* plugin_manager, int plugin_index)
|
void OpenRGBDialog2::AddPluginTab(PluginManager* plugin_manager, int plugin_index)
|
||||||
{
|
{
|
||||||
/*-----------------------------------------------------*\
|
|
||||||
| Initialize the plugin |
|
|
||||||
\*-----------------------------------------------------*/
|
|
||||||
plugin_manager->ActivePlugins[plugin_index]->info = plugin_manager->ActivePlugins[plugin_index]->Initialize(OpenRGBDialog2::IsDarkTheme(), ResourceManager::get());
|
|
||||||
|
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Create Label for the Tab |
|
| Create Label for the Tab |
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue