summaryrefslogtreecommitdiff
path: root/LocalPluginOptions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'LocalPluginOptions.cpp')
-rw-r--r--LocalPluginOptions.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/LocalPluginOptions.cpp b/LocalPluginOptions.cpp
new file mode 100644
index 0000000..f981e0b
--- /dev/null
+++ b/LocalPluginOptions.cpp
@@ -0,0 +1,59 @@
+/** \file LocalPluginOptions.cpp
+\brief To bind the options of the plugin, into unique group options
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include "LocalPluginOptions.h"
+
+LocalPluginOptions::LocalPluginOptions(const std::string &group)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start(\""+group+"\",[...])");
+ groupOptionAdded=false;
+ this->group=group;
+ connect(OptionEngine::optionEngine,&OptionEngine::resetOptions,this,&OptionInterface::resetOptions);
+}
+
+LocalPluginOptions::~LocalPluginOptions()
+{
+ if(groupOptionAdded)
+ {
+ if(OptionEngine::optionEngine!=NULL)
+ OptionEngine::optionEngine->removeOptionGroup(group);
+ }
+}
+
+/// \brief To add option group to options
+bool LocalPluginOptions::addOptionGroup(const std::vector<std::pair<std::string, std::string> > &KeysList)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start(\""+group+"\",[...])");
+ if(groupOptionAdded)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"Group already added!");
+ return false;
+ }
+ else
+ {
+ groupOptionAdded=true;
+ return OptionEngine::optionEngine->addOptionGroup(group,KeysList);
+ }
+}
+
+/// \brief To get option value
+std::string LocalPluginOptions::getOptionValue(const std::string &variableName) const
+{
+ return OptionEngine::optionEngine->getOptionValue(group,variableName);
+}
+
+/// \brief To set option value
+void LocalPluginOptions::setOptionValue(const std::string &variableName,const std::string &value)
+{
+ OptionEngine::optionEngine->setOptionValue(group,variableName,value);
+}
+
+/*-> disabled because the value will not externaly changed, then useless notification
+void LocalPluginOptions::newOptionValue(QString group,QString variable,QVariant value)
+{
+ if(group==this->group)
+ emit newOptionValue(variable,value);
+}*/
+