From 53ffa286184a9d7707d6736f2d3cc1636ed06c04 Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Mon, 5 Jun 2017 13:14:48 +0900 Subject: [PATCH] Make code into C++11 style, etc --- app/app.pri | 2 + app/src/handlers/confighandler.cpp | 60 ++++++++++++++++-------------- app/src/handlers/confighandler.h | 10 +++-- app/src/handlers/ocsurlhandler.cpp | 14 +++---- app/src/handlers/ocsurlhandler.h | 6 +-- app/src/main.cpp | 10 ++--- ocs-url.pro | 2 - 7 files changed, 56 insertions(+), 48 deletions(-) diff --git a/app/app.pri b/app/app.pri index 0f601b3..a8c9eb3 100644 --- a/app/app.pri +++ b/app/app.pri @@ -1,3 +1,5 @@ +CONFIG += c++11 + QT += \ core \ gui \ diff --git a/app/src/handlers/confighandler.cpp b/app/src/handlers/confighandler.cpp index 7427160..b0c4964 100644 --- a/app/src/handlers/confighandler.cpp +++ b/app/src/handlers/confighandler.cpp @@ -9,45 +9,51 @@ ConfigHandler::ConfigHandler(QObject *parent) : QObject(parent) { appConfig_ = qtlib::Config(":/configs"); + importAppConfigApplication(); + importAppConfigInstallTypes(); } -QJsonObject ConfigHandler::getAppConfigApplication() +QJsonObject ConfigHandler::getAppConfigApplication() const { - if (appConfigApplication_.isEmpty()) { - appConfigApplication_ = appConfig_.get("application"); - } return appConfigApplication_; } -QJsonObject ConfigHandler::getAppConfigInstallTypes() +QJsonObject ConfigHandler::getAppConfigInstallTypes() const { - if (appConfigInstallTypes_.isEmpty()) { - QJsonObject installTypes = appConfig_.get("install_types"); - foreach (const QString &key, installTypes.keys()) { - QJsonObject installtype = installTypes[key].toObject(); - installtype["destination"] = convertPathString(installtype["destination"].toString()); - installtype["generic_destination"] = convertPathString(installtype["generic_destination"].toString()); - installTypes[key] = installtype; - } - QJsonObject installTypesAlias = appConfig_.get("install_types_alias"); - foreach (const QString &key, installTypesAlias.keys()) { - QJsonObject installTypeAlias = installTypesAlias[key].toObject(); - QString baseKey = installTypeAlias["base"].toString(); - if (installTypes.contains(baseKey)) { - QJsonObject installType = installTypes[baseKey].toObject(); - installType["base"] = baseKey; - installType["name"] = installTypeAlias["name"].toString(); - installTypes[key] = installType; - } + return appConfigInstallTypes_; +} + +void ConfigHandler::importAppConfigApplication() +{ + appConfigApplication_ = appConfig_.get("application"); +} + +void ConfigHandler::importAppConfigInstallTypes() +{ + auto installTypes = appConfig_.get("install_types"); + for (const auto &key : installTypes.keys()) { + auto installtype = installTypes[key].toObject(); + installtype["destination"] = convertPathString(installtype["destination"].toString()); + installtype["generic_destination"] = convertPathString(installtype["generic_destination"].toString()); + installTypes[key] = installtype; + } + auto installTypesAlias = appConfig_.get("install_types_alias"); + for (const auto &key : installTypesAlias.keys()) { + auto installTypeAlias = installTypesAlias[key].toObject(); + auto baseKey = installTypeAlias["base"].toString(); + if (installTypes.contains(baseKey)) { + auto installType = installTypes[baseKey].toObject(); + installType["base"] = baseKey; + installType["name"] = installTypeAlias["name"].toString(); + installTypes[key] = installType; } - appConfigInstallTypes_ = installTypes; } - return appConfigInstallTypes_; + appConfigInstallTypes_ = installTypes; } -QString ConfigHandler::convertPathString(const QString &path) +QString ConfigHandler::convertPathString(const QString &path) const { - QString newPath = path; + auto newPath = path; if (newPath.contains("$HOME")) { newPath.replace("$HOME", qtlib::Dir::homePath()); } diff --git a/app/src/handlers/confighandler.h b/app/src/handlers/confighandler.h index 247afc8..07c6951 100644 --- a/app/src/handlers/confighandler.h +++ b/app/src/handlers/confighandler.h @@ -10,14 +10,16 @@ class ConfigHandler : public QObject Q_OBJECT public: - explicit ConfigHandler(QObject *parent = 0); + explicit ConfigHandler(QObject *parent = nullptr); public slots: - QJsonObject getAppConfigApplication(); - QJsonObject getAppConfigInstallTypes(); + QJsonObject getAppConfigApplication() const; + QJsonObject getAppConfigInstallTypes() const; private: - QString convertPathString(const QString &path); + void importAppConfigApplication(); + void importAppConfigInstallTypes(); + QString convertPathString(const QString &path) const; qtlib::Config appConfig_; QJsonObject appConfigApplication_; diff --git a/app/src/handlers/ocsurlhandler.cpp b/app/src/handlers/ocsurlhandler.cpp index 3527d7b..29996c0 100644 --- a/app/src/handlers/ocsurlhandler.cpp +++ b/app/src/handlers/ocsurlhandler.cpp @@ -39,15 +39,15 @@ void OcsUrlHandler::process() return; } - QString url = metadata_["url"].toString(); - qtlib::NetworkResource *resource = new qtlib::NetworkResource(url, QUrl(url), true, this); + auto url = metadata_["url"].toString(); + auto *resource = new qtlib::NetworkResource(url, QUrl(url), true, this); connect(resource, &qtlib::NetworkResource::downloadProgress, this, &OcsUrlHandler::downloadProgress); connect(resource, &qtlib::NetworkResource::finished, this, &OcsUrlHandler::networkResourceFinished); resource->get(); emit started(); } -bool OcsUrlHandler::isValid() +bool OcsUrlHandler::isValid() const { QString scheme = metadata_["scheme"].toString(); QString command = metadata_["command"].toString(); @@ -66,9 +66,9 @@ bool OcsUrlHandler::isValid() return false; } -void OcsUrlHandler::openDestination() +void OcsUrlHandler::openDestination() const { - QString type = metadata_["type"].toString(); + auto type = metadata_["type"].toString(); QDesktopServices::openUrl(QUrl("file://" + configHandler_->getAppConfigInstallTypes()[type].toObject()["destination"].toString())); } @@ -131,7 +131,7 @@ void OcsUrlHandler::saveDownloadedFile(qtlib::NetworkResource *resource) { QJsonObject result; - QString type = metadata_["type"].toString(); + auto type = metadata_["type"].toString(); qtlib::Dir destDir(configHandler_->getAppConfigInstallTypes()[type].toObject()["destination"].toString()); destDir.make(); qtlib::File destFile(destDir.path() + "/" + metadata_["filename"].toString()); @@ -166,7 +166,7 @@ void OcsUrlHandler::installDownloadedFile(qtlib::NetworkResource *resource) } qtlib::Package package(tempFile.path()); - QString type = metadata_["type"].toString(); + auto type = metadata_["type"].toString(); qtlib::Dir destDir(configHandler_->getAppConfigInstallTypes()[type].toObject()["destination"].toString()); destDir.make(); qtlib::File destFile(destDir.path() + "/" + metadata_["filename"].toString()); diff --git a/app/src/handlers/ocsurlhandler.h b/app/src/handlers/ocsurlhandler.h index 8c3f99d..38ed279 100644 --- a/app/src/handlers/ocsurlhandler.h +++ b/app/src/handlers/ocsurlhandler.h @@ -14,7 +14,7 @@ class OcsUrlHandler : public QObject Q_OBJECT public: - explicit OcsUrlHandler(const QString &ocsUrl, ConfigHandler *configHandler, QObject *parent = 0); + explicit OcsUrlHandler(const QString &ocsUrl, ConfigHandler *configHandler, QObject *parent = nullptr); signals: void started(); @@ -27,8 +27,8 @@ public slots: QJsonObject metadata() const; void process(); - bool isValid(); - void openDestination(); + bool isValid() const; + void openDestination() const; private slots: void networkResourceFinished(qtlib::NetworkResource *resource); diff --git a/app/src/main.cpp b/app/src/main.cpp index 3acb73c..32ce2ff 100644 --- a/app/src/main.cpp +++ b/app/src/main.cpp @@ -18,8 +18,8 @@ int main(int argc, char *argv[]) // Init QApplication app(argc, argv); - ConfigHandler *configHandler = new ConfigHandler(); - QJsonObject appConfigApplication = configHandler->getAppConfigApplication(); + auto *configHandler = new ConfigHandler(); + auto appConfigApplication = configHandler->getAppConfigApplication(); app.setApplicationName(appConfigApplication["name"].toString()); app.setApplicationVersion(appConfigApplication["version"].toString()); @@ -41,17 +41,17 @@ int main(int argc, char *argv[]) clParser.addPositionalArgument("OCS-URL", "OCS-URL that starts with ocs://"); clParser.process(app); - QStringList args = clParser.positionalArguments(); + auto args = clParser.positionalArguments(); if (args.size() != 1) { clParser.showHelp(1); } - QString ocsUrl = args.at(0); + auto ocsUrl = QString(args.at(0)); // Setup QML QQmlApplicationEngine qmlAppEngine; - QQmlContext *qmlContext = qmlAppEngine.rootContext(); + auto *qmlContext = qmlAppEngine.rootContext(); configHandler->setParent(&qmlAppEngine); qmlContext->setContextProperty("configHandler", configHandler); qmlContext->setContextProperty("ocsUrlHandler", new OcsUrlHandler(ocsUrl, configHandler, &qmlAppEngine)); diff --git a/ocs-url.pro b/ocs-url.pro index 79396ec..7a803e1 100644 --- a/ocs-url.pro +++ b/ocs-url.pro @@ -4,8 +4,6 @@ TARGET = ocs-url TEMPLATE = app -CONFIG += c++11 - DEFINES += QT_DEPRECATED_WARNINGS DISTFILES += $${PWD}/README.md -- GitLab