Updated error messages in Preferences dialog

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@572 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2012-06-26 14:57:31 +00:00
parent 6e42cf5031
commit fe8e261fc6
3 changed files with 109 additions and 89 deletions
+1 -1
View File
@@ -27,7 +27,7 @@
</dictionary> </dictionary>
<dictionary> <dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key> <key>org.eclipse.cdt.make.core.buildCommand</key>
<value>mingw32-make</value> <value>make</value>
</dictionary> </dictionary>
<dictionary> <dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key> <key>org.eclipse.cdt.make.core.buildLocation</key>
@@ -193,7 +193,7 @@ protected:
virtual void readSettings(const QString & filePath = QString()); virtual void readSettings(const QString & filePath = QString());
virtual void readGuiSettings(const QString & filePath = QString()); virtual void readGuiSettings(const QString & filePath = QString());
virtual void readCameraSettings(const QString & filePath = QString()); virtual void readCameraSettings(const QString & filePath = QString());
virtual void readCoreSettings(const QString & filePath = QString()); virtual bool readCoreSettings(const QString & filePath = QString());
virtual void writeSettings(const QString & filePath = QString()); virtual void writeSettings(const QString & filePath = QString());
virtual void writeGuiSettings(const QString & filePath = QString()); virtual void writeGuiSettings(const QString & filePath = QString());
+24 -4
View File
@@ -606,7 +606,12 @@ void PreferencesDialog::readSettings(const QString & filePath)
ULOGGER_DEBUG(""); ULOGGER_DEBUG("");
readGuiSettings(filePath); readGuiSettings(filePath);
readCameraSettings(filePath); readCameraSettings(filePath);
readCoreSettings(filePath); if(!readCoreSettings(filePath))
{
_parameters.clear();
_obsoletePanels = kPanelDummy;
this->reject();
}
} }
void PreferencesDialog::readGuiSettings(const QString & filePath) void PreferencesDialog::readGuiSettings(const QString & filePath)
@@ -687,7 +692,7 @@ void PreferencesDialog::readCameraSettings(const QString & filePath)
settings.endGroup(); // Database settings.endGroup(); // Database
} }
void PreferencesDialog::readCoreSettings(const QString & filePath) bool PreferencesDialog::readCoreSettings(const QString & filePath)
{ {
UDEBUG(""); UDEBUG("");
QString path = getIniFilePath(); QString path = getIniFilePath();
@@ -695,6 +700,12 @@ void PreferencesDialog::readCoreSettings(const QString & filePath)
{ {
path = filePath; path = filePath;
} }
if(!QFile::exists(path))
{
QMessageBox::information(this, tr("INI file doesn't exist..."), tr("The configuration file \"%1\" does not exist, it will be created with default parameters.").arg(path));
}
QSettings settings(path, QSettings::IniFormat); QSettings settings(path, QSettings::IniFormat);
const rtabmap::ParametersMap & parameters = Parameters::getDefaultParameters(); const rtabmap::ParametersMap & parameters = Parameters::getDefaultParameters();
@@ -731,6 +742,7 @@ void PreferencesDialog::readCoreSettings(const QString & filePath)
} }
} }
settings.endGroup(); // Core settings.endGroup(); // Core
return true;
} }
void PreferencesDialog::saveConfigTo() void PreferencesDialog::saveConfigTo()
@@ -927,10 +939,13 @@ void PreferencesDialog::readSettingsEnd()
this->readSettings(); this->readSettings();
_progressDialog->setValue(1); _progressDialog->setValue(1);
_progressDialog->setLabelText(tr("Reading GUI settings...")); if(this->isVisible())
{
_progressDialog->setLabelText(tr("Setup dialog..."));
this->updatePredictionPlot(); this->updatePredictionPlot();
this->setupKpRoiPanel(); this->setupKpRoiPanel();
}
_progressDialog->setValue(2); // this will make closing... _progressDialog->setValue(2); // this will make closing...
} }
@@ -1550,7 +1565,12 @@ QList<QGroupBox*> PreferencesDialog::getGroupBoxes()
void PreferencesDialog::updatePredictionPlot() void PreferencesDialog::updatePredictionPlot()
{ {
QStringList values = _ui->lineEdit_bayes_predictionLC->text().split(' '); QStringList values = _ui->lineEdit_bayes_predictionLC->text().split(' ');
if(values.size() < 2)
{
UERROR("Error parsing prediction (must have at least 2 items) : %s",
_ui->lineEdit_bayes_predictionLC->text().toStdString().c_str());
return;
}
QVector<float> dataX((values.size()-2)*2 + 1); QVector<float> dataX((values.size()-2)*2 + 1);
QVector<float> dataY((values.size()-2)*2 + 1); QVector<float> dataY((values.size()-2)*2 + 1);
double value; double value;