From 2509def164ee7f4aecbe6a786df57140f19e35f2 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sat, 14 Nov 2020 16:23:56 +0100 Subject: rbutil: Rework player configuration. - Split internal configuration into player specific and common parts. Always require passing the player for player specific data instead of implicitly assuming the currently selected one; only use the currently selected one if the player name is explicitly passed as empty. - Similarly adjust handling of server info data; prepare for splitting into build type specific values so the naming becomes cleaner. Change-Id: I894e694f83bd9fe2d22ad46b3f8f7df3e2c68033 --- rbutil/rbutilqt/base/systeminfo.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'rbutil/rbutilqt/base/systeminfo.cpp') diff --git a/rbutil/rbutilqt/base/systeminfo.cpp b/rbutil/rbutilqt/base/systeminfo.cpp index d57c12a62b..c9e29a8325 100644 --- a/rbutil/rbutilqt/base/systeminfo.cpp +++ b/rbutil/rbutilqt/base/systeminfo.cpp @@ -49,6 +49,13 @@ const static struct { { SystemInfo::ThemesUrl, "themes_url", "" }, { SystemInfo::ThemesInfoUrl, "themes_info_url", "" }, { SystemInfo::RbutilUrl, "rbutil_url", "" }, +}; + +const static struct { + SystemInfo::PlatformInfo info; + const char* name; + const char* def; +} PlatformInfosList[] = { { SystemInfo::CurPlatformName, ":platform:/name", "" }, { SystemInfo::CurManual, ":platform:/manualname","rockbox-:platform:" }, { SystemInfo::CurBootloaderMethod, ":platform:/bootloadermethod", "none" }, @@ -85,27 +92,27 @@ QVariant SystemInfo::value(enum SystemInfos info) int i = 0; while(SystemInfosList[i].info != info) i++; - QString platform = RbSettings::value(RbSettings::CurrentPlatform).toString(); QString s = SystemInfosList[i].name; - s.replace(":platform:", platform); QString d = SystemInfosList[i].def; - d.replace(":platform:", platform); LOG_INFO() << "GET:" << s << systemInfos->value(s, d).toString(); return systemInfos->value(s, d); } -QVariant SystemInfo::platformValue(QString platform, enum SystemInfos info) +QVariant SystemInfo::platformValue(enum PlatformInfo info, QString platform) { ensureSystemInfoExists(); // locate setting item int i = 0; - while(SystemInfosList[i].info != info) + while(PlatformInfosList[i].info != info) i++; - QString s = SystemInfosList[i].name; + if (platform.isEmpty()) + platform = RbSettings::value(RbSettings::CurrentPlatform).toString(); + + QString s = PlatformInfosList[i].name; s.replace(":platform:", platform); - QString d = SystemInfosList[i].def; + QString d = PlatformInfosList[i].def; d.replace(":platform:", platform); LOG_INFO() << "GET P:" << s << systemInfos->value(s, d).toString(); return systemInfos->value(s, d); -- cgit v1.2.3