diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2013-09-20 21:03:51 +0200 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2013-09-30 23:42:21 +0200 |
commit | 1977281bb3de54db1be7527bdea3ab9089f15011 (patch) | |
tree | 00ade001b93d87547e13f497738030eabf1a8adf | |
parent | 310e7b494381622ed00a11ab42ce00f16c1bfef7 (diff) | |
download | rockbox-1977281bb3de54db1be7527bdea3ab9089f15011.tar.gz rockbox-1977281bb3de54db1be7527bdea3ab9089f15011.zip |
Use function for updating detected device entry.
Use a function instead of looking for an existing entry and creating a new one
if necessary every time.
Change-Id: I7b385dad7366f27370545a7d1a9f7052510cca11
-rw-r--r-- | rbutil/rbutilqt/base/autodetection.cpp | 87 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/autodetection.h | 1 |
2 files changed, 23 insertions, 65 deletions
diff --git a/rbutil/rbutilqt/base/autodetection.cpp b/rbutil/rbutilqt/base/autodetection.cpp index 2d7476502a..4b3d1a1ab1 100644 --- a/rbutil/rbutilqt/base/autodetection.cpp +++ b/rbutil/rbutilqt/base/autodetection.cpp | |||
@@ -138,18 +138,11 @@ void Autodetection::mergeMounted(void) | |||
138 | QSettings log(mounts.at(i) + "/.rockbox/rbutil.log", | 138 | QSettings log(mounts.at(i) + "/.rockbox/rbutil.log", |
139 | QSettings::IniFormat, this); | 139 | QSettings::IniFormat, this); |
140 | if(!log.value("platform").toString().isEmpty()) { | 140 | if(!log.value("platform").toString().isEmpty()) { |
141 | int index = findDetectedDevice(log.value("platform").toString()); | ||
142 | struct Detected d; | 141 | struct Detected d; |
143 | d.device = log.value("platform").toString(); | 142 | d.device = log.value("platform").toString(); |
144 | d.mountpoint = mounts.at(i); | 143 | d.mountpoint = mounts.at(i); |
145 | d.status = PlayerOk; | 144 | d.status = PlayerOk; |
146 | if(index < 0) { | 145 | updateDetectedDevice(d); |
147 | m_detected.append(d); | ||
148 | } | ||
149 | else { | ||
150 | m_detected.takeAt(index); | ||
151 | m_detected.append(d); | ||
152 | } | ||
153 | qDebug() << "[Autodetect] rbutil.log detected:" | 146 | qDebug() << "[Autodetect] rbutil.log detected:" |
154 | << log.value("platform").toString() << mounts.at(i); | 147 | << log.value("platform").toString() << mounts.at(i); |
155 | } | 148 | } |
@@ -159,18 +152,11 @@ void Autodetection::mergeMounted(void) | |||
159 | RockboxInfo info(mounts.at(i)); | 152 | RockboxInfo info(mounts.at(i)); |
160 | if(info.success()) | 153 | if(info.success()) |
161 | { | 154 | { |
162 | int index = findDetectedDevice(info.target()); | ||
163 | struct Detected d; | 155 | struct Detected d; |
164 | d.device = info.target(); | 156 | d.device = info.target(); |
165 | d.mountpoint = mounts.at(i); | 157 | d.mountpoint = mounts.at(i); |
166 | d.status = PlayerOk; | 158 | d.status = PlayerOk; |
167 | if(index < 0) { | 159 | updateDetectedDevice(d); |
168 | m_detected.append(d); | ||
169 | } | ||
170 | else { | ||
171 | m_detected.takeAt(index); | ||
172 | m_detected.append(d); | ||
173 | } | ||
174 | qDebug() << "[Autodetect] rockbox-info.txt detected:" | 160 | qDebug() << "[Autodetect] rockbox-info.txt detected:" |
175 | << info.target() << mounts.at(i); | 161 | << info.target() << mounts.at(i); |
176 | } | 162 | } |
@@ -185,7 +171,7 @@ void Autodetection::mergeMounted(void) | |||
185 | d.device = "player"; | 171 | d.device = "player"; |
186 | d.mountpoint = mounts.at(i); | 172 | d.mountpoint = mounts.at(i); |
187 | d.status = PlayerOk; | 173 | d.status = PlayerOk; |
188 | m_detected.append(d); | 174 | updateDetectedDevice(d); |
189 | } | 175 | } |
190 | if(rootentries.contains("ONDIOST.BIN", Qt::CaseInsensitive)) | 176 | if(rootentries.contains("ONDIOST.BIN", Qt::CaseInsensitive)) |
191 | { | 177 | { |
@@ -194,14 +180,7 @@ void Autodetection::mergeMounted(void) | |||
194 | d.device = "ondiofm"; | 180 | d.device = "ondiofm"; |
195 | d.mountpoint = mounts.at(i); | 181 | d.mountpoint = mounts.at(i); |
196 | d.status = PlayerOk; | 182 | d.status = PlayerOk; |
197 | int index = findDetectedDevice("ondiofm"); | 183 | updateDetectedDevice(d); |
198 | if(index < 0) { | ||
199 | m_detected.append(d); | ||
200 | } | ||
201 | else { | ||
202 | m_detected.takeAt(index); | ||
203 | m_detected.append(d); | ||
204 | } | ||
205 | } | 184 | } |
206 | if(rootentries.contains("ONDIOSP.BIN", Qt::CaseInsensitive)) | 185 | if(rootentries.contains("ONDIOSP.BIN", Qt::CaseInsensitive)) |
207 | { | 186 | { |
@@ -210,14 +189,7 @@ void Autodetection::mergeMounted(void) | |||
210 | d.device = "ondiosp"; | 189 | d.device = "ondiosp"; |
211 | d.mountpoint = mounts.at(i); | 190 | d.mountpoint = mounts.at(i); |
212 | d.status = PlayerOk; | 191 | d.status = PlayerOk; |
213 | int index = findDetectedDevice("ondiosp"); | 192 | updateDetectedDevice(d); |
214 | if(index < 0) { | ||
215 | m_detected.append(d); | ||
216 | } | ||
217 | else { | ||
218 | m_detected.takeAt(index); | ||
219 | m_detected.append(d); | ||
220 | } | ||
221 | } | 193 | } |
222 | if(rootentries.contains("ajbrec.ajz", Qt::CaseInsensitive)) | 194 | if(rootentries.contains("ajbrec.ajz", Qt::CaseInsensitive)) |
223 | { | 195 | { |
@@ -228,14 +200,7 @@ void Autodetection::mergeMounted(void) | |||
228 | d.status = PlayerOk; | 200 | d.status = PlayerOk; |
229 | if(!d.device.isEmpty()) { | 201 | if(!d.device.isEmpty()) { |
230 | qDebug() << "[Autodetect]" << d.device; | 202 | qDebug() << "[Autodetect]" << d.device; |
231 | int index = findDetectedDevice("ondiosp"); | 203 | updateDetectedDevice(d); |
232 | if(index < 0) { | ||
233 | m_detected.append(d); | ||
234 | } | ||
235 | else { | ||
236 | m_detected.takeAt(index); | ||
237 | m_detected.append(d); | ||
238 | } | ||
239 | } | 204 | } |
240 | } | 205 | } |
241 | // detection based on player specific folders | 206 | // detection based on player specific folders |
@@ -247,14 +212,7 @@ void Autodetection::mergeMounted(void) | |||
247 | struct Detected d; | 212 | struct Detected d; |
248 | d.device = "gigabeatf"; | 213 | d.device = "gigabeatf"; |
249 | d.mountpoint = mounts.at(i); | 214 | d.mountpoint = mounts.at(i); |
250 | int index = findDetectedDevice("ondiosp"); | 215 | updateDetectedDevice(d); |
251 | if(index < 0) { | ||
252 | m_detected.append(d); | ||
253 | } | ||
254 | else { | ||
255 | m_detected.takeAt(index); | ||
256 | m_detected.append(d); | ||
257 | } | ||
258 | } | 216 | } |
259 | } | 217 | } |
260 | } | 218 | } |
@@ -315,14 +273,7 @@ void Autodetection::mergePatcher(void) | |||
315 | d.status = PlayerWrongFilesystem; | 273 | d.status = PlayerWrongFilesystem; |
316 | else | 274 | else |
317 | d.status = PlayerOk; | 275 | d.status = PlayerOk; |
318 | int index = findDetectedDevice(ipod.targetname); | 276 | updateDetectedDevice(d); |
319 | if(index < 0) { | ||
320 | m_detected.append(d); | ||
321 | } | ||
322 | else { | ||
323 | m_detected.takeAt(index); | ||
324 | m_detected.append(d); | ||
325 | } | ||
326 | } | 277 | } |
327 | else { | 278 | else { |
328 | qDebug() << "[Autodetect] ipodpatcher: no Ipod found." << n; | 279 | qDebug() << "[Autodetect] ipodpatcher: no Ipod found." << n; |
@@ -348,14 +299,7 @@ void Autodetection::mergePatcher(void) | |||
348 | d.device = QString("sansa%1").arg(sansa.targetname); | 299 | d.device = QString("sansa%1").arg(sansa.targetname); |
349 | d.mountpoint = Utils::resolveMountPoint(mp); | 300 | d.mountpoint = Utils::resolveMountPoint(mp); |
350 | d.status = PlayerOk; | 301 | d.status = PlayerOk; |
351 | int index = findDetectedDevice(d.device); | 302 | updateDetectedDevice(d); |
352 | if(index < 0) { | ||
353 | m_detected.append(d); | ||
354 | } | ||
355 | else { | ||
356 | m_detected.takeAt(index); | ||
357 | m_detected.append(d); | ||
358 | } | ||
359 | } | 303 | } |
360 | else { | 304 | else { |
361 | qDebug() << "[Autodetect] sansapatcher: no Sansa found." << n; | 305 | qDebug() << "[Autodetect] sansapatcher: no Sansa found." << n; |
@@ -423,3 +367,16 @@ int Autodetection::findDetectedDevice(QString device) | |||
423 | } | 367 | } |
424 | return -1; | 368 | return -1; |
425 | } | 369 | } |
370 | |||
371 | |||
372 | void Autodetection::updateDetectedDevice(Detected& entry) | ||
373 | { | ||
374 | int index = findDetectedDevice(entry.device); | ||
375 | if(index < 0) { | ||
376 | m_detected.append(entry); | ||
377 | } | ||
378 | else { | ||
379 | m_detected.takeAt(index); | ||
380 | m_detected.append(entry); | ||
381 | } | ||
382 | } | ||
diff --git a/rbutil/rbutilqt/base/autodetection.h b/rbutil/rbutilqt/base/autodetection.h index c3c7fc9168..f9adf2aa0c 100644 --- a/rbutil/rbutilqt/base/autodetection.h +++ b/rbutil/rbutilqt/base/autodetection.h | |||
@@ -61,6 +61,7 @@ private: | |||
61 | void mergePatcher(void); | 61 | void mergePatcher(void); |
62 | QString detectAjbrec(QString); | 62 | QString detectAjbrec(QString); |
63 | int findDetectedDevice(QString device); | 63 | int findDetectedDevice(QString device); |
64 | void updateDetectedDevice(struct Detected& entry); | ||
64 | 65 | ||
65 | QList<struct Detected> m_detected; | 66 | QList<struct Detected> m_detected; |
66 | QList<int> m_usbconid; | 67 | QList<int> m_usbconid; |