diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-14 16:23:56 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-14 16:42:29 +0100 |
commit | 2509def164ee7f4aecbe6a786df57140f19e35f2 (patch) | |
tree | 63a7396e1b94482f9f05c3f3abf6c7cd77e10d26 /rbutil/rbutilqt/base/serverinfo.cpp | |
parent | 440083af872da43c116c5374d8e1511cef65abf2 (diff) | |
download | rockbox-2509def164ee7f4aecbe6a786df57140f19e35f2.tar.gz rockbox-2509def164ee7f4aecbe6a786df57140f19e35f2.zip |
rbutil: Rework player configuration.
- Split internal configuration into player specific and common parts.
Always require passing the player for player specific data instead of
implicitly assuming the currently selected one; only use the currently
selected one if the player name is explicitly passed as empty.
- Similarly adjust handling of server info data; prepare for splitting
into build type specific values so the naming becomes cleaner.
Change-Id: I894e694f83bd9fe2d22ad46b3f8f7df3e2c68033
Diffstat (limited to 'rbutil/rbutilqt/base/serverinfo.cpp')
-rw-r--r-- | rbutil/rbutilqt/base/serverinfo.cpp | 56 |
1 files changed, 20 insertions, 36 deletions
diff --git a/rbutil/rbutilqt/base/serverinfo.cpp b/rbutil/rbutilqt/base/serverinfo.cpp index 98a94a5232..505689847d 100644 --- a/rbutil/rbutilqt/base/serverinfo.cpp +++ b/rbutil/rbutilqt/base/serverinfo.cpp | |||
@@ -51,9 +51,9 @@ void ServerInfo::readBuildInfo(QString file) | |||
51 | QSettings info(file, QSettings::IniFormat); | 51 | QSettings info(file, QSettings::IniFormat); |
52 | 52 | ||
53 | QString developmentRevision = info.value("bleeding/rev").toString(); | 53 | QString developmentRevision = info.value("bleeding/rev").toString(); |
54 | setValue(ServerInfo::BleedingRevision, developmentRevision); | 54 | setPlatformValue(ServerInfo::BleedingRevision, "", developmentRevision); |
55 | QDateTime date = QDateTime::fromString(info.value("bleeding/timestamp").toString(), "yyyyMMddThhmmssZ"); | 55 | QDateTime date = QDateTime::fromString(info.value("bleeding/timestamp").toString(), "yyyyMMddThhmmssZ"); |
56 | setValue(ServerInfo::BleedingDate, date.toString(Qt::ISODate)); | 56 | setPlatformValue(ServerInfo::BleedingDate, "", date.toString(Qt::ISODate)); |
57 | 57 | ||
58 | info.beginGroup("release"); | 58 | info.beginGroup("release"); |
59 | QStringList releasekeys = info.allKeys(); | 59 | QStringList releasekeys = info.allKeys(); |
@@ -135,10 +135,10 @@ void ServerInfo::readBuildInfo(QString file) | |||
135 | QString manualHtmlUrl = manualBaseUrl; | 135 | QString manualHtmlUrl = manualBaseUrl; |
136 | QString manualZipUrl = manualBaseUrl; | 136 | QString manualZipUrl = manualBaseUrl; |
137 | 137 | ||
138 | QString buildservermodel = SystemInfo::platformValue(platforms.at(i), | 138 | QString buildservermodel = SystemInfo::platformValue( |
139 | SystemInfo::CurBuildserverModel).toString(); | 139 | SystemInfo::CurBuildserverModel, platforms.at(i)).toString(); |
140 | QString modelman = SystemInfo::platformValue(platforms.at(i), | 140 | QString modelman = SystemInfo::platformValue( |
141 | SystemInfo::CurManual).toString(); | 141 | SystemInfo::CurManual, platforms.at(i)).toString(); |
142 | QString manualBaseName = "rockbox-"; | 142 | QString manualBaseName = "rockbox-"; |
143 | 143 | ||
144 | if(modelman.isEmpty()) manualBaseName += buildservermodel; | 144 | if(modelman.isEmpty()) manualBaseName += buildservermodel; |
@@ -153,45 +153,26 @@ void ServerInfo::readBuildInfo(QString file) | |||
153 | 153 | ||
154 | // set variants (if any) | 154 | // set variants (if any) |
155 | for(int j = 0; j < variants.size(); ++j) { | 155 | for(int j = 0; j < variants.size(); ++j) { |
156 | setPlatformValue(variants.at(j), ServerInfo::CurStatus, status); | 156 | setPlatformValue(ServerInfo::CurStatus, variants.at(j), status); |
157 | if(!releaseUrl.isEmpty()) { | 157 | if(!releaseUrl.isEmpty()) { |
158 | setPlatformValue(variants.at(j), ServerInfo::CurReleaseVersion, releaseVersion); | 158 | setPlatformValue(ServerInfo::CurReleaseVersion, variants.at(j), releaseVersion); |
159 | setPlatformValue(variants.at(j), ServerInfo::CurReleaseUrl, releaseUrl); | 159 | setPlatformValue(ServerInfo::CurReleaseUrl, variants.at(j), releaseUrl); |
160 | } | 160 | } |
161 | if(!relCandidateUrl.isEmpty()) { | 161 | if(!relCandidateUrl.isEmpty()) { |
162 | setPlatformValue(variants.at(j), ServerInfo::RelCandidateVersion, relCandidateVersion); | 162 | setPlatformValue(ServerInfo::RelCandidateVersion, variants.at(j), relCandidateVersion); |
163 | setPlatformValue(variants.at(j), ServerInfo::RelCandidateUrl, relCandidateUrl); | 163 | setPlatformValue(ServerInfo::RelCandidateUrl, variants.at(j), relCandidateUrl); |
164 | } | 164 | } |
165 | setPlatformValue(variants.at(j), ServerInfo::CurDevelUrl, develUrl); | 165 | setPlatformValue(ServerInfo::CurDevelUrl, variants.at(j), develUrl); |
166 | 166 | ||
167 | setPlatformValue(variants.at(j), ServerInfo::ManualPdfUrl, manualPdfUrl); | 167 | setPlatformValue(ServerInfo::ManualPdfUrl, variants.at(j), manualPdfUrl); |
168 | setPlatformValue(variants.at(j), ServerInfo::ManualHtmlUrl, manualHtmlUrl); | 168 | setPlatformValue(ServerInfo::ManualHtmlUrl, variants.at(j), manualHtmlUrl); |
169 | setPlatformValue(variants.at(j), ServerInfo::ManualZipUrl, manualZipUrl); | 169 | setPlatformValue(ServerInfo::ManualZipUrl, variants.at(j), manualZipUrl); |
170 | } | 170 | } |
171 | } | 171 | } |
172 | } | 172 | } |
173 | 173 | ||
174 | 174 | ||
175 | QVariant ServerInfo::value(enum ServerInfos info) | 175 | void ServerInfo::setPlatformValue(enum ServerInfos info, QString platform, QVariant value) |
176 | { | ||
177 | // locate info item | ||
178 | int i = 0; | ||
179 | while(ServerInfoList[i].info != info) | ||
180 | i++; | ||
181 | |||
182 | QString s = ServerInfoList[i].name; | ||
183 | s.replace(":platform:", RbSettings::value(RbSettings::CurrentPlatform).toString()); | ||
184 | LOG_INFO() << "GET:" << s << serverInfos.value(s, ServerInfoList[i].def).toString(); | ||
185 | return serverInfos.value(s, ServerInfoList[i].def); | ||
186 | } | ||
187 | |||
188 | void ServerInfo::setValue(enum ServerInfos setting, QVariant value) | ||
189 | { | ||
190 | QString empty; | ||
191 | return setPlatformValue(empty, setting, value); | ||
192 | } | ||
193 | |||
194 | void ServerInfo::setPlatformValue(QString platform, enum ServerInfos info, QVariant value) | ||
195 | { | 176 | { |
196 | // locate setting item | 177 | // locate setting item |
197 | int i = 0; | 178 | int i = 0; |
@@ -204,13 +185,16 @@ void ServerInfo::setPlatformValue(QString platform, enum ServerInfos info, QVari | |||
204 | LOG_INFO() << "SET:" << s << serverInfos.value(s).toString(); | 185 | LOG_INFO() << "SET:" << s << serverInfos.value(s).toString(); |
205 | } | 186 | } |
206 | 187 | ||
207 | QVariant ServerInfo::platformValue(QString platform, enum ServerInfos info) | 188 | QVariant ServerInfo::platformValue(enum ServerInfos info, QString platform) |
208 | { | 189 | { |
209 | // locate setting item | 190 | // locate setting item |
210 | int i = 0; | 191 | int i = 0; |
211 | while(ServerInfoList[i].info != info) | 192 | while(ServerInfoList[i].info != info) |
212 | i++; | 193 | i++; |
213 | 194 | ||
195 | if(platform.isEmpty()) | ||
196 | platform = RbSettings::value(RbSettings::CurrentPlatform).toString(); | ||
197 | |||
214 | QString s = ServerInfoList[i].name; | 198 | QString s = ServerInfoList[i].name; |
215 | s.replace(":platform:", platform); | 199 | s.replace(":platform:", platform); |
216 | QString d = ServerInfoList[i].def; | 200 | QString d = ServerInfoList[i].def; |