From 202563d296e5e9d8ec610523c39ad9b0f3bde6ed Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Sun, 18 Sep 2022 15:04:54 +0200 Subject: [PATCH] imageinfo: get package version from package manager instead source Works only if ENABLE_PKG_MANAGEMENT is enabled --- src/gui/imageinfo.cpp | 32 ++++++++++++++++++++++++-------- src/gui/imageinfo.h | 8 ++++++++ 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/gui/imageinfo.cpp b/src/gui/imageinfo.cpp index ef6d4767a..96060c094 100644 --- a/src/gui/imageinfo.cpp +++ b/src/gui/imageinfo.cpp @@ -365,14 +365,7 @@ void CImageInfo::InitInfoData() v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_CREATOR), creator}); //gui - v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_GUI), config.getString("gui", PACKAGE_NAME)}); - -#ifdef VCS - //gui vcs - v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_VCS), VCS}); -#else - v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_VCS), PACKAGE_VERSION_GIT}); -#endif + initGuiInfo(); //stb info initHalInfo(); @@ -397,6 +390,29 @@ void CImageInfo::initBuildDateInfo() v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_DATE), builddate}); } +void CImageInfo::initGuiInfo() +{ + string gui_info = PACKAGE_NAME; +#if ENABLE_PKG_MANAGEMENT + string pkg_name = "neutrino-mp"; + gui_info += " ("; + gui_info += pkg_name; + gui_info += " "; + gui_info += man.getPkgInfo(pkg_name, "Version", true); + gui_info += ")"; +#endif + v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_GUI), config.getString("gui", gui_info)}); + +#ifndef ENABLE_PKG_MANAGEMENT +# ifdef VCS + //gui vcs + v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_VCS), VCS}); +# else + v_info.push_back({g_Locale->getText(LOCALE_IMAGEINFO_VCS), PACKAGE_VERSION_GIT}); +# endif +#endif +} + void CImageInfo::initHalInfo() { #if USE_STB_HAL diff --git a/src/gui/imageinfo.h b/src/gui/imageinfo.h index 29f0cba3b..5b4af5113 100644 --- a/src/gui/imageinfo.h +++ b/src/gui/imageinfo.h @@ -35,6 +35,10 @@ #include #include +#if ENABLE_PKG_MANAGEMENT +#include "opkg_manager.h" +#endif + typedef struct image_info_t { std::string caption; @@ -52,6 +56,9 @@ class CImageInfo : public CMenuTarget int y_tmp; std::vector v_info; +#if ENABLE_PKG_MANAGEMENT + COPKGManager man; +#endif void Clean(); void Init(); void InitInfoData(); @@ -60,6 +67,7 @@ class CImageInfo : public CMenuTarget void InitBuildInfos(); void initBuildDateInfo(); void initKernelInfo(); + void initGuiInfo(); void initHalInfo(); void InitInfoText(const std::string& text); void initSupportInfo();