[KConfigLoader] Code cleanup

Summary:
- Drop redundant args to startElement()/endEelement()
- Use range-for
- Drop ConfigLoaderHandler methods that weren't used anywhere AFAICS
  and ConfigLoaderHandler is private API

Test Plan: make && ctest

Reviewers: #frameworks, apol, dfaure

Reviewed By: dfaure

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27157
wilder
Ahmad Samir 6 years ago
parent d46739294d
commit 9dec6961b3
  1. 81
      src/gui/kconfigloader.cpp
  2. 13
      src/gui/kconfigloaderhandler_p.h

@ -24,7 +24,6 @@
#include <QColor> #include <QColor>
#include <QFont> #include <QFont>
#include <QHash> #include <QHash>
#include <QXmlContentHandler>
#include <QUrl> #include <QUrl>
#include <QDebug> #include <QDebug>
@ -57,26 +56,26 @@ bool ConfigLoaderHandler::parse(QIODevice *input)
while (!reader.atEnd()) { while (!reader.atEnd()) {
reader.readNext(); reader.readNext();
if (reader.hasError()) if (reader.hasError()) {
return false; return false;
}
switch (reader.tokenType()) { switch (reader.tokenType()) {
case QXmlStreamReader::StartElement: case QXmlStreamReader::StartElement:
if (!startElement(reader.namespaceUri(), reader.name(), if (!startElement(reader.name(), reader.attributes())) {
reader.qualifiedName(), reader.attributes())) {
return false; return false;
} }
break; break;
case QXmlStreamReader::EndElement: case QXmlStreamReader::EndElement:
if (!endElement(reader.namespaceUri(), reader.name(), if (!endElement(reader.name())) {
reader.qualifiedName())) {
return false; return false;
} }
break; break;
case QXmlStreamReader::Characters: case QXmlStreamReader::Characters:
if (!reader.isWhitespace() && !reader.text().trimmed().isEmpty()) { if (!reader.isWhitespace() && !reader.text().trimmed().isEmpty()) {
if (!characters(reader.text())) if (!characters(reader.text())) {
return false; return false;
}
} }
break; break;
default: default:
@ -84,28 +83,24 @@ bool ConfigLoaderHandler::parse(QIODevice *input)
} }
} }
if (reader.isEndDocument()) if (reader.isEndDocument()) {
return false; return false;
}
return true; return true;
} }
bool ConfigLoaderHandler::startElement(const QStringRef &namespaceURI, const QStringRef &localName, bool ConfigLoaderHandler::startElement(const QStringRef &localName, const QXmlStreamAttributes &attrs)
const QStringRef &qName, const QXmlStreamAttributes &attrs)
{ {
Q_UNUSED(namespaceURI)
Q_UNUSED(qName)
// qDebug() << "ConfigLoaderHandler::startElement(" << localName << qName; // qDebug() << "ConfigLoaderHandler::startElement(" << localName << qName;
const int numAttrs = attrs.count();
const QString tag = localName.toString().toLower(); const QString tag = localName.toString().toLower();
if (tag == QLatin1String("group")) { if (tag == QLatin1String("group")) {
QString group; QString group;
for (int i = 0; i < numAttrs; ++i) { for (const auto &attr : attrs) {
const QStringRef name = attrs.at(i).name(); const QStringRef name = attr.name();
if (name.compare(QLatin1String("name"), Qt::CaseInsensitive) == 0) { if (name.compare(QLatin1String("name"), Qt::CaseInsensitive) == 0) {
//qDebug() << "set group to" << attrs.value(i); //qDebug() << "set group to" << attrs.value(i);
group = attrs.at(i).value().toString(); group = attr.value().toString();
} }
} }
if (group.isEmpty()) { if (group.isEmpty()) {
@ -121,24 +116,24 @@ bool ConfigLoaderHandler::startElement(const QStringRef &namespaceURI, const QSt
m_config->setCurrentGroup(group); m_config->setCurrentGroup(group);
} }
} else if (tag == QLatin1String("entry")) { } else if (tag == QLatin1String("entry")) {
for (int i = 0; i < numAttrs; ++i) { for (const auto &attr : attrs) {
const QStringRef name = attrs.at(i).name(); const QStringRef name = attr.name();
if (name.compare(QLatin1String("name"), Qt::CaseInsensitive) == 0) { if (name.compare(QLatin1String("name"), Qt::CaseInsensitive) == 0) {
m_name = attrs.at(i).value().trimmed().toString(); m_name = attr.value().trimmed().toString();
} else if (name.compare(QLatin1String("type"), Qt::CaseInsensitive) == 0) { } else if (name.compare(QLatin1String("type"), Qt::CaseInsensitive) == 0) {
m_type = attrs.at(i).value().toString().toLower(); m_type = attr.value().toString().toLower();
} else if (name.compare(QLatin1String("key"), Qt::CaseInsensitive) == 0) { } else if (name.compare(QLatin1String("key"), Qt::CaseInsensitive) == 0) {
m_key = attrs.at(i).value().trimmed().toString(); m_key = attr.value().trimmed().toString();
} }
} }
} else if (tag == QLatin1String("choice")) { } else if (tag == QLatin1String("choice")) {
m_choice.name.clear(); m_choice.name.clear();
m_choice.label.clear(); m_choice.label.clear();
m_choice.whatsThis.clear(); m_choice.whatsThis.clear();
for (int i = 0; i < numAttrs; ++i) { for (const auto &attr : attrs) {
const QStringRef name = attrs.at(i).name(); const QStringRef name = attr.name();
if (name.compare(QLatin1String("name"), Qt::CaseInsensitive) == 0) { if (name.compare(QLatin1String("name"), Qt::CaseInsensitive) == 0) {
m_choice.name = attrs.at(i).value().toString(); m_choice.name = attr.value().toString();
} }
} }
m_inChoice = true; m_inChoice = true;
@ -153,42 +148,8 @@ bool ConfigLoaderHandler::characters(const QStringRef &ch)
return true; return true;
} }
QString ConfigLoaderHandler::name() const bool ConfigLoaderHandler::endElement(const QStringRef &localName)
{
return m_name;
}
void ConfigLoaderHandler::setName(const QString &name)
{
m_name = name;
}
QString ConfigLoaderHandler::key() const
{
return m_key;
}
void ConfigLoaderHandler::setKey(const QString &key)
{
m_key = key;
}
QString ConfigLoaderHandler::type() const
{ {
return m_type;
}
QString ConfigLoaderHandler::defaultValue() const
{
return m_default;
}
bool ConfigLoaderHandler::endElement(const QStringRef &namespaceURI,
const QStringRef &localName, const QStringRef &qName)
{
Q_UNUSED(namespaceURI)
Q_UNUSED(qName)
// qDebug() << "ConfigLoaderHandler::endElement(" << localName << qName; // qDebug() << "ConfigLoaderHandler::endElement(" << localName << qName;
const QStringRef tag = localName; const QStringRef tag = localName;
if (tag.compare(QLatin1String("entry"), Qt::CaseInsensitive) == 0) { if (tag.compare(QLatin1String("entry"), Qt::CaseInsensitive) == 0) {

@ -30,19 +30,10 @@ public:
bool parse(QIODevice *input); bool parse(QIODevice *input);
bool startElement(const QStringRef &namespaceURI, const QStringRef &localName, bool startElement(const QStringRef &localName, const QXmlStreamAttributes &attrs);
const QStringRef &qName, const QXmlStreamAttributes &atts); bool endElement(const QStringRef &localName);
bool endElement(const QStringRef &namespaceURI, const QStringRef &localName,
const QStringRef &qName);
bool characters(const QStringRef &ch); bool characters(const QStringRef &ch);
QString name() const;
void setName(const QString &name);
QString key() const;
void setKey(const QString &name);
QString type() const;
QString defaultValue() const;
private: private:
void addItem(); void addItem();
void resetState(); void resetState();

Loading…
Cancel
Save