forked from len0rd/rockbox
rbutil:let autodetection::detectUsb also use the rbsettings object.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16952 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
8143f49876
commit
1363881148
5 changed files with 61 additions and 25 deletions
|
|
@ -256,32 +256,11 @@ QString Autodetection::resolveMountPoint(QString device)
|
||||||
*/
|
*/
|
||||||
bool Autodetection::detectUsb()
|
bool Autodetection::detectUsb()
|
||||||
{
|
{
|
||||||
// autodetection uses the buildin device settings only
|
|
||||||
QSettings dev(":/ini/rbutil.ini", QSettings::IniFormat, this);
|
|
||||||
|
|
||||||
// get a list of ID -> target name
|
|
||||||
QStringList platforms;
|
|
||||||
dev.beginGroup("platforms");
|
|
||||||
platforms = dev.childKeys();
|
|
||||||
dev.endGroup();
|
|
||||||
|
|
||||||
// usbids holds the mapping in the form
|
// usbids holds the mapping in the form
|
||||||
// ((VID<<16)|(PID)), targetname
|
// ((VID<<16)|(PID)), targetname
|
||||||
// the ini file needs to hold the IDs as hex values.
|
// the ini file needs to hold the IDs as hex values.
|
||||||
QMap<int, QString> usbids;
|
QMap<int, QString> usbids = settings->usbIdMap();
|
||||||
QMap<int, QString> usberror;
|
QMap<int, QString> usberror = settings->usbIdErrorMap();
|
||||||
|
|
||||||
for(int i = 0; i < platforms.size(); i++) {
|
|
||||||
dev.beginGroup("platforms");
|
|
||||||
QString target = dev.value(platforms.at(i)).toString();
|
|
||||||
dev.endGroup();
|
|
||||||
dev.beginGroup(target);
|
|
||||||
if(!dev.value("usbid").toString().isEmpty())
|
|
||||||
usbids.insert(dev.value("usbid").toString().toInt(0, 16), target);
|
|
||||||
if(!dev.value("usberror").toString().isEmpty())
|
|
||||||
usberror.insert(dev.value("usberror").toString().toInt(0, 16), target);
|
|
||||||
dev.endGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// usb pid detection
|
// usb pid detection
|
||||||
#if defined(Q_OS_LINUX) | defined(Q_OS_MACX)
|
#if defined(Q_OS_LINUX) | defined(Q_OS_MACX)
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
#define AUTODETECTION_H_
|
#define AUTODETECTION_H_
|
||||||
|
|
||||||
#include <QtCore>
|
#include <QtCore>
|
||||||
|
#include "rbsettings.h"
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
// Ipodpatcher
|
// Ipodpatcher
|
||||||
|
|
@ -36,6 +37,8 @@ class Autodetection :public QObject
|
||||||
public:
|
public:
|
||||||
Autodetection(QObject* parent=0);
|
Autodetection(QObject* parent=0);
|
||||||
|
|
||||||
|
void setSettings(RbSettings* sett) {settings = sett;}
|
||||||
|
|
||||||
bool detect();
|
bool detect();
|
||||||
|
|
||||||
QString getDevice() {return m_device;}
|
QString getDevice() {return m_device;}
|
||||||
|
|
@ -52,6 +55,7 @@ private:
|
||||||
QString m_mountpoint;
|
QString m_mountpoint;
|
||||||
QString m_errdev;
|
QString m_errdev;
|
||||||
QList<int> m_usbconid;
|
QList<int> m_usbconid;
|
||||||
|
RbSettings* settings;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -489,6 +489,7 @@ void Config::setCache(QString c)
|
||||||
void Config::autodetect()
|
void Config::autodetect()
|
||||||
{
|
{
|
||||||
Autodetection detector(this);
|
Autodetection detector(this);
|
||||||
|
detector.setSettings(settings);
|
||||||
|
|
||||||
if(detector.detect()) //let it detect
|
if(detector.detect()) //let it detect
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -410,6 +410,55 @@ QString RbSettings::brand(QString plattform)
|
||||||
return brand;
|
return brand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QMap<int, QString> RbSettings::usbIdMap()
|
||||||
|
{
|
||||||
|
QMap<int, QString> map;
|
||||||
|
// get a list of ID -> target name
|
||||||
|
QStringList platforms;
|
||||||
|
devices->beginGroup("platforms");
|
||||||
|
platforms = devices->childKeys();
|
||||||
|
devices->endGroup();
|
||||||
|
|
||||||
|
for(int i = 0; i < platforms.size(); i++)
|
||||||
|
{
|
||||||
|
devices->beginGroup("platforms");
|
||||||
|
QString target = devices->value(platforms.at(i)).toString();
|
||||||
|
devices->endGroup();
|
||||||
|
devices->beginGroup(target);
|
||||||
|
if(!devices->value("usbid").toString().isEmpty())
|
||||||
|
map.insert(devices->value("usbid").toString().toInt(0, 16), target);
|
||||||
|
devices->endGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
QMap<int, QString> RbSettings::usbIdErrorMap()
|
||||||
|
{
|
||||||
|
|
||||||
|
QMap<int, QString> map;
|
||||||
|
// get a list of ID -> target name
|
||||||
|
QStringList platforms;
|
||||||
|
devices->beginGroup("platforms");
|
||||||
|
platforms = devices->childKeys();
|
||||||
|
devices->endGroup();
|
||||||
|
|
||||||
|
for(int i = 0; i < platforms.size(); i++)
|
||||||
|
{
|
||||||
|
devices->beginGroup("platforms");
|
||||||
|
QString target = devices->value(platforms.at(i)).toString();
|
||||||
|
devices->endGroup();
|
||||||
|
devices->beginGroup(target);
|
||||||
|
if(!devices->value("usberror").toString().isEmpty())
|
||||||
|
map.insert(devices->value("usberror").toString().toInt(0, 16), target);
|
||||||
|
devices->endGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QString RbSettings::curResolution()
|
QString RbSettings::curResolution()
|
||||||
{
|
{
|
||||||
QString platform = userSettings->value("platform").toString();
|
QString platform = userSettings->value("platform").toString();
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,9 @@ class RbSettings : public QObject
|
||||||
QString name(QString plattform);
|
QString name(QString plattform);
|
||||||
QString brand(QString plattform);
|
QString brand(QString plattform);
|
||||||
QStringList allLanguages();
|
QStringList allLanguages();
|
||||||
|
QMap<int, QString> usbIdMap();
|
||||||
|
QMap<int, QString> usbIdErrorMap();
|
||||||
|
|
||||||
|
|
||||||
bool curNeedsBootloader();
|
bool curNeedsBootloader();
|
||||||
QString curBrand();
|
QString curBrand();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue