summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2016-04-24 21:11:15 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-25 12:02:50 -0700
commitc52bbc660c75c47f79fc6c64762000d956d85aa4 (patch)
tree6a263b4a06aa541874c1ffbdbb5908d5620a7b81 /qt-ui
parent3ce15d236b54507c4a45167f230b7b0c20b30bd0 (diff)
downloadsubsurface-c52bbc660c75c47f79fc6c64762000d956d85aa4.tar.gz
Detect pipe as field separator in CSV import
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/divelogimportdialog.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/qt-ui/divelogimportdialog.cpp b/qt-ui/divelogimportdialog.cpp
index 26d38788c..ae12b7c54 100644
--- a/qt-ui/divelogimportdialog.cpp
+++ b/qt-ui/divelogimportdialog.cpp
@@ -339,7 +339,7 @@ DiveLogImportDialog::DiveLogImportDialog(QStringList fn, QWidget *parent) : QDia
for (int i = 0; !CSVApps[i].name.isNull(); ++i)
ui->knownImports->addItem(CSVApps[i].name);
- ui->CSVSeparator->addItems( QStringList() << tr("Tab") << "," << ";");
+ ui->CSVSeparator->addItems( QStringList() << tr("Tab") << "," << ";" << "|");
loadFileContents(-1, INITIAL);
@@ -479,11 +479,14 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy)
int tabs = firstLine.count('\t');
int commas = firstLine.count(',');
int semis = firstLine.count(';');
- if (tabs > commas && tabs > semis)
+ int pipes = firstLine.count('|');
+ if (tabs > commas && tabs > semis && tabs > pipes)
separator = "\t";
- else if (commas > tabs && commas > semis)
+ else if (commas > tabs && commas > semis && commas > pipes)
separator = ",";
- else if (semis > tabs && semis > commas)
+ else if (pipes > tabs && pipes > commas && pipes > semis)
+ separator = "|";
+ else if (semis > tabs && semis > commas && semis > pipes)
separator = ";";
if (ui->CSVSeparator->currentText() != separator) {
blockSignals(true);