summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/autodetection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/base/autodetection.cpp')
-rw-r--r--rbutil/rbutilqt/base/autodetection.cpp87
1 files changed, 22 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
372void 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}