diff options
Diffstat (limited to 'utils/rbutilqt/base/playerbuildinfo.cpp')
-rw-r--r-- | utils/rbutilqt/base/playerbuildinfo.cpp | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/utils/rbutilqt/base/playerbuildinfo.cpp b/utils/rbutilqt/base/playerbuildinfo.cpp index f118a9fd7a..aba377eafc 100644 --- a/utils/rbutilqt/base/playerbuildinfo.cpp +++ b/utils/rbutilqt/base/playerbuildinfo.cpp | |||
@@ -113,40 +113,46 @@ QVariant PlayerBuildInfo::value(BuildInfo item, BuildType type) | |||
113 | // For build info we don't use that. | 113 | // For build info we don't use that. |
114 | QString target = RbSettings::value(RbSettings::CurrentPlatform).toString().split('.').at(0); | 114 | QString target = RbSettings::value(RbSettings::CurrentPlatform).toString().split('.').at(0); |
115 | 115 | ||
116 | QString s = ServerInfoList[i].name; | 116 | QString serverinfo = ServerInfoList[i].name; |
117 | s.replace(":target:", target); | 117 | serverinfo.replace(":target:", target); |
118 | QString v; | 118 | QString buildtypename; |
119 | switch(type) { | 119 | switch(type) { |
120 | case TypeRelease: | 120 | case TypeRelease: |
121 | v = "release"; | 121 | buildtypename = "release"; |
122 | break; | 122 | break; |
123 | case TypeCandidate: | 123 | case TypeCandidate: |
124 | v = "release-candidate"; | 124 | buildtypename = "release-candidate"; |
125 | break; | 125 | break; |
126 | case TypeDaily: | 126 | case TypeDaily: |
127 | v = "daily"; | 127 | buildtypename = "daily"; |
128 | break; | 128 | break; |
129 | case TypeDevel: | 129 | case TypeDevel: |
130 | v = "development"; | 130 | buildtypename = "development"; |
131 | // manual and fonts don't exist for development builds. We do have an | ||
132 | // URL configured, but need to get the daily version instead. | ||
133 | if(item == BuildManualUrl || item == BuildFontUrl) { | ||
134 | LOG_INFO() << "falling back to daily build for this info value"; | ||
135 | buildtypename = "daily"; | ||
136 | } | ||
131 | break; | 137 | break; |
132 | } | 138 | } |
133 | 139 | ||
134 | QVariant result = QString(); | 140 | QVariant result = QString(); |
135 | if (!serverInfo) | 141 | if (!serverInfo) |
136 | return result; | 142 | return result; |
137 | QStringList version = serverInfo->value(v + "/" + target, "").toStringList(); | 143 | QStringList version = serverInfo->value(buildtypename + "/" + target, "").toStringList(); |
138 | s.replace(":build:", v); | 144 | serverinfo.replace(":build:", buildtypename); |
139 | s.replace(":version:", version.at(0)); | 145 | serverinfo.replace(":version:", version.at(0)); |
140 | 146 | ||
141 | // get value from server build-info | 147 | // get value from server build-info |
142 | // we need to get a version string, otherwise the data is invalid. | 148 | // we need to get a version string, otherwise the data is invalid. |
143 | // For invalid data return an empty string. | 149 | // For invalid data return an empty string. |
144 | if(version.at(0).isEmpty()) { | 150 | if(version.at(0).isEmpty()) { |
145 | LOG_INFO() << s << "(version invalid)"; | 151 | LOG_INFO() << serverinfo << "(version invalid)"; |
146 | return result; | 152 | return result; |
147 | } | 153 | } |
148 | if(!s.isEmpty()) | 154 | if(!serverinfo.isEmpty()) |
149 | result = serverInfo->value(s); | 155 | result = serverInfo->value(serverinfo); |
150 | 156 | ||
151 | // depending on the actual value we need more replacements. | 157 | // depending on the actual value we need more replacements. |
152 | switch(item) { | 158 | switch(item) { |
@@ -163,8 +169,8 @@ QVariant PlayerBuildInfo::value(BuildInfo item, BuildType type) | |||
163 | 169 | ||
164 | case BuildVoiceLangs: | 170 | case BuildVoiceLangs: |
165 | if (type == TypeDaily) | 171 | if (type == TypeDaily) |
166 | s = "voices/daily"; | 172 | serverinfo = "voices/daily"; |
167 | result = serverInfo->value(s); | 173 | result = serverInfo->value(serverinfo); |
168 | break; | 174 | break; |
169 | 175 | ||
170 | case BuildManualUrl: | 176 | case BuildManualUrl: |
@@ -188,7 +194,7 @@ QVariant PlayerBuildInfo::value(BuildInfo item, BuildType type) | |||
188 | .replace("%TARGET%", target) | 194 | .replace("%TARGET%", target) |
189 | .replace("%VERSION%", version.at(0)); | 195 | .replace("%VERSION%", version.at(0)); |
190 | 196 | ||
191 | LOG_INFO() << "B:" << s << result; | 197 | LOG_INFO() << "B:" << serverinfo << result; |
192 | return result; | 198 | return result; |
193 | } | 199 | } |
194 | 200 | ||