diff options
author | Felix Geyer <debfx@fobos.de> | 2011-07-07 14:45:14 +0400 |
---|---|---|
committer | Felix Geyer <debfx@fobos.de> | 2011-07-07 14:45:14 +0400 |
commit | afb285a4769e8285b2e09bde1068ffe80ee6fe4d (patch) | |
tree | c54af71703509e2351bb27f3d4bb8215fcf5e8a1 /src | |
parent | be934b2fcece56b4ba4f9a733721cc85a5f653a3 (diff) |
Use a special enum for inherit/enable/disable variables.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/Group.cpp | 12 | ||||
-rw-r--r-- | src/core/Group.h | 14 | ||||
-rw-r--r-- | src/format/KeePass2XmlReader.cpp | 12 | ||||
-rw-r--r-- | src/format/KeePass2XmlWriter.cpp | 43 | ||||
-rw-r--r-- | src/format/KeePass2XmlWriter.h | 1 |
5 files changed, 38 insertions, 44 deletions
diff --git a/src/core/Group.cpp b/src/core/Group.cpp index 3461e623f..bea395843 100644 --- a/src/core/Group.cpp +++ b/src/core/Group.cpp @@ -88,12 +88,12 @@ QString Group::defaultAutoTypeSequence() const return m_defaultAutoTypeSequence; } -int Group::autoTypeEnabled() const +Group::TriState Group::autoTypeEnabled() const { return m_autoTypeEnabled; } -int Group::searchingEnabed() const +Group::TriState Group::searchingEnabed() const { return m_searchingEnabled; } @@ -155,17 +155,13 @@ void Group::setDefaultAutoTypeSequence(const QString& sequence) m_defaultAutoTypeSequence = sequence; } -void Group::setAutoTypeEnabled(int enable) +void Group::setAutoTypeEnabled(TriState enable) { - Q_ASSERT(enable >= -1 && enable <= 1); - m_autoTypeEnabled = enable; } -void Group::setSearchingEnabled(int enable) +void Group::setSearchingEnabled(TriState enable) { - Q_ASSERT(enable >= -1 && enable <= 1); - m_searchingEnabled = enable; } diff --git a/src/core/Group.h b/src/core/Group.h index 15d5119c0..ac37e9e39 100644 --- a/src/core/Group.h +++ b/src/core/Group.h @@ -31,6 +31,8 @@ class Group : public QObject Q_OBJECT public: + enum TriState { Inherit, Enable, Disable }; + Group(); ~Group(); Uuid uuid() const; @@ -42,8 +44,8 @@ public: TimeInfo timeInfo() const; bool isExpanded() const; QString defaultAutoTypeSequence() const; - int autoTypeEnabled() const; - int searchingEnabed() const; + Group::TriState autoTypeEnabled() const; + Group::TriState searchingEnabed() const; Entry* lastTopVisibleEntry() const; void setUuid(const Uuid& uuid); @@ -54,8 +56,8 @@ public: void setTimeInfo(const TimeInfo& timeInfo); void setExpanded(bool expanded); void setDefaultAutoTypeSequence(const QString& sequence); - void setAutoTypeEnabled(int enable); - void setSearchingEnabled(int enable); + void setAutoTypeEnabled(TriState enable); + void setSearchingEnabled(TriState enable); void setLastTopVisibleEntry(Entry* entry); Group* parentGroup(); @@ -98,8 +100,8 @@ private: TimeInfo m_timeInfo; bool m_isExpanded; QString m_defaultAutoTypeSequence; - int m_autoTypeEnabled; - int m_searchingEnabled; + TriState m_autoTypeEnabled; + TriState m_searchingEnabled; Entry* m_lastTopVisibleEntry; QList<Group*> m_children; QList<Entry*> m_entries; diff --git a/src/format/KeePass2XmlReader.cpp b/src/format/KeePass2XmlReader.cpp index 2c8989f0e..ba4877bec 100644 --- a/src/format/KeePass2XmlReader.cpp +++ b/src/format/KeePass2XmlReader.cpp @@ -340,13 +340,13 @@ Group* KeePass2XmlReader::parseGroup() QString str = readString(); if (str.compare("null", Qt::CaseInsensitive) == 0) { - group->setAutoTypeEnabled(-1); + group->setAutoTypeEnabled(Group::Inherit); } else if (str.compare("true", Qt::CaseInsensitive) == 0) { - group->setAutoTypeEnabled(1); + group->setAutoTypeEnabled(Group::Enable); } else if (str.compare("false", Qt::CaseInsensitive) == 0) { - group->setAutoTypeEnabled(0); + group->setAutoTypeEnabled(Group::Disable); } else { raiseError(); @@ -357,13 +357,13 @@ Group* KeePass2XmlReader::parseGroup() QString str = readString(); if (str.compare("null", Qt::CaseInsensitive) == 0) { - group->setSearchingEnabled(-1); + group->setSearchingEnabled(Group::Inherit); } else if (str.compare("true", Qt::CaseInsensitive) == 0) { - group->setSearchingEnabled(1); + group->setSearchingEnabled(Group::Enable); } else if (str.compare("false", Qt::CaseInsensitive) == 0) { - group->setSearchingEnabled(0); + group->setSearchingEnabled(Group::Disable); } else { raiseError(); diff --git a/src/format/KeePass2XmlWriter.cpp b/src/format/KeePass2XmlWriter.cpp index 8244c32fb..e7a3938c3 100644 --- a/src/format/KeePass2XmlWriter.cpp +++ b/src/format/KeePass2XmlWriter.cpp @@ -182,31 +182,9 @@ void KeePass2XmlWriter::writeGroup(const Group* group) writeBool("IsExpanded", group->isExpanded()); writeString("DefaultAutoTypeSequence", group->defaultAutoTypeSequence()); - int autoTypeEnabled = group->autoTypeEnabled(); - QString autoTypeEnabledStr; - if (autoTypeEnabled == -1) { - autoTypeEnabledStr = "null"; - } - else if (autoTypeEnabled == 0) { - autoTypeEnabledStr = "false"; - } - else { - autoTypeEnabledStr = "true"; - } - writeString("EnableAutoType", autoTypeEnabledStr); + writeTriState("EnableAutoType", group->autoTypeEnabled()); - int searchingEnabed = group->searchingEnabed(); - QString searchingEnabedStr; - if (searchingEnabed == -1) { - searchingEnabedStr = "null"; - } - else if (searchingEnabed == 0) { - searchingEnabedStr = "false"; - } - else { - searchingEnabedStr = "true"; - } - writeString("EnableSearching", searchingEnabedStr); + writeTriState("EnableSearching", group->searchingEnabed()); writeUuid("LastTopVisibleEntry", group->lastTopVisibleEntry()); @@ -441,6 +419,23 @@ void KeePass2XmlWriter::writeColor(const QString& qualifiedName, const QColor& c writeString(qualifiedName, colorStr); } +void KeePass2XmlWriter::writeTriState(const QString& qualifiedName, Group::TriState triState) +{ + QString value; + + if (triState == Group::Inherit) { + value = "null"; + } + else if (triState == Group::Enable) { + value = "true"; + } + else { + value = "false"; + } + + writeString(qualifiedName, value); +} + QString KeePass2XmlWriter::colorPartToString(int value) { QString str = QString::number(value, 16).toUpper(); diff --git a/src/format/KeePass2XmlWriter.h b/src/format/KeePass2XmlWriter.h index 4b8a39e7c..bd21ed0a8 100644 --- a/src/format/KeePass2XmlWriter.h +++ b/src/format/KeePass2XmlWriter.h @@ -67,6 +67,7 @@ private: void writeUuid(const QString& qualifiedName, const Entry* entry); void writeBinary(const QString& qualifiedName, const QByteArray& ba); void writeColor(const QString& qualifiedName, const QColor& color); + void writeTriState(const QString& qualifiedName, Group::TriState triState); QString colorPartToString(int value); QXmlStreamWriter m_xml; |