Show import dialog only when needed for CSV config

We do not need any import dialog when importing normal XML based
divelogs. With this they are imported directly after file selection
dialog. However, when CSV files are detected in the import list, the
configuration dialog is displayed and applied for them. (CSV files are
detected by file extension.)

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Miika Turkia 2014-01-07 22:01:28 +02:00 committed by Dirk Hohndel
parent 58f6a01a22
commit 88fdf1b138
4 changed files with 46 additions and 155 deletions

View file

@ -857,10 +857,24 @@ void MainWindow::loadFiles(const QStringList fileNames)
void MainWindow::on_actionImportDiveLog_triggered()
{
DiveLogImportDialog *diveLogImport = new DiveLogImportDialog();
diveLogImport->show();
process_dives(TRUE, FALSE);
refreshDisplay();
QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open Dive Log File"), lastUsedDir(), tr("Dive Log Files (*.xml *.uddf *.udcf *.csv *.jlb *.dld *.sde *.db);;XML Files (*.xml);;UDDF/UDCF Files(*.uddf *.udcf);;JDiveLog Files(*.jlb);;Suunto Files(*.sde *.db);;CSV Files(*.csv);;All Files(*)"));
if (fileNames.isEmpty())
return;
updateLastUsedDir(QFileInfo(fileNames[0]).dir().path());
QStringList logFiles = fileNames.filter( QRegExp("^.*\\.(?!csv)", Qt::CaseInsensitive) ) ;
QStringList csvFiles = fileNames.filter(".csv", Qt::CaseInsensitive);
if (logFiles.size()) {
importFiles(logFiles);
}
if (csvFiles.size()) {
DiveLogImportDialog *diveLogImport = new DiveLogImportDialog(&csvFiles);
diveLogImport->show();
process_dives(TRUE, FALSE);
refreshDisplay();
}
}
void MainWindow::editCurrentDive()