From 5d622026b2b61a1c1ebc3c2f70f929a45f95038e Mon Sep 17 00:00:00 2001 From: Akira Ohgaki <akiraohgaki@gmail.com> Date: Fri, 16 Jun 2017 17:41:23 +0900 Subject: [PATCH] Check if item installed --- app/src/handlers/itemhandler.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/handlers/itemhandler.cpp b/app/src/handlers/itemhandler.cpp index 52b5128..39aa42b 100644 --- a/app/src/handlers/itemhandler.cpp +++ b/app/src/handlers/itemhandler.cpp @@ -48,6 +48,13 @@ void ItemHandler::getItem(const QString &command, const QString &url, const QStr QJsonObject result; result["metadata"] = metadata; + if (command == "install" && configHandler_->getUsrConfigInstalledItems().contains(itemKey)) { + result["status"] = QString("error_downloadstart"); + result["message"] = tr("The item already installed"); + emit downloadStarted(result); + return; + } + auto itemMetadataSet = metadataSet(); if (itemMetadataSet.contains(itemKey)) { @@ -124,6 +131,14 @@ void ItemHandler::getItemByOcsUrl(const QString &ocsUrl, const QString &provider void ItemHandler::uninstall(const QString &itemKey) { QJsonObject result; + + if (!configHandler_->getUsrConfigInstalledItems().contains(itemKey)) { + result["status"] = QString("error_uninstallstart"); + result["message"] = tr("The item not installed"); + emit uninstallStarted(result); + return; + } + result["status"] = QString("success_uninstallstart"); result["message"] = tr("Uninstalling"); emit uninstallStarted(result); -- GitLab