As Sensus import needs a specific XSLT and user specified parameters are
not used nor needed, tune the GUI accordingly (disable options and add
Sensus in the list of known imports).

Signed-off-by: Miika Turkia <[email protected]>
---
 qt-ui/divelogimportdialog.cpp | 14 ++++++++++++--
 qt-ui/divelogimportdialog.h   |  3 ++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/qt-ui/divelogimportdialog.cpp b/qt-ui/divelogimportdialog.cpp
index e37b9a8..52f95a7 100644
--- a/qt-ui/divelogimportdialog.cpp
+++ b/qt-ui/divelogimportdialog.cpp
@@ -8,6 +8,7 @@ const DiveLogImportDialog::CSVAppConfig 
DiveLogImportDialog::CSVApps[CSVAPPS] =
                {"", },
                {"APD Log Viewer", 1, 2, 16, 7, 18, 19, "Tab"},
                {"XP5", 1, 2, 10, -1, -1, -1, "Tab"},
+               {"SensusCSV", 10, 11, -1, -1, -1, -1, ","},
                {NULL,}
 };
 
@@ -19,6 +20,9 @@ DiveLogImportDialog::DiveLogImportDialog(QStringList *fn, 
QWidget *parent) :
        ui->setupUi(this);
        fileNames = *fn;
 
+       /* Add indexes of XSLTs requiring special handling to the list */
+       specialCSV << 3;
+
        for (int i = 0; !CSVApps[i].name.isNull(); ++i)
                ui->knownImports->addItem(CSVApps[i].name);
 
@@ -49,7 +53,6 @@ DiveLogImportDialog::~DiveLogImportDialog()
 void DiveLogImportDialog::on_buttonBox_accepted()
 {
        char *error = NULL;
-
        for (int i = 0; i < fileNames.size(); ++i) {
                parse_csv_file(fileNames[i].toUtf8().data(), 
ui->CSVTime->value() - 1,
                                ui->CSVDepth->value() - 1, 
VALUE_IF_CHECKED(CSVTemperature),
@@ -57,6 +60,7 @@ void DiveLogImportDialog::on_buttonBox_accepted()
                                VALUE_IF_CHECKED(CSVcns),
                                VALUE_IF_CHECKED(CSVstopdepth),
                                ui->CSVSeparator->currentIndex(),
+                               
specialCSV.contains(ui->knownImports->currentIndex()) ? 
CSVApps[ui->knownImports->currentIndex()].name.toUtf8().data() : "csv",
                                &error);
                if (error != NULL) {
                        mainWindow()->showError(error);
@@ -78,6 +82,11 @@ void DiveLogImportDialog::on_buttonBox_accepted()
                })
 void DiveLogImportDialog::on_knownImports_currentIndexChanged(int index)
 {
+       if (specialCSV.contains(index)) {
+               ui->groupBox_3->setEnabled(false);
+       } else {
+               ui->groupBox_3->setEnabled(true);
+       }
        if (index == 0)
                return;
 
@@ -100,5 +109,6 @@ void 
DiveLogImportDialog::on_knownImports_currentIndexChanged(int index)
 
 void DiveLogImportDialog::unknownImports()
 {
-       ui->knownImports->setCurrentIndex(0);
+       if (!specialCSV.contains(ui->knownImports->currentIndex()))
+               ui->knownImports->setCurrentIndex(0);
 }
diff --git a/qt-ui/divelogimportdialog.h b/qt-ui/divelogimportdialog.h
index 7c37790..070a1f5 100644
--- a/qt-ui/divelogimportdialog.h
+++ b/qt-ui/divelogimportdialog.h
@@ -27,6 +27,7 @@ private:
        bool selector;
        QStringList fileNames;
        Ui::DiveLogImportDialog *ui;
+       QList<int> specialCSV;
 
        struct CSVAppConfig {
                QString name;
@@ -39,7 +40,7 @@ private:
                QString separator;
        };
 
-#define CSVAPPS 4
+#define CSVAPPS 5
        static const CSVAppConfig CSVApps[CSVAPPS];
 };
 
-- 
1.8.3.2

_______________________________________________
subsurface mailing list
[email protected]
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to