diff options
Diffstat (limited to 'rbutil/rbutilqt/base/systeminfo.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/systeminfo.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/rbutil/rbutilqt/base/systeminfo.cpp b/rbutil/rbutilqt/base/systeminfo.cpp index 3760901c15..ff221db63d 100644 --- a/rbutil/rbutilqt/base/systeminfo.cpp +++ b/rbutil/rbutilqt/base/systeminfo.cpp | |||
@@ -107,7 +107,7 @@ QVariant SystemInfo::platformValue(QString platform, enum SystemInfos info) | |||
107 | return systemInfos->value(s, d); | 107 | return systemInfos->value(s, d); |
108 | } | 108 | } |
109 | 109 | ||
110 | QStringList SystemInfo::platforms() | 110 | QStringList SystemInfo::platforms(enum SystemInfo::PlatformType type, QString variant) |
111 | { | 111 | { |
112 | ensureSystemInfoExists(); | 112 | ensureSystemInfoExists(); |
113 | 113 | ||
@@ -117,10 +117,17 @@ QStringList SystemInfo::platforms() | |||
117 | systemInfos->endGroup(); | 117 | systemInfos->endGroup(); |
118 | for(int i = 0; i < a.size(); i++) | 118 | for(int i = 0; i < a.size(); i++) |
119 | { | 119 | { |
120 | //only add not disabled targets | ||
121 | QString target = systemInfos->value("platforms/"+a.at(i), "null").toString(); | 120 | QString target = systemInfos->value("platforms/"+a.at(i), "null").toString(); |
122 | if(systemInfos->value(target+"/status").toString() != "disabled") | 121 | // only add target if its not disabled |
123 | result.append(target); | 122 | if(systemInfos->value(target+"/status").toString() == "disabled") |
123 | continue; | ||
124 | // report only base targets when PlatformBase is requested | ||
125 | if(type == PlatformBase && target.contains('.')) | ||
126 | continue; | ||
127 | // report only matching target if PlatformVariant is requested | ||
128 | if(type == PlatformVariant && !target.startsWith(variant)) | ||
129 | continue; | ||
130 | result.append(target); | ||
124 | } | 131 | } |
125 | return result; | 132 | return result; |
126 | } | 133 | } |