diff options
Diffstat (limited to 'rbutil/rbutilqt/base/systeminfo.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/systeminfo.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/rbutil/rbutilqt/base/systeminfo.cpp b/rbutil/rbutilqt/base/systeminfo.cpp index d5de5fff2a..a941f43078 100644 --- a/rbutil/rbutilqt/base/systeminfo.cpp +++ b/rbutil/rbutilqt/base/systeminfo.cpp | |||
@@ -118,18 +118,25 @@ QStringList SystemInfo::platforms(enum SystemInfo::PlatformType type, QString va | |||
118 | for(int i = 0; i < a.size(); i++) | 118 | for(int i = 0; i < a.size(); i++) |
119 | { | 119 | { |
120 | QString target = systemInfos->value("platforms/"+a.at(i), "null").toString(); | 120 | QString target = systemInfos->value("platforms/"+a.at(i), "null").toString(); |
121 | // only add target if its not disabled | 121 | QRegExp regex("\\..*$"); |
122 | if(type != PlatformAllDisabled | 122 | QString targetbase = target; |
123 | targetbase.remove(regex); | ||
124 | // only add target if its not disabled unless Platform*Disabled requested | ||
125 | if(type != PlatformAllDisabled && type != PlatformBaseDisabled | ||
126 | && type != PlatformVariantDisabled | ||
123 | && systemInfos->value(target+"/status").toString() == "disabled") | 127 | && systemInfos->value(target+"/status").toString() == "disabled") |
124 | continue; | 128 | continue; |
125 | // report only base targets when PlatformBase is requested | 129 | // report only matching target if PlatformVariant* is requested |
126 | if(type == PlatformBase && target.contains('.')) | 130 | if((type == PlatformVariant || type == PlatformVariantDisabled) |
131 | && (targetbase != variant)) | ||
127 | continue; | 132 | continue; |
128 | // report only matching target if PlatformVariant is requested | 133 | // report only base targets when PlatformBase* is requested |
129 | if(type == PlatformVariant && !target.startsWith(variant)) | 134 | if((type == PlatformBase || type == PlatformBaseDisabled)) |
130 | continue; | 135 | result.append(targetbase); |
131 | result.append(target); | 136 | else |
137 | result.append(target); | ||
132 | } | 138 | } |
139 | result.removeDuplicates(); | ||
133 | return result; | 140 | return result; |
134 | } | 141 | } |
135 | 142 | ||