summaryrefslogtreecommitdiff
path: root/LocalPluginOptions.cpp
blob: 5e25bf0bb535bc2f8139d09b9aedd514a66a9837 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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 QString &group)
{
    ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start(\"")+group+QStringLiteral("\",[...])"));
    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 QList<QPair<QString, QVariant> > &KeysList)
{
    ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start(\"")+group+QStringLiteral("\",[...])"));
    if(groupOptionAdded)
    {
        ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,QStringLiteral("Group already added!"));
        return false;
    }
    else
    {
        groupOptionAdded=true;
        return OptionEngine::optionEngine->addOptionGroup(group,KeysList);
    }
}

/// \brief To get option value
QVariant LocalPluginOptions::getOptionValue(const QString &variableName) const
{
    return OptionEngine::optionEngine->getOptionValue(group,variableName);
}

/// \brief To set option value
void LocalPluginOptions::setOptionValue(const QString &variableName,const QVariant &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);
}*/