diff --git a/src/gui/opkg_manager.cpp b/src/gui/opkg_manager.cpp index 4571480e3..9e6f8f2de 100644 --- a/src/gui/opkg_manager.cpp +++ b/src/gui/opkg_manager.cpp @@ -782,6 +782,30 @@ bool COPKGManager::installPackage(const string& pkg_name, string options, bool f return true; } +bool COPKGManager::isInstalled(const string& pkg_name) +{ + string package = pkg_name; + package = getBaseName(package); + + map::iterator it = pkg_map.find(package); + if (it != pkg_map.end()) + if (it->second.installed) + return true; + return false; +} + +bool COPKGManager::isUpgradable(const string& pkg_name) +{ + string package = pkg_name; + package = getBaseName(package); + + map::iterator it = pkg_map.find(package); + if (it != pkg_map.end()) + if (it->second.upgradable) + return true; + return false; +} + void COPKGManager::showMenuConfigFeed(CMenuWidget *feed_menu) { diff --git a/src/gui/opkg_manager.h b/src/gui/opkg_manager.h index 97b736d90..109672f9d 100644 --- a/src/gui/opkg_manager.h +++ b/src/gui/opkg_manager.h @@ -66,7 +66,7 @@ class COPKGManager : public CMenuTarget bool expert_mode; int menu_offset; std::string *local_dir; - + bool has_err; std::string err_msg; @@ -76,6 +76,8 @@ class COPKGManager : public CMenuTarget }; void getPkgData(const int pkg_content_id); std::string getBlankPkgName(const std::string& line); + bool isInstalled(const std::string& pkg_name); + bool isUpgradable(const std::string& pkg_name); /* * Gets an info from opkg command info or status from a package via keywords as std::string