diff options
Diffstat (limited to 'rbutil')
-rw-r--r-- | rbutil/rbutilqt/base/autodetection.cpp | 12 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/systeminfo.cpp | 19 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/systeminfo.h | 2 |
3 files changed, 21 insertions, 12 deletions
diff --git a/rbutil/rbutilqt/base/autodetection.cpp b/rbutil/rbutilqt/base/autodetection.cpp index 6427d929c4..0206502202 100644 --- a/rbutil/rbutilqt/base/autodetection.cpp +++ b/rbutil/rbutilqt/base/autodetection.cpp | |||
@@ -43,12 +43,12 @@ bool Autodetection::detect() | |||
43 | 43 | ||
44 | // Try detection via rockbox.info / rbutil.log | 44 | // Try detection via rockbox.info / rbutil.log |
45 | QStringList mounts = Utils::mountpoints(); | 45 | QStringList mounts = Utils::mountpoints(); |
46 | qDebug() << "[Autodetect] paths to check:" << mounts; | ||
46 | 47 | ||
47 | for(int i=0; i< mounts.size();i++) | 48 | for(int i=0; i< mounts.size();i++) |
48 | { | 49 | { |
49 | // do the file checking | 50 | // do the file checking |
50 | QDir dir(mounts.at(i)); | 51 | QDir dir(mounts.at(i)); |
51 | qDebug() << "[Autodetect] paths to check:" << mounts; | ||
52 | if(dir.exists()) | 52 | if(dir.exists()) |
53 | { | 53 | { |
54 | // check logfile first. | 54 | // check logfile first. |
@@ -205,9 +205,9 @@ bool Autodetection::detectUsb() | |||
205 | // usbids holds the mapping in the form | 205 | // usbids holds the mapping in the form |
206 | // ((VID<<16)|(PID)), targetname | 206 | // ((VID<<16)|(PID)), targetname |
207 | // the ini file needs to hold the IDs as hex values. | 207 | // the ini file needs to hold the IDs as hex values. |
208 | QMap<int, QString> usbids = SystemInfo::usbIdMap(SystemInfo::MapDevice); | 208 | QMap<int, QStringList> usbids = SystemInfo::usbIdMap(SystemInfo::MapDevice); |
209 | QMap<int, QString> usberror = SystemInfo::usbIdMap(SystemInfo::MapError); | 209 | QMap<int, QStringList> usberror = SystemInfo::usbIdMap(SystemInfo::MapError); |
210 | QMap<int, QString> usbincompat = SystemInfo::usbIdMap(SystemInfo::MapIncompatible); | 210 | QMap<int, QStringList> usbincompat = SystemInfo::usbIdMap(SystemInfo::MapIncompatible); |
211 | 211 | ||
212 | // usb pid detection | 212 | // usb pid detection |
213 | QList<uint32_t> attached; | 213 | QList<uint32_t> attached; |
@@ -216,12 +216,12 @@ bool Autodetection::detectUsb() | |||
216 | int i = attached.size(); | 216 | int i = attached.size(); |
217 | while(i--) { | 217 | while(i--) { |
218 | if(usbids.contains(attached.at(i))) { | 218 | if(usbids.contains(attached.at(i))) { |
219 | m_device = usbids.value(attached.at(i)); | 219 | m_device = usbids.value(attached.at(i)).at(0); |
220 | qDebug() << "[USB] detected supported player" << m_device; | 220 | qDebug() << "[USB] detected supported player" << m_device; |
221 | return true; | 221 | return true; |
222 | } | 222 | } |
223 | if(usberror.contains(attached.at(i))) { | 223 | if(usberror.contains(attached.at(i))) { |
224 | m_errdev = usberror.value(attached.at(i)); | 224 | m_errdev = usberror.value(attached.at(i)).at(0); |
225 | qDebug() << "[USB] detected problem with player" << m_errdev; | 225 | qDebug() << "[USB] detected problem with player" << m_errdev; |
226 | return true; | 226 | return true; |
227 | } | 227 | } |
diff --git a/rbutil/rbutilqt/base/systeminfo.cpp b/rbutil/rbutilqt/base/systeminfo.cpp index fde43d27dd..971a1196ac 100644 --- a/rbutil/rbutilqt/base/systeminfo.cpp +++ b/rbutil/rbutilqt/base/systeminfo.cpp | |||
@@ -159,11 +159,11 @@ QMap<QString, QStringList> SystemInfo::languages(void) | |||
159 | } | 159 | } |
160 | 160 | ||
161 | 161 | ||
162 | QMap<int, QString> SystemInfo::usbIdMap(enum MapType type) | 162 | QMap<int, QStringList> SystemInfo::usbIdMap(enum MapType type) |
163 | { | 163 | { |
164 | ensureSystemInfoExists(); | 164 | ensureSystemInfoExists(); |
165 | 165 | ||
166 | QMap<int, QString> map; | 166 | QMap<int, QStringList> map; |
167 | // get a list of ID -> target name | 167 | // get a list of ID -> target name |
168 | QStringList platforms; | 168 | QStringList platforms; |
169 | systemInfos->beginGroup("platforms"); | 169 | systemInfos->beginGroup("platforms"); |
@@ -191,9 +191,18 @@ QMap<int, QString> SystemInfo::usbIdMap(enum MapType type) | |||
191 | systemInfos->beginGroup(target); | 191 | systemInfos->beginGroup(target); |
192 | QStringList ids = systemInfos->value(t).toStringList(); | 192 | QStringList ids = systemInfos->value(t).toStringList(); |
193 | int j = ids.size(); | 193 | int j = ids.size(); |
194 | while(j--) | 194 | while(j--) { |
195 | map.insert(ids.at(j).toInt(0, 16), target); | 195 | QStringList l; |
196 | 196 | int id = ids.at(j).toInt(0, 16); | |
197 | if(id == 0) { | ||
198 | continue; | ||
199 | } | ||
200 | if(map.keys().contains(id)) { | ||
201 | l = map.take(id); | ||
202 | } | ||
203 | l.append(target); | ||
204 | map.insert(id, l); | ||
205 | } | ||
197 | systemInfos->endGroup(); | 206 | systemInfos->endGroup(); |
198 | } | 207 | } |
199 | return map; | 208 | return map; |
diff --git a/rbutil/rbutilqt/base/systeminfo.h b/rbutil/rbutilqt/base/systeminfo.h index 0e603f865e..5e75f36a08 100644 --- a/rbutil/rbutilqt/base/systeminfo.h +++ b/rbutil/rbutilqt/base/systeminfo.h | |||
@@ -81,7 +81,7 @@ class SystemInfo : public QObject | |||
81 | //! returns a map of all languages | 81 | //! returns a map of all languages |
82 | static QMap<QString, QStringList> languages(void); | 82 | static QMap<QString, QStringList> languages(void); |
83 | //! returns a map of usb-ids and their targets | 83 | //! returns a map of usb-ids and their targets |
84 | static QMap<int, QString> usbIdMap(enum MapType); | 84 | static QMap<int, QStringList> usbIdMap(enum MapType type); |
85 | //! get a value from system settings | 85 | //! get a value from system settings |
86 | static QVariant value(enum SystemInfos info); | 86 | static QVariant value(enum SystemInfos info); |
87 | //! get a value from system settings for a named platform. | 87 | //! get a value from system settings for a named platform. |