diff options
Diffstat (limited to 'rbutil')
-rw-r--r-- | rbutil/rbutilqt/autodetection.cpp | 25 | ||||
-rw-r--r-- | rbutil/rbutilqt/autodetection.h | 6 | ||||
-rw-r--r-- | rbutil/rbutilqt/configure.cpp | 1 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbsettings.cpp | 49 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbsettings.h | 5 |
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 | */ |
257 | bool Autodetection::detectUsb() | 257 | bool 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 | ||
26 | extern "C" { | 27 | extern "C" { |
27 | // Ipodpatcher | 28 | // Ipodpatcher |
@@ -35,7 +36,9 @@ class Autodetection :public QObject | |||
35 | 36 | ||
36 | public: | 37 | public: |
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) | |||
489 | void Config::autodetect() | 489 | void 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 | ||
413 | QMap<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 | |||
436 | QMap<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 | |||
413 | QString RbSettings::curResolution() | 462 | QString 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(); |