diff --git a/qt-ui/csvimportdialog.cpp b/qt-ui/csvimportdialog.cpp
index b88d9ceca..8ddf760f9 100644
--- a/qt-ui/csvimportdialog.cpp
+++ b/qt-ui/csvimportdialog.cpp
@@ -48,17 +48,41 @@ void CSVImportDialog::on_buttonBox_accepted()
{
char *error = NULL;
- parse_csv_file(ui->CSVFile->text().toUtf8().data(), ui->CSVTime->value() - 1,
- ui->CSVDepth->value() - 1, VALUE_IF_CHECKED(CSVTemperature),
- VALUE_IF_CHECKED(CSVpo2),
- VALUE_IF_CHECKED(CSVcns),
- VALUE_IF_CHECKED(CSVstopdepth),
- ui->CSVSeparator->currentIndex(),
- &error);
- if (error != NULL) {
- mainWindow()->showError(error);
- free(error);
- error = NULL;
+ if (ui->tabWidget->currentIndex() == 0) {
+ QStringList fileNames = ui->DiveLogFile->text().split(";");
+
+ /*
+ if (ui->ImportAdvanced->isChecked()) {
+ for (int i = 0; i < fileNames.size(); ++i) {
+ parse_xml_file_units(fileNames.at(i).toUtf8().data(),
+ ui->XMLImportFormat->currentIndex(), ui->XMLImportUnits->currentIndex(),
+ &error);
+ }
+ if (error != NULL) {
+
+ mainWindow()->showError(error);
+ free(error);
+ error = NULL;
+ }
+ } else {
+ */
+ mainWindow()->importFiles(fileNames);
+ return;
+ //}
+
+ } else {
+ parse_csv_file(ui->CSVFile->text().toUtf8().data(), ui->CSVTime->value() - 1,
+ ui->CSVDepth->value() - 1, VALUE_IF_CHECKED(CSVTemperature),
+ VALUE_IF_CHECKED(CSVpo2),
+ VALUE_IF_CHECKED(CSVcns),
+ VALUE_IF_CHECKED(CSVstopdepth),
+ ui->CSVSeparator->currentIndex(),
+ &error);
+ if (error != NULL) {
+ mainWindow()->showError(error);
+ free(error);
+ error = NULL;
+ }
}
process_dives(TRUE, FALSE);
@@ -115,3 +139,21 @@ void CSVImportDialog::on_CSVFile_textEdited()
{
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!ui->CSVFile->text().isEmpty());
}
+
+void CSVImportDialog::on_DiveLogFileSelector_clicked()
+{
+ QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open Dive Log File"), ".", tr("XML Files (*.xml);;UDDF/UDCF Files(*.uddf *.udcf);;All Files(*)"));
+ ui->DiveLogFile->setText(fileNames.join(";"));
+ if (fileNames.size())
+ ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
+ else
+ ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
+}
+
+void CSVImportDialog::on_DiveLogFile_editingFinished()
+{
+ if (ui->DiveLogFile->text().size())
+ ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
+ else
+ ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
+}
diff --git a/qt-ui/csvimportdialog.h b/qt-ui/csvimportdialog.h
index fda36bcb7..90dd2ac48 100644
--- a/qt-ui/csvimportdialog.h
+++ b/qt-ui/csvimportdialog.h
@@ -26,6 +26,9 @@ private slots:
void unknownImports(int);
void unknownImports(bool);
+ void on_DiveLogFileSelector_clicked();
+ void on_DiveLogFile_editingFinished();
+
private:
void unknownImports();
diff --git a/qt-ui/csvimportdialog.ui b/qt-ui/csvimportdialog.ui
index 9c89704f3..68e95d0a0 100644
--- a/qt-ui/csvimportdialog.ui
+++ b/qt-ui/csvimportdialog.ui
@@ -6,8 +6,8 @@
0
0
- 432
- 330
+ 515
+ 440
@@ -20,28 +20,293 @@
-
-
-
-
- 0
- 0
-
+
+
+
+ Droid Sans [unknown]
+ 14
+ 75
+ true
+
-
- Import File (CSV)
+
+ QFrame::NoFrame
-
-
-
-
-
- -
-
-
- ...
-
-
-
-
+
+ Import Dive Log File
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ 0
+
+
+
+ DiveLog
+
+
+
+
+ 10
+ 10
+ 441
+ 65
+
+
+
+
+ 0
+ 0
+
+
+
+ Import File
+
+
+
-
+
+
+ -
+
+
+ ...
+
+
+
+
+
+
+
+
+ CSV
+
+
+
+
+ 10
+ 10
+ 441
+ 65
+
+
+
+
+ 0
+ 0
+
+
+
+ Import File
+
+
+ -
+
+
+ -
+
+
+ ...
+
+
+
+
+
+
+
+
+ 210
+ 88
+ 281
+ 65
+
+
+
+ Field Separator
+
+
+ -
+
+
+
+
+
+
+
+ 210
+ 159
+ 281
+ 65
+
+
+
+
+ 0
+ 0
+
+
+
+ Pre-configured imports
+
+
+ -
+
+
+ -1
+
+
+
+
+
+
+
+
+ 16
+ 88
+ 185
+ 246
+
+
+
+
+ 0
+ 0
+
+
+
+ Field Configuration
+
+
+ -
+
+
+ 1
+
+
+ false
+
+
+ 0
+
+
+
+ -
+
+
+ 1
+
+
+ 2
+
+
+
+ -
+
+
+ 1
+
+
+ false
+
+
+
+ -
+
+
+ Depth
+
+
+
+ -
+
+
+ 1
+
+
+ false
+
+
+ 0
+
+
+
+ -
+
+
+ Stopdepth
+
+
+
+ -
+
+
+ PO2
+
+
+
+ -
+
+
+ Time
+
+
+
+ -
+
+
+ Temp
+
+
+
+ -
+
+
+ 1
+
+
+ 1
+
+
+
+ -
+
+
+ 1
+
+
+ false
+
+
+ 0
+
+
+
+ -
+
+
+ Cns
+
+
+
+
+ label
+ label_2
+ CSVTime
+ CSVDepth
+ temperatureCheckBox
+ CSVTemperature
+ po2CheckBox
+ CSVpo2
+ cnsCheckBox
+ CSVcns
+ stopdepthCheckBox
+ CSVstopdepth
+
+
-
@@ -50,147 +315,18 @@
0
-
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
0
-
-
-
-
-
- 0
- 0
-
-
-
- Field Configuration
-
-
-
-
-
-
- 1
-
-
- 1
-
-
-
- -
-
-
- Time
-
-
-
- -
-
-
- 1
-
-
- 2
-
-
-
- -
-
-
- Depth
-
-
-
- -
-
-
- 1
-
-
- false
-
-
-
- -
-
-
- Temp
-
-
-
- -
-
-
- 1
-
-
- false
-
-
- 0
-
-
-
- -
-
-
- PO2
-
-
-
- -
-
-
- 1
-
-
- false
-
-
- 0
-
-
-
- -
-
-
- Cns
-
-
-
- -
-
-
- 1
-
-
- false
-
-
- 0
-
-
-
- -
-
-
- Stopdepth
-
-
-
-
- label
- label_2
- CSVTime
- CSVDepth
- temperatureCheckBox
- CSVTemperature
- po2CheckBox
- CSVpo2
- cnsCheckBox
- CSVcns
- stopdepthCheckBox
- CSVstopdepth
-
-
-
@@ -203,53 +339,6 @@
0
-
-
-
-
- Field Separator
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Pre-configured imports
-
-
-
-
-
-
- -1
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
@@ -268,9 +357,7 @@
-
-
-
+
buttonBox