From cf06f78892c3d96fc62c4861dc0f29f8c1deafa4 Mon Sep 17 00:00:00 2001 From: Anton Lundin Date: Thu, 21 Nov 2013 23:48:37 +0100 Subject: Make temperature optional in csv import This adds a checkbox to be able to import csv files without temperature. Signed-off-by: Anton Lundin Signed-off-by: Dirk Hohndel --- qt-ui/csvimportdialog.cpp | 20 +++++-- qt-ui/csvimportdialog.h | 1 + qt-ui/csvimportdialog.ui | 149 +++++++++++++++++++--------------------------- 3 files changed, 79 insertions(+), 91 deletions(-) (limited to 'qt-ui') 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) diff --git a/qt-ui/csvimportdialog.h b/qt-ui/csvimportdialog.h index 40359a505..9a4fc2c78 100644 --- a/qt-ui/csvimportdialog.h +++ b/qt-ui/csvimportdialog.h @@ -24,6 +24,7 @@ private slots: void on_knownImports_currentIndexChanged(int index); void on_CSVFile_textEdited(); void unknownImports(int); + void unknownImports(bool); private: void unknownImports(); diff --git a/qt-ui/csvimportdialog.ui b/qt-ui/csvimportdialog.ui index ec5002baf..81ee4fdc1 100644 --- a/qt-ui/csvimportdialog.ui +++ b/qt-ui/csvimportdialog.ui @@ -100,93 +100,62 @@ Field Configuration - - - - 60 - 30 - 56 - 29 - - - - 0 - - - 0 - - - - - - 60 - 70 - 56 - 29 - - - - 0 - - - 1 - - - - - - 60 - 110 - 56 - 29 - - - - 0 - - - 15 - - - - - - 0 - 30 - 41 - 19 - - - - Time - - - - - - 0 - 70 - 51 - 19 - - - - Depth - - - - - - 0 - 110 - 41 - 19 - - - - Temp - - + + + + + 0 + + + 0 + + + + + + + Time + + + + + + + 0 + + + 1 + + + + + + + Depth + + + + + + + false + + + + + + + Temp + + + + + label + label_2 + CSVTime + CSVDepth + temperatureCheckBox + CSVTemperature @@ -249,5 +218,11 @@ + + temperatureCheckBox + clicked(bool) + CSVTemperature + setEnabled(bool) + -- cgit v1.2.3-70-g09d2