summaryrefslogtreecommitdiffstats
path: root/src/qtpasssettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qtpasssettings.cpp')
-rw-r--r--src/qtpasssettings.cpp38
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;
}
+