summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rbutil/rbutilqt/autodetection.cpp18
-rw-r--r--rbutil/rbutilqt/install.cpp8
2 files changed, 22 insertions, 4 deletions
diff --git a/rbutil/rbutilqt/autodetection.cpp b/rbutil/rbutilqt/autodetection.cpp
index 08c4717..2300a1b 100644
--- a/rbutil/rbutilqt/autodetection.cpp
+++ b/rbutil/rbutilqt/autodetection.cpp
@@ -28,15 +28,28 @@ bool Autodetection::detect()
{
m_device = "";
m_mountpoint = "";
-
- // Try detection via rockbox.info
+
+ // Try detection via rockbox.info / rbutil.log
QStringList mountpoints = getMountpoints();
for(int i=0; i< mountpoints.size();i++)
{
+ // do the file checking
QDir dir(mountpoints.at(i));
if(dir.exists())
{
+ // check logfile first.
+ if(QFile(mountpoints.at(i) + "/.rockbox/rbutil.log").exists()) {
+ QSettings log(mountpoints.at(i) + "/.rockbox/rbutil.log",
+ QSettings::IniFormat, this);
+ if(!log.value("platform").toString().isEmpty()) {
+ m_device = log.value("platform").toString();
+ m_mountpoint = mountpoints.at(i);
+ return true;
+ }
+ }
+
+ // check rockbox-info.txt afterwards.
QFile file(mountpoints.at(i) + "/.rockbox/rockbox-info.txt");
if(file.exists())
{
@@ -51,6 +64,7 @@ bool Autodetection::detect()
}
}
}
+
}
int n;
diff --git a/rbutil/rbutilqt/install.cpp b/rbutil/rbutilqt/install.cpp
index 24ce44b..76baac4 100644
--- a/rbutil/rbutilqt/install.cpp
+++ b/rbutil/rbutilqt/install.cpp
@@ -125,8 +125,12 @@ void Install::done(bool error)
}
// no error, close the window, when the logger is closed
- connect(logger,SIGNAL(closed()),this,SLOT(close()));
-
+ connect(logger,SIGNAL(closed()),this,SLOT(close()));
+ // add platform info to log file for later detection
+ QSettings installlog(userSettings->value("defaults/mountpoint").toString()
+ + "/.rockbox/rbutil.log", QSettings::IniFormat, 0);
+ installlog.setValue("platform", userSettings->value("defaults/platform").toString());
+ installlog.sync();
}