summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2013-12-29 18:11:19 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-01-03 10:30:06 -0800
commit646c6ba58b28cc2a2dec8e0a2187158623416b6e (patch)
tree5de2539b5e4097ea8dd513aca7f8c8a6aa23975c /qt-ui
parent65eb86f85456a4b296dc3fabeb1d1af03b26c8d2 (diff)
downloadsubsurface-646c6ba58b28cc2a2dec8e0a2187158623416b6e.tar.gz
Merging Import dialog
This patch merges import dialog with CSV import dialog. The aim is to have only one import menu entry for log files. This menu entry pops up an import dialog that has tabs for different types of imports (supported dive logs and CSV configuration currently). Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/csvimportdialog.cpp64
-rw-r--r--qt-ui/csvimportdialog.h3
-rw-r--r--qt-ui/csvimportdialog.ui509
3 files changed, 354 insertions, 222 deletions
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 @@
<rect>
<x>0</x>
<y>0</y>
- <width>432</width>
- <height>330</height>
+ <width>515</width>
+ <height>440</height>
</rect>
</property>
<property name="windowTitle">
@@ -20,28 +20,293 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QGroupBox" name="groupBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <widget class="QLabel" name="label_3">
+ <property name="font">
+ <font>
+ <family>Droid Sans [unknown]</family>
+ <pointsize>14</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
</property>
- <property name="title">
- <string>Import File (CSV)</string>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="text">
+ <string>Import Dive Log File</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
</property>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QLineEdit" name="CSVFile"/>
- </item>
- <item>
- <widget class="QToolButton" name="CSVFileSelector">
- <property name="text">
- <string>...</string>
- </property>
- </widget>
- </item>
- </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>DiveLog</string>
+ </attribute>
+ <widget class="QGroupBox" name="groupBox_8">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>10</y>
+ <width>441</width>
+ <height>65</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Import File</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <widget class="QLineEdit" name="DiveLogFile"/>
+ </item>
+ <item>
+ <widget class="QToolButton" name="DiveLogFileSelector">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QWidget" name="tab">
+ <attribute name="title">
+ <string>CSV</string>
+ </attribute>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>10</y>
+ <width>441</width>
+ <height>65</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Import File</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLineEdit" name="CSVFile"/>
+ </item>
+ <item>
+ <widget class="QToolButton" name="CSVFileSelector">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="geometry">
+ <rect>
+ <x>210</x>
+ <y>88</y>
+ <width>281</width>
+ <height>65</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Field Separator</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QComboBox" name="CSVSeparator"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="geometry">
+ <rect>
+ <x>210</x>
+ <y>159</y>
+ <width>281</width>
+ <height>65</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Pre-configured imports</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QComboBox" name="knownImports">
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="geometry">
+ <rect>
+ <x>16</x>
+ <y>88</y>
+ <width>185</width>
+ <height>246</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Field Configuration</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="3" column="1">
+ <widget class="QSpinBox" name="CSVpo2">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="CSVDepth">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>2</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="CSVTemperature">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Depth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QSpinBox" name="CSVstopdepth">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QCheckBox" name="stopdepthCheckBox">
+ <property name="text">
+ <string>Stopdepth</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="po2CheckBox">
+ <property name="text">
+ <string>PO2</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Time</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="temperatureCheckBox">
+ <property name="text">
+ <string>Temp</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="CSVTime">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QSpinBox" name="CSVcns">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QCheckBox" name="cnsCheckBox">
+ <property name="text">
+ <string>Cns</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ <zorder>label</zorder>
+ <zorder>label_2</zorder>
+ <zorder>CSVTime</zorder>
+ <zorder>CSVDepth</zorder>
+ <zorder>temperatureCheckBox</zorder>
+ <zorder>CSVTemperature</zorder>
+ <zorder>po2CheckBox</zorder>
+ <zorder>CSVpo2</zorder>
+ <zorder>cnsCheckBox</zorder>
+ <zorder>CSVcns</zorder>
+ <zorder>stopdepthCheckBox</zorder>
+ <zorder>CSVstopdepth</zorder>
+ </widget>
+ </widget>
</widget>
</item>
<item>
@@ -50,147 +315,18 @@
<property name="spacing">
<number>0</number>
</property>
- <property name="margin">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
<number>0</number>
</property>
- <item>
- <widget class="QGroupBox" name="groupBox_3">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title">
- <string>Field Configuration</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="1">
- <widget class="QSpinBox" name="CSVTime">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="value">
- <number>1</number>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Time</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="CSVDepth">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="value">
- <number>2</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Depth</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="CSVTemperature">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QCheckBox" name="temperatureCheckBox">
- <property name="text">
- <string>Temp</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QSpinBox" name="CSVpo2">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QCheckBox" name="po2CheckBox">
- <property name="text">
- <string>PO2</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QSpinBox" name="CSVcns">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QCheckBox" name="cnsCheckBox">
- <property name="text">
- <string>Cns</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QSpinBox" name="CSVstopdepth">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QCheckBox" name="stopdepthCheckBox">
- <property name="text">
- <string>Stopdepth</string>
- </property>
- </widget>
- </item>
- </layout>
- <zorder>label</zorder>
- <zorder>label_2</zorder>
- <zorder>CSVTime</zorder>
- <zorder>CSVDepth</zorder>
- <zorder>temperatureCheckBox</zorder>
- <zorder>CSVTemperature</zorder>
- <zorder>po2CheckBox</zorder>
- <zorder>CSVpo2</zorder>
- <zorder>cnsCheckBox</zorder>
- <zorder>CSVcns</zorder>
- <zorder>stopdepthCheckBox</zorder>
- <zorder>CSVstopdepth</zorder>
- </widget>
- </item>
<item>
<widget class="QWidget" name="verticalWidget" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
@@ -204,53 +340,6 @@
<number>0</number>
</property>
<item>
- <widget class="QGroupBox" name="groupBox_2">
- <property name="title">
- <string>Field Separator</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QComboBox" name="CSVSeparator"/>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="groupBox_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title">
- <string>Pre-configured imports</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <item>
- <widget class="QComboBox" name="knownImports">
- <property name="currentIndex">
- <number>-1</number>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -268,9 +357,7 @@
</item>
</layout>
</widget>
- <resources>
- <include location="../subsurface.qrc"/>
- </resources>
+ <resources/>
<connections>
<connection>
<sender>buttonBox</sender>