[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/graphics/digikam/libs/database
From: Marcel Wiesweg <marcel.wiesweg () gmx ! de>
Date: 2008-04-27 13:23:16
Message-ID: 1209302596.872097.17476.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 801688 by mwiesweg:
- add methods providing default values, to have them in one place
- return SearchXml::Search on XML root element. This allows to read/write
an attribute into the root element
- do not explicitly write operators if they are default values
M +14 -8 searchxml.cpp
M +5 -0 searchxml.h
--- trunk/extragear/graphics/digikam/libs/database/searchxml.cpp #801687:801688
@@ -32,6 +32,9 @@
: QXmlStreamReader(xml)
{
m_defaultFieldOperator = SearchXml::And;
+
+ // read in root element "search"
+ readNext();
}
SearchXml::Element SearchXmlReader::readNext()
@@ -57,7 +60,7 @@
if (isGroupElement())
{
// get possible default operator
- m_defaultFieldOperator = readOperator("fieldoperator", \
SearchXml::And); + m_defaultFieldOperator = \
readOperator("fieldoperator", SearchXml::standardFieldOperator()); return \
SearchXml::Group; }
else if (isFieldElement())
@@ -66,8 +69,8 @@
}
else if (name() == "search")
{
- // root element, skip
- continue;
+ // root element
+ return SearchXml::Search;
}
}
}
@@ -87,7 +90,7 @@
SearchXml::Operator SearchXmlReader::groupOperator() const
{
- return readOperator("operator", SearchXml::Or);
+ return readOperator("operator", SearchXml::standardGroupOperator());
}
QString SearchXmlReader::groupCaption() const
@@ -112,7 +115,7 @@
SearchXml::Relation SearchXmlReader::fieldRelation() const
{
- return readRelation("relation", SearchXml::Equal);
+ return readRelation("relation", SearchXml::standardFieldRelation());
}
QString SearchXmlReader::value()
@@ -258,17 +261,20 @@
void SearchXmlWriter::setGroupOperator(SearchXml::Operator op)
{
- writeOperator("operator", op);
+ if (op != SearchXml::Or)
+ writeOperator("operator", op);
}
void SearchXmlWriter::setGroupCaption(const QString &caption)
{
- writeAttribute("caption", caption);
+ if (!caption.isNull())
+ writeAttribute("caption", caption);
}
void SearchXmlWriter::setDefaultFieldOperator(SearchXml::Operator op)
{
- writeOperator("fieldoperator", op);
+ if (op != SearchXml::And)
+ writeOperator("fieldoperator", op);
}
void SearchXmlWriter::writeField(const QString &name, SearchXml::Relation relation)
--- trunk/extragear/graphics/digikam/libs/database/searchxml.h #801687:801688
@@ -52,6 +52,7 @@
enum Element
{
+ Search,
Group,
GroupEnd,
Field,
@@ -92,6 +93,10 @@
return false;
}
+ /** General default values for groupOperator() and defaultFieldOperator() */
+ inline SearchXml::Operator standardGroupOperator() { return SearchXml::Or; }
+ inline SearchXml::Operator standardFieldOperator() { return SearchXml::And; }
+ inline SearchXml::Relation standardFieldRelation() { return SearchXml::Equal; }
}
class DIGIKAM_EXPORT SearchXmlReader : public QXmlStreamReader
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic