diff options
Diffstat (limited to 'rbutil/rbutilqt/base/playerbuildinfo.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/playerbuildinfo.cpp | 47 |
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 | ||
71 | const static struct { | 73 | const 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 | |||
278 | QStringList 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 | |||