summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rbutil/rbutilqt/configure.cpp3
-rw-r--r--rbutil/rbutilqt/rbsettings.cpp12
-rw-r--r--rbutil/rbutilqt/rbsettings.h4
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp15
-rw-r--r--rbutil/rbutilqt/version.h5
5 files changed, 32 insertions, 7 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index 0aedf32998..364068f61a 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -19,6 +19,7 @@
19 19
20#include <QtGui> 20#include <QtGui>
21 21
22#include "version.h"
22#include "configure.h" 23#include "configure.h"
23#include "autodetection.h" 24#include "autodetection.h"
24#include "ui_configurefrm.h" 25#include "ui_configurefrm.h"
@@ -137,6 +138,8 @@ void Config::accept()
137 int i = ui.comboTts->currentIndex(); 138 int i = ui.comboTts->currentIndex();
138 settings->setCurTTS(ui.comboTts->itemData(i).toString()); 139 settings->setCurTTS(ui.comboTts->itemData(i).toString());
139 140
141 settings->setCurVersion(PUREVERSION);
142
140 // sync settings 143 // sync settings
141 settings->sync(); 144 settings->sync();
142 this->close(); 145 this->close();
diff --git a/rbutil/rbutilqt/rbsettings.cpp b/rbutil/rbutilqt/rbsettings.cpp
index 99c23856ab..38ed542ee7 100644
--- a/rbutil/rbutilqt/rbsettings.cpp
+++ b/rbutil/rbutilqt/rbsettings.cpp
@@ -77,6 +77,11 @@ QString RbSettings::userSettingFilename()
77 return userSettings->fileName(); 77 return userSettings->fileName();
78} 78}
79 79
80QString RbSettings::curVersion()
81{
82 return userSettings->value("rbutil_version").toString();
83}
84
80bool RbSettings::cacheOffline() 85bool RbSettings::cacheOffline()
81{ 86{
82 return userSettings->value("offline").toBool(); 87 return userSettings->value("offline").toBool();
@@ -108,7 +113,6 @@ QString RbSettings::bleedingUrl()
108 return devices->value("bleeding_url").toString(); 113 return devices->value("bleeding_url").toString();
109} 114}
110 115
111
112QString RbSettings::lastRelease() 116QString RbSettings::lastRelease()
113{ 117{
114 return devices->value("last_release").toString(); 118 return devices->value("last_release").toString();
@@ -327,7 +331,7 @@ bool RbSettings::encoderNarrowband(QString enc)
327{ 331{
328 return userSettingsGroupGet(enc,"narrowband",false).toBool(); 332 return userSettingsGroupGet(enc,"narrowband",false).toBool();
329} 333}
330 334
331QStringList RbSettings::allPlatforms() 335QStringList RbSettings::allPlatforms()
332{ 336{
333 QStringList result; 337 QStringList result;
@@ -481,6 +485,10 @@ int RbSettings::curTargetId()
481 return deviceSettingCurGet("targetid").toInt(); 485 return deviceSettingCurGet("targetid").toInt();
482} 486}
483 487
488void RbSettings::setCurVersion(QString version)
489{
490 userSettings->setValue("rbutil_version",version);
491}
484 492
485void RbSettings::setOfPath(QString path) 493void RbSettings::setOfPath(QString path)
486{ 494{
diff --git a/rbutil/rbutilqt/rbsettings.h b/rbutil/rbutilqt/rbsettings.h
index 7e6d9af051..a3fcd2b00f 100644
--- a/rbutil/rbutilqt/rbsettings.h
+++ b/rbutil/rbutilqt/rbsettings.h
@@ -42,6 +42,7 @@ class RbSettings : public QObject
42 QString userSettingFilename(); 42 QString userSettingFilename();
43 43
44 //! access functions for the settings 44 //! access functions for the settings
45 QString curVersion();
45 bool cacheOffline(); 46 bool cacheOffline();
46 bool cacheDisabled(); 47 bool cacheDisabled();
47 QString mountpoint(); 48 QString mountpoint();
@@ -104,7 +105,8 @@ class RbSettings : public QObject
104 QString curResolution(); 105 QString curResolution();
105 int curTargetId(); 106 int curTargetId();
106 107
107 //! Set Fucntions 108 //! Set Functions
109 void setCurVersion(QString version);
108 void setOfPath(QString path); 110 void setOfPath(QString path);
109 void setCachePath(QString path); 111 void setCachePath(QString path);
110 void setBuild(QString build); 112 void setBuild(QString build);
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index 7f2bf0cbed..59ce4839f7 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -176,13 +176,20 @@ void RbUtilQt::downloadDone(bool error)
176 bleeding->setFile(&bleedingInfo); 176 bleeding->setFile(&bleedingInfo);
177 bleeding->getFile(QUrl(settings->bleedingInfo())); 177 bleeding->getFile(QUrl(settings->bleedingInfo()));
178 178
179 if(chkConfig(false)) { 179 if(settings->curVersion() != PUREVERSION) {
180 QApplication::processEvents();
181 QMessageBox::information(this, tr("New installation"),
182 tr("This is a new installation of Rockbox Utility, or a new version. "
183 "The configuration dialog will now open to allow you to setup the program, "
184 " or review your settings."));
185 configDialog();
186 }
187 else if(chkConfig(false)) {
180 QApplication::processEvents(); 188 QApplication::processEvents();
181 QMessageBox::critical(this, tr("Configuration error"), 189 QMessageBox::critical(this, tr("Configuration error"),
182 tr("Your configuration is invalid. This is most likely due " 190 tr("Your configuration is invalid. This is most likely due "
183 "to a new installation of Rockbox Utility or a changed device " 191 "to a changed device path. The configuration dialog will "
184 "path. The configuration dialog will now open to allow you to " 192 "now open to allow you to correct the problem."));
185 "correct the problem."));
186 configDialog(); 193 configDialog();
187 } 194 }
188} 195}
diff --git a/rbutil/rbutilqt/version.h b/rbutil/rbutilqt/version.h
index c3fa2e4945..c0ba2bf848 100644
--- a/rbutil/rbutilqt/version.h
+++ b/rbutil/rbutilqt/version.h
@@ -20,3 +20,8 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21 21
22#define VERSION "SVN $Revision$ (m1.0.6), built "__DATE__" "__TIME__ 22#define VERSION "SVN $Revision$ (m1.0.6), built "__DATE__" "__TIME__
23
24// PUREVERSION is needed to be able to just compare versions. It does not
25// contain a build timestamp because it needs to be the same in different
26// files
27#define PUREVERSION "SVN $Revision$"