summaryrefslogtreecommitdiffstats
path: root/logic/settings/OverrideSetting.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-09-04 02:10:29 +0200
committerPetr Mrázek <peterix@gmail.com>2015-09-04 02:10:29 +0200
commitcd108fd02975eac3a3fed2fde26c58de5cbdaf1c (patch)
treec19f22573086901238b7feacd9b265d249195700 /logic/settings/OverrideSetting.h
parent151a0ca11ec658525e151b7130543a364c41a3e8 (diff)
downloadMultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar
MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar.gz
MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar.lz
MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar.xz
MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.zip
GH-1223 fix override settings
They now work more like passthrough settings, except not passing through set and reset
Diffstat (limited to 'logic/settings/OverrideSetting.h')
-rw-r--r--logic/settings/OverrideSetting.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/logic/settings/OverrideSetting.h b/logic/settings/OverrideSetting.h
index 7534692f..68595cde 100644
--- a/logic/settings/OverrideSetting.h
+++ b/logic/settings/OverrideSetting.h
@@ -30,10 +30,17 @@ class OverrideSetting : public Setting
{
Q_OBJECT
public:
- explicit OverrideSetting(std::shared_ptr<Setting> other);
+ explicit OverrideSetting(std::shared_ptr<Setting> overriden, std::shared_ptr<Setting> gate);
virtual QVariant defValue() const;
+ virtual QVariant get() const;
+ virtual void set (QVariant value);
+ virtual void reset();
+
+private:
+ bool isOverriding() const;
protected:
std::shared_ptr<Setting> m_other;
+ std::shared_ptr<Setting> m_gate;
};