diff options
Diffstat (limited to 'src/qtpasssettings.cpp')
-rw-r--r-- | src/qtpasssettings.cpp | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/src/qtpasssettings.cpp b/src/qtpasssettings.cpp index 5c94bd5a..6453cffd 100644 --- a/src/qtpasssettings.cpp +++ b/src/qtpasssettings.cpp @@ -1,7 +1,8 @@ #include "qtpasssettings.h" #include "settingsconstants.h" +#include "pass.h" -QtPassSettings::QtPassSettings() {} +QtPassSettings::QtPassSettings(){} bool QtPassSettings::initialized = false; @@ -13,6 +14,10 @@ QHash<QString, QSize> QtPassSettings::sizeSettings; QHash<QString, int> QtPassSettings::intSettings; QHash<QString, bool> QtPassSettings::boolSettings; +Pass* QtPassSettings::pass; +RealPass QtPassSettings::realPass; +ImitatePass QtPassSettings::imitatePass; + QString QtPassSettings::getVersion(const QString &defaultValue) { return getStringValue(SettingsConstants::version, defaultValue); } @@ -119,6 +124,11 @@ bool QtPassSettings::isUsePass(const bool &defaultValue) { } void QtPassSettings::setUsePass(const bool &usePass) { + if(usePass){ + QtPassSettings::pass = &QtPassSettings::realPass; + }else{ + QtPassSettings::pass = &QtPassSettings::imitatePass; + } setBoolValue(SettingsConstants::usePass, usePass); } @@ -599,5 +609,29 @@ QVariant QtPassSettings::getSetting(const QString &key, } void QtPassSettings::setSetting(const QString &key, const QVariant &value) { - getSettings().setValue(key, value); + getSettings().setValue(key, value); +} + +Pass* QtPassSettings::getPass() +{ + if(!pass){ + if(isUsePass()){ + QtPassSettings::pass = &QtPassSettings::realPass; + }else{ + QtPassSettings::pass = &QtPassSettings::imitatePass; + } + pass->init(); + } + return pass; +} + +ImitatePass* QtPassSettings::getImitatePass() +{ + return &imitatePass; +} + +RealPass* QtPassSettings::getRealPass() +{ + return &realPass; } + |