diff --git a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp index 060cf5001622f01286319b61038ff88bad8f4636..f44830282a0a41520b13cef52aafb48920337f7e 100644 --- a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp +++ b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp @@ -33,6 +33,7 @@ #include "ui_edit_tandem_preset_dialog.h" #include <QSettings> +#include <QDir> EditTandemPresetDialog::EditTandemPresetDialog(QWidget * parent): @@ -70,6 +71,7 @@ void EditTandemPresetDialog::setTandemParametersFiles(const TandemParametersFile } _tandem_params = _p_tandem_preset_file->getTandemParameters(); + fillPresetComboBox(); populate(); } @@ -95,17 +97,13 @@ void EditTandemPresetDialog::doSave() { throw pappso::PappsoException(QObject::tr("_p_tandem_preset_file == nullptr")); } _p_tandem_preset_file->setTandemParameters(_tandem_params); + fillPresetComboBox(); } void EditTandemPresetDialog::doLoad() { - int index = ui->preset_combobox->currentIndex(); + int index = ui->preset_combo_box->currentIndex(); if ( index != -1 ) { // -1 for not found - ui->preset_combobox->itemData(index).value<QString>(); - - QSettings settings; - QString default_preset_location = settings.value("path/tandemrun_preset_directory", "").toString(); if (_p_tandem_preset_file == nullptr) { - throw pappso::PappsoException(QObject::tr("_p_tandem_preset_file == nullptr")); } else { @@ -113,16 +111,38 @@ if (_p_tandem_preset_file == nullptr) { } QSettings settings; QString default_preset_location = settings.value("path/tandemrun_preset_directory", "").toString(); - u -_p_tandem_preset_file = new TandemParametersFile(QString("%1/%2.xml").arg(default_preset_location).arg(ui->preset_combobox)); + +_p_tandem_preset_file = new TandemParametersFile( + ui->preset_combo_box->itemData(index).value<QString>()); +_tandem_params = _p_tandem_preset_file->getTandemParameters(); +populate(); } } -void EditTandemPresetDialog::doEdit() { +void EditTandemPresetDialog::fillPresetComboBox() { + ui->preset_combo_box->clear(); + QSettings settings; + QString default_preset_location = settings.value("path/tandemrun_preset_directory", "").toString(); + QString default_preset_name = _tandem_params.getMethodName(); + + QDir preset_dir(default_preset_location); + QStringList filters; + filters << "*.xml"; + preset_dir.setNameFilters(filters); + for (QFileInfo file_info: preset_dir.entryInfoList() ) { + ui->preset_combo_box->addItem(file_info.baseName(), QVariant(file_info.absoluteFilePath())); + } + int index = ui->preset_combo_box->findText(default_preset_name); + if ( index != -1 ) { // -1 for not found + ui->preset_combo_box->setCurrentIndex(index); + } + +} +void EditTandemPresetDialog::doEdit(QString value) { QObject *senderObj = sender(); QString senderObjName = senderObj->objectName(); - qDebug() << "EditTandemPresetDialog::doEdit begin " << senderObjName; + qDebug() << "EditTandemPresetDialog::doEdit begin " << senderObjName << " " << value; qDebug() << "EditTandemPresetDialog::doEdit end " << senderObjName; } void EditTandemPresetDialog::doHelp() { diff --git a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h index e0190d942dc1aeb6521b0a39a6bd5eb2248ed97e..8c4f68c899d3842ab6e23bb44acad0d22808e4c9 100644 --- a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h +++ b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h @@ -51,9 +51,10 @@ public slots: void doHelp (); void doSave(); void doCopy(); - void doEdit(); + void doEdit(QString value); void doLoad(); private: + void fillPresetComboBox(); void populate(); void readUi();