feat: add hide support for group
authorIceyer <me@iceyer.net>
Wed, 28 Feb 2018 07:32:39 +0000 (15:32 +0800)
committerIceyer <me@iceyer.net>
Wed, 28 Feb 2018 07:32:39 +0000 (15:32 +0800)
Change-Id: I08ca41f4298cc3fdbe1fff1194b239d81c51f3d8

src/settings/dsettingsgroup.cpp
src/settings/dsettingsgroup.h

index d2d0bf7133c98b6fd6df835fecab9a84a8b56c07..28109a24909e1e5807f6be1fc2b5a27c12a42c97 100644 (file)
@@ -30,6 +30,7 @@ public:
 
     QString key;
     QString name;
+    bool    hide = false;
 
     QMap<QString, OptionPtr>    options;
 
@@ -81,6 +82,12 @@ QString DSettingsGroup::name() const
     return d->name;
 }
 
+bool DSettingsGroup::isHidden() const
+{
+    Q_D(const DSettingsGroup);
+    return d->hide;
+}
+
 QPointer<DSettingsGroup> DSettingsGroup::childGroup(const QString &groupKey) const
 {
     Q_D(const DSettingsGroup);
@@ -139,6 +146,7 @@ void DSettingsGroupPrivate::parseJson(const QString &prefixKey, const QJsonObjec
     Q_ASSERT(!key.isEmpty());
     key = prefixKey.isEmpty() ? key : prefixKey + "." + key;
     name = group.value("name").toString();
+    hide = group.value("hide").toBool();
 
     for (auto optionJson :  group.value("options").toArray()) {
         auto optionObject = optionJson.toObject();
index ec9ae10c456ada8593194ad6285f620483db92eb..323a1ce4cf77e3b6eafbc0b675bcd9467d6e1a09 100644 (file)
@@ -39,6 +39,7 @@ public:
 
     QString key() const;
     QString name() const;
+    bool isHidden() const;
 
     QPointer<DSettingsGroup> childGroup(const QString &groupKey) const;
     QPointer<DSettingsOption> option(const QString &key) const;