From 4eb0886e94a130e631e5bf97b9a634847541b6a5 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 8 Jul 2019 16:00:30 +0200 Subject: vsession.*: Use QStringLiteral for most C-Strings Some things like searching feel a bit sluggish; try to get rid of repeated QString creation and destruction. --- src/vsession.cpp | 66 ++++++++++++++++++++++++++++---------------------------- src/vsession.h | 20 ++++++++--------- 2 files changed, 43 insertions(+), 43 deletions(-) (limited to 'src') diff --git a/src/vsession.cpp b/src/vsession.cpp index eae6ee9..41098b7 100644 --- a/src/vsession.cpp +++ b/src/vsession.cpp @@ -88,9 +88,9 @@ void VSession::addNodeWithAttribute(const QString& nodeName, } QIcon VSession::icon() const { - QString icon(getAttribute("icon")); + QString icon(getAttribute(QStringLiteral("icon"))); SessionsIconHolder *iconHolder = SessionsIconHolder::get(); - if (icon.startsWith("http://") || icon.startsWith("https://")) { + if (icon.startsWith(QStringLiteral("http://")) || icon.startsWith(QStringLiteral("https://"))) { // try to load icon from url QIcon url_icon(iconHolder->getIcon(QUrl(icon))); if (!url_icon.isNull()) @@ -103,7 +103,7 @@ QIcon VSession::icon() const { return res_icon; } // Everything failed, try to guess the OS - QString os(getAttribute("os", "param").toLower()); + QString os(this->os().toLower()); os = os.replace(cleanNameRegex, QString()); if (!os.isEmpty()) { // Now try known good OS names via .startsWith() @@ -117,10 +117,10 @@ QIcon VSession::icon() const { return iconHolder->getIcon(map.icon); } // Running out of ideas... - if (os.startsWith("win")) - return iconHolder->getIcon("windows"); - if (os.contains("linux")) - return iconHolder->getIcon("linux"); + if (os.startsWith(QStringLiteral("win"))) + return iconHolder->getIcon(QStringLiteral("windows")); + if (os.contains(QStringLiteral("linux"))) + return iconHolder->getIcon(QStringLiteral("linux")); } // Fallback to generic virtualizer icon (if found) return iconHolder->getIcon(virtualizer()); @@ -132,16 +132,16 @@ QString VSession::toXml() const { QDomNode xmlNode = doc.createProcessingInstruction( "xml", "version=\"1.0\" encoding=\"UTF-8\""); doc.insertBefore(xmlNode, doc.firstChild()); - QString image(this->getAttribute("image_name")); - QDomElement path = doc.firstChildElement("settings") - .firstChildElement("eintrag") - .appendChild(doc.createElement("image_path")) + QString image(this->getAttribute(QStringLiteral("image_name"))); + QDomElement path = doc.firstChildElement(QStringLiteral("settings")) + .firstChildElement(QStringLiteral("eintrag")) + .appendChild(doc.createElement(QStringLiteral("image_path"))) .toElement(); if (QFileInfo(image).isRelative()) { // make path to image absolute - path.setAttribute("param", Config::get(Config::BASEDIR) + "/" + image); + path.setAttribute(QStringLiteral("param"), Config::get(Config::BASEDIR) + "/" + image); } else { - path.setAttribute("param", image); + path.setAttribute(QStringLiteral("param"), image); } return doc.toString(); } @@ -156,10 +156,10 @@ QList VSession::keywords() const { } void VSession::readKeywords() { - QDomNode keywordsNode = eintrag_.namedItem("keywords"); - for (QDomElement el(keywordsNode.firstChildElement("keyword")); + QDomNode keywordsNode = eintrag_.namedItem(QStringLiteral("keywords")); + for (QDomElement el(keywordsNode.firstChildElement(QStringLiteral("keyword"))); !el.isNull(); - el = el.nextSiblingElement("keyword")) { + el = el.nextSiblingElement(QStringLiteral("keyword"))) { this->keywords_.append(el.text()); } } @@ -168,7 +168,7 @@ bool VSession::containsKeywords(const QList& keywords) const { for (int j = 0; j < keywords.length(); ++j) { if (!this->shortDescription().contains(keywords[j], Qt::CaseInsensitive) && !this->description().contains(keywords[j], Qt::CaseInsensitive) - && !this->getAttribute("creator", "param").contains(keywords[j], Qt::CaseInsensitive)) { + && !this->getAttribute(QStringLiteral("creator"), QStringLiteral("param")).contains(keywords[j], Qt::CaseInsensitive)) { bool match = false; for (int i = 0; i < this->keywords().length(); ++i) { if (this->keywords()[i].contains(keywords[j], Qt::CaseInsensitive)) { @@ -188,7 +188,7 @@ QString VSession::getNodeText(const QString& nodeName) const { } bool VSession::isActive() const { - QString value(getAttribute("active")); + QString value(getAttribute(QStringLiteral("active"))); // Is disabled completely if (value.compare("false") == 0) { if (g_debugMode) qDebug() << "'" << shortDescription() << "' not active. Reason: active == false"; @@ -196,12 +196,12 @@ bool VSession::isActive() const { } // Filter by LDAP data if (!UserLdapData::isEmpty()) { - QDomElement el(eintrag_.namedItem("filters").firstChildElement("filter")); + QDomElement el(eintrag_.namedItem(QStringLiteral("filters")).firstChildElement(QStringLiteral("filter"))); if (!el.isNull()) { - for (; !el.isNull(); el = el.nextSiblingElement("filter")) { - if (el.attribute("type") != "LDAP") + for (; !el.isNull(); el = el.nextSiblingElement(QStringLiteral("filter"))) { + if (el.attribute(QStringLiteral("type")) != QStringLiteral("LDAP")) continue; - if (UserLdapData::isAllowed(el.firstChildElement("key").text(), el.firstChildElement("value").text())) + if (UserLdapData::isAllowed(el.firstChildElement(QStringLiteral("key")).text(), el.firstChildElement(QStringLiteral("value")).text())) return true; } return false; @@ -213,15 +213,15 @@ bool VSession::isActive() const { bool VSession::isLocked() const { // default to false - return getAttribute("locked").compare("true") == 0; + return getAttribute(QStringLiteral("locked")).compare(QStringLiteral("true")) == 0; } bool VSession::isValid() const { - return !getAttribute("image_name").isEmpty(); + return !getAttribute(QStringLiteral("image_name")).isEmpty(); } int VSession::priority() const { - int prio = getAttribute("priority").toInt(); + int prio = getAttribute(QStringLiteral("priority")).toInt(); if (g_templateHandling == TEMPLATES_BUMP && isTemplate()) { prio -= 500; } @@ -237,7 +237,7 @@ bool VSession::run() const { return false; } if (g_debugMode) { - qDebug() << "Sarting session " << this->getAttribute("short_description", "param") << " ..."; + qDebug() << "Sarting session " << shortDescription() << " ..."; } if (g_noVtx && needsVtx()) { @@ -248,13 +248,13 @@ bool VSession::run() const { " error message while the virtualizer is initializing.")); } - QString command = getAttribute("command"); + QString command = getAttribute(QStringLiteral("command")); if (!command.isEmpty()) { return QProcess::startDetached(command); } // write xml to temporary file - QTemporaryFile tmpfile(QDir::tempPath() + "/vmchooser-XXXXXX.xml"); + QTemporaryFile tmpfile(QDir::tempPath() + QStringLiteral("/vmchooser-XXXXXX.xml")); if (!tmpfile.open() || tmpfile.write(this->toXml().toUtf8()) == -1) { qDebug() << "Error writing xml to file" << tmpfile.fileName(); @@ -335,10 +335,10 @@ QList VSession::readXmlFile(const QString& filepath) { UserLdapData::init(); - QDomElement settingsNode = doc.firstChildElement("settings"); - for (QDomElement el(settingsNode.firstChildElement("eintrag")); + QDomElement settingsNode = doc.firstChildElement(QStringLiteral("settings")); + for (QDomElement el(settingsNode.firstChildElement(QStringLiteral("eintrag"))); !el.isNull(); - el = el.nextSiblingElement("eintrag")) { + el = el.nextSiblingElement(QStringLiteral("eintrag"))) { VSession* e = new VSession; if (e->init(el) && e->isActive()) { e->readKeywords(); @@ -352,8 +352,8 @@ QList VSession::readXmlFile(const QString& filepath) { bool VSession::needsVtx() const { QString type = virtualizer(); - return (type == VMWARE && os().endsWith("-64")) - || (type == VIRTUALBOX && os().endsWith("_64")); // Vbox 6.x DOES support 32bit VMs without VT-x, but if + return (type == VMWARE && os().endsWith(QStringLiteral("-64"))) + || (type == VIRTUALBOX && os().endsWith(QStringLiteral("_64"))); // Vbox 6.x DOES support 32bit VMs without VT-x, but if // the config enables any feature that cannot work without VT-x, it will silently enable it and then fail to start (i.e. IOAPIC) // TODO: qemu-kvm, ... } diff --git a/src/vsession.h b/src/vsession.h index ad81833..609884e 100644 --- a/src/vsession.h +++ b/src/vsession.h @@ -19,37 +19,37 @@ class VSession : public Session { int priority() const; bool isTemplate() const { - return getAttribute("is_template").toInt() != 0; + return getAttribute(QStringLiteral("is_template")).toInt() != 0; } bool isForLocation() const { - return getAttribute("for_location").toInt() != 0; + return getAttribute(QStringLiteral("for_location")).toInt() != 0; } bool canEdit() const { - return getAttribute("allow_edit").toInt() != 0; + return getAttribute(QStringLiteral("allow_edit")).toInt() != 0; } QString virtualizer() const { - return getAttribute(QLatin1String("virtualmachine")); + return getAttribute(QStringLiteral("virtualmachine")); } QString shortDescription() const { - return getAttribute("short_description"); + return getAttribute(QStringLiteral("short_description")); } QString description() const { - return getAttribute("long_description"); + return getAttribute(QStringLiteral("long_description")); } QIcon icon() const; QString os() const { - return getAttribute("os"); + return getAttribute(QStringLiteral("os")); } QString uuid() const { - return getAttribute("uuid"); + return getAttribute(QStringLiteral("uuid")); } SectionType section() const { @@ -66,14 +66,14 @@ class VSession : public Session { QVariant foregroundRole() const; QString getAttribute(const QString& nodeName, - const QString& attribute = "param") const; + const QString& attribute = QStringLiteral("param")) const; QList keywords() const; bool containsKeywords(const QList& keywords) const; QString getNodeText(const QString& nodeName) const; void addNodeWithAttribute(const QString& nodeName, const QString& value, - const QString& attribute = "param", + const QString& attribute = QStringLiteral("param"), bool replace = true); QString toXml() const; -- cgit v1.2.3-55-g7522