diff --git a/Software/PC_Application/Traces/traceimportdialog.cpp b/Software/PC_Application/Traces/traceimportdialog.cpp index f0a91c7..4f574fc 100644 --- a/Software/PC_Application/Traces/traceimportdialog.cpp +++ b/Software/PC_Application/Traces/traceimportdialog.cpp @@ -23,7 +23,8 @@ TraceImportDialog::~TraceImportDialog() void TraceImportDialog::on_buttonBox_accepted() { - tableModel->import(model); + auto traces = tableModel->import(model); + emit importFinsished(traces); } TraceParameterModel::TraceParameterModel(std::vector traces, QString prefix, QObject *parent) @@ -153,17 +154,20 @@ Qt::ItemFlags TraceParameterModel::flags(const QModelIndex &index) const return (Qt::ItemFlags) flags; } -void TraceParameterModel::import(TraceModel &model) +std::vector TraceParameterModel::import(TraceModel &model) { + std::vector importedTraces; for(unsigned int i=0;isetColor(params[i].color); traces[i]->setName(params[i].name); model.addTrace(traces[i]); + importedTraces.push_back(traces[i]); } else { delete traces[i]; } } + return importedTraces; } void TraceImportDialog::on_tableView_doubleClicked(const QModelIndex &index) diff --git a/Software/PC_Application/Traces/traceimportdialog.h b/Software/PC_Application/Traces/traceimportdialog.h index ff8aab8..19dc5e1 100644 --- a/Software/PC_Application/Traces/traceimportdialog.h +++ b/Software/PC_Application/Traces/traceimportdialog.h @@ -25,7 +25,7 @@ public: Qt::ItemFlags flags(const QModelIndex &index) const override; // adds all enabled traces to the model, deletes other traces - void import(TraceModel &model); + std::vector import(TraceModel &model); private: class Parameter { public: @@ -50,6 +50,9 @@ private slots: void on_buttonBox_accepted(); void on_tableView_doubleClicked(const QModelIndex &index); +signals: + void importFinsished(const std::vector &traces); + private: Ui::TraceImportDialog *ui; TraceModel &model; diff --git a/Software/PC_Application/VNA/tracewidgetvna.cpp b/Software/PC_Application/VNA/tracewidgetvna.cpp index a311e81..cdf6893 100644 --- a/Software/PC_Application/VNA/tracewidgetvna.cpp +++ b/Software/PC_Application/VNA/tracewidgetvna.cpp @@ -66,5 +66,13 @@ void TraceWidgetVNA::importDialog() prefix.append("_"); auto i = new TraceImportDialog(model, traces, prefix); i->show(); + if(filename.endsWith(".s2p")) { + // potential candidate to process via calibration/de-embedding + connect(i, &TraceImportDialog::importFinsished, [](const std::vector &traces) { + if(traces.size() == 4) { + // all traces imported, can calculate calibration/de-embedding + } + }); + } } }