From c85dab80a80197df4c4ca0f98f55b35e7e6ed1a8 Mon Sep 17 00:00:00 2001 From: Alejandro Martinez Date: Wed, 12 Apr 2023 10:28:24 -0300 Subject: [PATCH] Skip previously imported files on Auto-Import (#4347) If the importable file (after export when inside a .zip/.gz archive) is present in imports files it means it was previously imported, so it is skipped on Auto-Import for better performance and to avoid re-appearance of deleted activities still present in the source folder. Fixes #3696 Fixes #1892 --- src/Gui/RideImportWizard.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/Gui/RideImportWizard.cpp b/src/Gui/RideImportWizard.cpp index cba0ac05e..00e2ac915 100644 --- a/src/Gui/RideImportWizard.cpp +++ b/src/Gui/RideImportWizard.cpp @@ -244,10 +244,24 @@ void RideImportWizard::init(QList original, Context * /*mainWindow*/) { + // save target dir for the file import + this->homeImports = context->athlete->home->imports(); + this->homeActivities = context->athlete->home->activities(); + this->tmpActivities = context->athlete->home->tmpActivities(); + // expand files if they are archives - this may involve unzipping or extracting // files into a subdirectory, so we also clean-up // before we close. - QList files = expandFiles(original); + QList expanded = expandFiles(original); + + QList files; + if (autoImportMode) { + // on auto-import skip files present in imports folder to avoid re-import + foreach (QString fname, expanded) if (homeImports.entryList(QStringList()< original, Context * /*mainWindow*/) statusHeading->setText(tr("Import Status")); tableWidget->setHorizontalHeaderItem(STATUS_COLUMN, statusHeading); - // save target dir for the file import - this->homeImports = context->athlete->home->imports(); - this->homeActivities = context->athlete->home->activities(); - this->tmpActivities = context->athlete->home->tmpActivities(); - // Fill in the filenames and all the textItems for (int i=0; i < files.count(); i++) { QTableWidgetItem *t;