LibreVNA/Software/PC_Application/SpectrumAnalyzer/tracewidgetsa.cpp

40 lines
1.2 KiB
C++
Raw Normal View History

#include "tracewidgetsa.h"
2020-12-12 03:28:40 +08:00
#include "Traces/tracecsvexport.h"
2020-12-13 05:51:38 +08:00
#include <QFileDialog>
#include "Traces/traceimportdialog.h"
2020-12-12 03:28:40 +08:00
TraceWidgetSA::TraceWidgetSA(TraceModel &model, QWidget *parent)
: TraceWidget(model, parent)
{
}
2020-12-12 03:28:40 +08:00
void TraceWidgetSA::exportDialog()
{
auto csv = new TraceCSVExport(model);
csv->show();
}
2020-12-13 05:51:38 +08:00
void TraceWidgetSA::importDialog()
{
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "CSV files (*.csv)", nullptr, QFileDialog::DontUseNativeDialog);
if (!filename.isEmpty()) {
std::vector<Trace*> traces;
QString prefix = QString();
auto csv = CSV::fromFile(filename);
traces = Trace::createFromCSV(csv);
// contruct prefix from filename
prefix = filename;
// remove any directory names (keep only the filename itself)
int lastSlash = qMax(prefix.lastIndexOf('/'), prefix.lastIndexOf('\\'));
if(lastSlash != -1) {
prefix.remove(0, lastSlash + 1);
}
// remove file type
prefix.truncate(prefix.indexOf('.'));
prefix.append("_");
auto i = new TraceImportDialog(model, traces, prefix);
i->show();
}
}