diff options
author | Anton Lundin <glance@acc.umu.se> | 2013-11-21 23:48:37 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-11-21 15:53:54 -0800 |
commit | cf06f78892c3d96fc62c4861dc0f29f8c1deafa4 (patch) | |
tree | b5a37081204606c3b53eb8ff18563ca6588d585b /qt-ui/csvimportdialog.cpp | |
parent | 1a0adea0cccd98a1300885e775e6420bd04899fb (diff) | |
download | subsurface-cf06f78892c3d96fc62c4861dc0f29f8c1deafa4.tar.gz |
Make temperature optional in csv import
This adds a checkbox to be able to import csv files without temperature.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/csvimportdialog.cpp')
-rw-r--r-- | qt-ui/csvimportdialog.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/qt-ui/csvimportdialog.cpp b/qt-ui/csvimportdialog.cpp index caafe3562..192080503 100644 --- a/qt-ui/csvimportdialog.cpp +++ b/qt-ui/csvimportdialog.cpp @@ -28,6 +28,7 @@ CSVImportDialog::CSVImportDialog(QWidget *parent) : connect(ui->CSVDepth, SIGNAL(valueChanged(int)), this, SLOT(unknownImports(int))); connect(ui->CSVTime, SIGNAL(valueChanged(int)), this, SLOT(unknownImports(int))); connect(ui->CSVTemperature, SIGNAL(valueChanged(int)), this, SLOT(unknownImports(int))); + connect(ui->temperatureCheckBox, SIGNAL(clicked(bool)), this, SLOT(unknownImports(bool))); } CSVImportDialog::~CSVImportDialog() @@ -35,11 +36,12 @@ CSVImportDialog::~CSVImportDialog() delete ui; } +#define VALUE_IF_CHECKED(x) (ui->x->isEnabled() ? ui->x->value() : -1) void CSVImportDialog::on_buttonBox_accepted() { char *error = NULL; - parse_csv_file(ui->CSVFile->text().toUtf8().data(), ui->CSVTime->value(), ui->CSVDepth->value(), ui->CSVTemperature->value(), &error); + parse_csv_file(ui->CSVFile->text().toUtf8().data(), ui->CSVTime->value(), ui->CSVDepth->value(), VALUE_IF_CHECKED(CSVTemperature), &error); if (error != NULL) { mainWindow()->showError(error); @@ -61,6 +63,13 @@ void CSVImportDialog::on_CSVFileSelector_clicked() ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } +#define SET_VALUE_AND_CHECKBOX(CSV, BOX, VAL) ({\ + ui->CSV->blockSignals(true);\ + ui->CSV->setValue(VAL);\ + ui->CSV->setEnabled(VAL >= 0);\ + ui->BOX->setChecked(VAL >= 0);\ + ui->CSV->blockSignals(false);\ + }) void CSVImportDialog::on_knownImports_currentIndexChanged(int index) { if (index == 0) @@ -68,13 +77,16 @@ void CSVImportDialog::on_knownImports_currentIndexChanged(int index) ui->CSVTime->blockSignals(true); ui->CSVDepth->blockSignals(true); - ui->CSVTemperature->blockSignals(true); ui->CSVTime->setValue(CSVApps[index].time); ui->CSVDepth->setValue(CSVApps[index].depth); - ui->CSVTemperature->setValue(CSVApps[index].temperature); ui->CSVTime->blockSignals(false); ui->CSVDepth->blockSignals(false); - ui->CSVTemperature->blockSignals(false); + SET_VALUE_AND_CHECKBOX(CSVTemperature, temperatureCheckBox, CSVApps[index].temperature); +} + +void CSVImportDialog::unknownImports(bool arg1) +{ + unknownImports(); } void CSVImportDialog::unknownImports(int arg1) |