summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2008-04-03 20:05:13 +0000
committerDominik Wenger <domonoky@googlemail.com>2008-04-03 20:05:13 +0000
commit136388114846f55ffc3724e6bc482e746df0dfe5 (patch)
treed88e4e11d8ccd86f7fa183c759fbee8c2ee61c7a
parent8143f4987652525b35cc8fa592fda3c85960085e (diff)
downloadrockbox-136388114846f55ffc3724e6bc482e746df0dfe5.tar.gz
rockbox-136388114846f55ffc3724e6bc482e746df0dfe5.zip
rbutil:let autodetection::detectUsb also use the rbsettings object.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16952 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/autodetection.cpp25
-rw-r--r--rbutil/rbutilqt/autodetection.h6
-rw-r--r--rbutil/rbutilqt/configure.cpp1
-rw-r--r--rbutil/rbutilqt/rbsettings.cpp49
-rw-r--r--rbutil/rbutilqt/rbsettings.h5
5 files changed, 61 insertions, 25 deletions
diff --git a/rbutil/rbutilqt/autodetection.cpp b/rbutil/rbutilqt/autodetection.cpp
index d9b77514a8..34a0db4df3 100644
--- a/rbutil/rbutilqt/autodetection.cpp
+++ b/rbutil/rbutilqt/autodetection.cpp
@@ -256,32 +256,11 @@ QString Autodetection::resolveMountPoint(QString device)
256 */ 256 */
257bool Autodetection::detectUsb() 257bool Autodetection::detectUsb()
258{ 258{
259 // autodetection uses the buildin device settings only
260 QSettings dev(":/ini/rbutil.ini", QSettings::IniFormat, this);
261
262 // get a list of ID -> target name
263 QStringList platforms;
264 dev.beginGroup("platforms");
265 platforms = dev.childKeys();
266 dev.endGroup();
267
268 // usbids holds the mapping in the form 259 // usbids holds the mapping in the form
269 // ((VID<<16)|(PID)), targetname 260 // ((VID<<16)|(PID)), targetname
270 // the ini file needs to hold the IDs as hex values. 261 // the ini file needs to hold the IDs as hex values.
271 QMap<int, QString> usbids; 262 QMap<int, QString> usbids = settings->usbIdMap();
272 QMap<int, QString> usberror; 263 QMap<int, QString> usberror = settings->usbIdErrorMap();
273
274 for(int i = 0; i < platforms.size(); i++) {
275 dev.beginGroup("platforms");
276 QString target = dev.value(platforms.at(i)).toString();
277 dev.endGroup();
278 dev.beginGroup(target);
279 if(!dev.value("usbid").toString().isEmpty())
280 usbids.insert(dev.value("usbid").toString().toInt(0, 16), target);
281 if(!dev.value("usberror").toString().isEmpty())
282 usberror.insert(dev.value("usberror").toString().toInt(0, 16), target);
283 dev.endGroup();
284 }
285 264
286 // usb pid detection 265 // usb pid detection
287#if defined(Q_OS_LINUX) | defined(Q_OS_MACX) 266#if defined(Q_OS_LINUX) | defined(Q_OS_MACX)
diff --git a/rbutil/rbutilqt/autodetection.h b/rbutil/rbutilqt/autodetection.h
index ec89dbf6cd..ed70233c52 100644
--- a/rbutil/rbutilqt/autodetection.h
+++ b/rbutil/rbutilqt/autodetection.h
@@ -22,6 +22,7 @@
22#define AUTODETECTION_H_ 22#define AUTODETECTION_H_
23 23
24#include <QtCore> 24#include <QtCore>
25#include "rbsettings.h"
25 26
26extern "C" { 27extern "C" {
27 // Ipodpatcher 28 // Ipodpatcher
@@ -35,7 +36,9 @@ class Autodetection :public QObject
35 36
36public: 37public:
37 Autodetection(QObject* parent=0); 38 Autodetection(QObject* parent=0);
38 39
40 void setSettings(RbSettings* sett) {settings = sett;}
41
39 bool detect(); 42 bool detect();
40 43
41 QString getDevice() {return m_device;} 44 QString getDevice() {return m_device;}
@@ -52,6 +55,7 @@ private:
52 QString m_mountpoint; 55 QString m_mountpoint;
53 QString m_errdev; 56 QString m_errdev;
54 QList<int> m_usbconid; 57 QList<int> m_usbconid;
58 RbSettings* settings;
55}; 59};
56 60
57 61
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index aad6f32029..61d3d7e457 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -489,6 +489,7 @@ void Config::setCache(QString c)
489void Config::autodetect() 489void Config::autodetect()
490{ 490{
491 Autodetection detector(this); 491 Autodetection detector(this);
492 detector.setSettings(settings);
492 493
493 if(detector.detect()) //let it detect 494 if(detector.detect()) //let it detect
494 { 495 {
diff --git a/rbutil/rbutilqt/rbsettings.cpp b/rbutil/rbutilqt/rbsettings.cpp
index 7f4864f515..8782e53a26 100644
--- a/rbutil/rbutilqt/rbsettings.cpp
+++ b/rbutil/rbutilqt/rbsettings.cpp
@@ -410,6 +410,55 @@ QString RbSettings::brand(QString plattform)
410 return brand; 410 return brand;
411} 411}
412 412
413QMap<int, QString> RbSettings::usbIdMap()
414{
415 QMap<int, QString> map;
416 // get a list of ID -> target name
417 QStringList platforms;
418 devices->beginGroup("platforms");
419 platforms = devices->childKeys();
420 devices->endGroup();
421
422 for(int i = 0; i < platforms.size(); i++)
423 {
424 devices->beginGroup("platforms");
425 QString target = devices->value(platforms.at(i)).toString();
426 devices->endGroup();
427 devices->beginGroup(target);
428 if(!devices->value("usbid").toString().isEmpty())
429 map.insert(devices->value("usbid").toString().toInt(0, 16), target);
430 devices->endGroup();
431 }
432
433 return map;
434}
435
436QMap<int, QString> RbSettings::usbIdErrorMap()
437{
438
439 QMap<int, QString> map;
440 // get a list of ID -> target name
441 QStringList platforms;
442 devices->beginGroup("platforms");
443 platforms = devices->childKeys();
444 devices->endGroup();
445
446 for(int i = 0; i < platforms.size(); i++)
447 {
448 devices->beginGroup("platforms");
449 QString target = devices->value(platforms.at(i)).toString();
450 devices->endGroup();
451 devices->beginGroup(target);
452 if(!devices->value("usberror").toString().isEmpty())
453 map.insert(devices->value("usberror").toString().toInt(0, 16), target);
454 devices->endGroup();
455 }
456
457 return map;
458}
459
460
461
413QString RbSettings::curResolution() 462QString RbSettings::curResolution()
414{ 463{
415 QString platform = userSettings->value("platform").toString(); 464 QString platform = userSettings->value("platform").toString();
diff --git a/rbutil/rbutilqt/rbsettings.h b/rbutil/rbutilqt/rbsettings.h
index 3218f30b0e..d7c0ab2d97 100644
--- a/rbutil/rbutilqt/rbsettings.h
+++ b/rbutil/rbutilqt/rbsettings.h
@@ -81,7 +81,10 @@ class RbSettings : public QObject
81 QString name(QString plattform); 81 QString name(QString plattform);
82 QString brand(QString plattform); 82 QString brand(QString plattform);
83 QStringList allLanguages(); 83 QStringList allLanguages();
84 84 QMap<int, QString> usbIdMap();
85 QMap<int, QString> usbIdErrorMap();
86
87
85 bool curNeedsBootloader(); 88 bool curNeedsBootloader();
86 QString curBrand(); 89 QString curBrand();
87 QString curName(); 90 QString curName();