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

@ -30,19 +30,10 @@ public:
bool parse(QIODevice *input);
bool startElement(const QStringRef &namespaceURI, const QStringRef &localName,
const QStringRef &qName, const QXmlStreamAttributes &atts);
bool endElement(const QStringRef &namespaceURI, const QStringRef &localName,
const QStringRef &qName);
bool startElement(const QStringRef &localName, const QXmlStreamAttributes &attrs);
bool endElement(const QStringRef &localName);
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:
void addItem();
void resetState();

Loading…
Cancel
Save