From bbc4ad5b19cc6fb76700f59de3425b5f55c6e0ab Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Fri, 29 Sep 2017 23:08:39 +0200 Subject: [PATCH] Don't reset the table name as easily in the Import CSV dialog See issue #1072. --- src/ImportCsvDialog.cpp | 20 ++++++++++---------- src/ImportCsvDialog.h | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/ImportCsvDialog.cpp b/src/ImportCsvDialog.cpp index e505cd67..588583c2 100644 --- a/src/ImportCsvDialog.cpp +++ b/src/ImportCsvDialog.cpp @@ -284,7 +284,7 @@ void ImportCsvDialog::checkInput() allowImporting = !ui->editName->text().isEmpty(); } - if (ui->filePicker->currentItem()) { + if (ui->filePicker->currentItem() && ui->checkBoxSeparateTables->isChecked()) { ui->filePicker->currentItem()->setData(Qt::UserRole, ui->editName->text()); } @@ -303,20 +303,20 @@ void ImportCsvDialog::selectFiles() ui->filePicker->addItem(item); } - connect(ui->filePicker, SIGNAL(itemClicked(QListWidgetItem*)), SLOT(updateSelectedFilePreview(QListWidgetItem*))); + connect(ui->filePicker, &QListWidget::itemSelectionChanged, this, &ImportCsvDialog::updateSelectedFilePreview); } -void ImportCsvDialog::updateSelectedFilePreview(QListWidgetItem* item) +void ImportCsvDialog::updateSelectedFilePreview() { - selectedFile = item->data(Qt::DisplayRole).toString(); - QFileInfo fileInfo(selectedFile); - if (ui->checkBoxSeparateTables->isChecked()) { + auto selection = ui->filePicker->selectedItems(); + if(!selection.isEmpty()) + { + auto item = selection.first(); + selectedFile = item->data(Qt::DisplayRole).toString(); ui->editName->setText(item->data(Qt::UserRole).toString()); - } else { - ui->editName->setText(fileInfo.baseName()); + updatePreview(); + checkInput(); } - updatePreview(); - checkInput(); } void ImportCsvDialog::updateSelection(bool selected) diff --git a/src/ImportCsvDialog.h b/src/ImportCsvDialog.h index a23c2be6..62d5353f 100644 --- a/src/ImportCsvDialog.h +++ b/src/ImportCsvDialog.h @@ -28,7 +28,7 @@ private slots: void updatePreview(); void checkInput(); void selectFiles(); - void updateSelectedFilePreview(QListWidgetItem*); + void updateSelectedFilePreview(); void updateSelection(bool); void matchSimilar();