diff --git a/src/Gui/BatchProcessingDialog.cpp b/src/Gui/BatchProcessingDialog.cpp index 66a4c4e86..73d53e3f1 100644 --- a/src/Gui/BatchProcessingDialog.cpp +++ b/src/Gui/BatchProcessingDialog.cpp @@ -38,7 +38,7 @@ #include BatchProcessingDialog::BatchProcessingDialog(Context* context) : QDialog(context->mainWindow), context(context), -processed(0), fails(0), numFilesToProcess(0) { +processed(0), fails(0), numFilesToProcess(0), metadataCompleter(nullptr) { setAttribute(Qt::WA_DeleteOnClose); setWindowTitle(tr("Activity Batch Processing")); @@ -304,6 +304,11 @@ processed(0), fails(0), numFilesToProcess(0) { updateNumberSelected(); } + +BatchProcessingDialog::~BatchProcessingDialog() { + if (metadataCompleter) delete metadataCompleter; +} + void BatchProcessingDialog::updateNumberSelected() { status->setText(QString(tr("%1 files selected")).arg(numFilesToProcess)); @@ -518,6 +523,9 @@ BatchProcessingDialog::updateMetadataTypeField() { case FIELD_SHORTTEXT: default: { metadataEditField->setText(tr("")); + if (metadataCompleter) delete metadataCompleter; + metadataCompleter = field.getCompleter(this, context->athlete->rideCache); + metadataEditField->setCompleter(metadataCompleter); // Set or clear the completer return; } } diff --git a/src/Gui/BatchProcessingDialog.h b/src/Gui/BatchProcessingDialog.h index c9f640fae..5f9ba6b44 100644 --- a/src/Gui/BatchProcessingDialog.h +++ b/src/Gui/BatchProcessingDialog.h @@ -40,13 +40,14 @@ #include // Dialog class to allow batch processing of activities -class BatchProcessingDialog : public QDialog +class BatchProcessingDialog final : public QDialog { Q_OBJECT G_OBJECT public: BatchProcessingDialog(Context *context); + ~BatchProcessingDialog(); protected: @@ -93,6 +94,7 @@ private: QComboBox *fileFormat, *dataProcessorToRun; QComboBox *metadataFieldToSet; QLineEdit *metadataEditField; + QCompleter *metadataCompleter; QLabel *dirName, *status; QCheckBox *overwrite, *all;