summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/playerbuildinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/base/playerbuildinfo.cpp')
-rw-r--r--rbutil/rbutilqt/base/playerbuildinfo.cpp47
1 files changed, 38 insertions, 9 deletions
diff --git a/rbutil/rbutilqt/base/playerbuildinfo.cpp b/rbutil/rbutilqt/base/playerbuildinfo.cpp
index fb8b121e8f..f49917cfef 100644
--- a/rbutil/rbutilqt/base/playerbuildinfo.cpp
+++ b/rbutil/rbutilqt/base/playerbuildinfo.cpp
@@ -57,15 +57,17 @@ const static struct {
57 PlayerBuildInfo::DeviceInfo item; 57 PlayerBuildInfo::DeviceInfo item;
58 const char* name; 58 const char* name;
59} PlayerInfoList[] = { 59} PlayerInfoList[] = {
60 { PlayerBuildInfo::BuildStatus, "status/:target:" }, 60 { PlayerBuildInfo::BuildStatus, "status/:target:" },
61 { PlayerBuildInfo::DisplayName, ":target:/name" }, 61 { PlayerBuildInfo::DisplayName, ":target:/name" },
62 { PlayerBuildInfo::BootloaderMethod, ":target:/bootloadermethod" }, 62 { PlayerBuildInfo::BootloaderMethod, ":target:/bootloadermethod" },
63 { PlayerBuildInfo::BootloaderName, ":target:/bootloadername" }, 63 { PlayerBuildInfo::BootloaderName, ":target:/bootloadername" },
64 { PlayerBuildInfo::BootloaderFile, ":target:/bootloaderfile" }, 64 { PlayerBuildInfo::BootloaderFile, ":target:/bootloaderfile" },
65 { PlayerBuildInfo::BootloaderFilter, ":target:/bootloaderfilter" }, 65 { PlayerBuildInfo::BootloaderFilter, ":target:/bootloaderfilter" },
66 { PlayerBuildInfo::Encoder, ":target:/encoder" }, 66 { PlayerBuildInfo::Encoder, ":target:/encoder" },
67 { PlayerBuildInfo::Brand, ":target:/brand" }, 67 { PlayerBuildInfo::Brand, ":target:/brand" },
68 { PlayerBuildInfo::PlayerPicture, ":target:/playerpic" }, 68 { PlayerBuildInfo::PlayerPicture, ":target:/playerpic" },
69 { PlayerBuildInfo::TargetNamesAll, "" },
70 { PlayerBuildInfo::TargetNamesEnabled, "" },
69}; 71};
70 72
71const static struct { 73const static struct {
@@ -216,6 +218,14 @@ QVariant PlayerBuildInfo::value(DeviceInfo item, QString target)
216 result = -1; 218 result = -1;
217 break; 219 break;
218 } 220 }
221 case TargetNamesAll:
222 // list of all internal target names. Doesn't depend on the passed target.
223 result = targetNames(true);
224 break;
225 case TargetNamesEnabled:
226 // list of all non-disabled target names. Doesn't depend on the passed target.
227 result = targetNames(false);
228 break;
219 229
220 default: 230 default:
221 result = playerInfo.value(s); 231 result = playerInfo.value(s);
@@ -263,3 +273,22 @@ QString PlayerBuildInfo::statusAsString(QString platform)
263 273
264 return result; 274 return result;
265} 275}
276
277
278QStringList PlayerBuildInfo::targetNames(bool all)
279{
280 QStringList result;
281 playerInfo.beginGroup("platforms");
282 QStringList a = playerInfo.childKeys();
283 playerInfo.endGroup();
284 for(int i = 0; i < a.size(); i++)
285 {
286 QString target = playerInfo.value("platforms/" + a.at(i), "null").toString();
287 if(playerInfo.value(target + "/status").toString() != "disabled" || all) {
288 result.append(target);
289 }
290 }
291 result.removeDuplicates();
292 return result;
293}
294