mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-01-22 16:40:19 +01:00
remember last used load/save paths in preferences
This commit is contained in:
parent
d8f042dcaa
commit
3330cee2ba
|
|
@ -1487,11 +1487,12 @@ bool Calibration::toFile(QString filename)
|
|||
{
|
||||
if(filename.isEmpty()) {
|
||||
QString fn = descriptiveCalName();
|
||||
filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", fn, "Calibration files (*.cal)", nullptr, Preferences::QFileDialogOptions());
|
||||
filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", Preferences::getInstance().UISettings.Paths.cal + "/" + fn, "Calibration files (*.cal)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return false;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.cal = QFileInfo(filename).path();
|
||||
}
|
||||
|
||||
if(filename.toLower().endsWith(".cal")) {
|
||||
|
|
@ -1511,11 +1512,12 @@ bool Calibration::toFile(QString filename)
|
|||
bool Calibration::fromFile(QString filename)
|
||||
{
|
||||
if(filename.isEmpty()) {
|
||||
filename = QFileDialog::getOpenFileName(nullptr, "Load calibration data", "", "Calibration files (*.cal)", nullptr, Preferences::QFileDialogOptions());
|
||||
filename = QFileDialog::getOpenFileName(nullptr, "Load calibration data", Preferences::getInstance().UISettings.Paths.cal, "Calibration files (*.cal)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return false;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.cal = QFileInfo(filename).path();
|
||||
}
|
||||
|
||||
// force correct file ending
|
||||
|
|
|
|||
|
|
@ -89,8 +89,9 @@ CalkitDialog::CalkitDialog(Calkit &c, QWidget *parent) :
|
|||
accept();
|
||||
});
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Open), &QPushButton::clicked, [=](){
|
||||
auto filename = QFileDialog::getOpenFileName(this, "Open calibration kit coefficients", "", "Calibration kit files (*.calkit)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(this, "Open calibration kit coefficients", Preferences::getInstance().UISettings.Paths.calkit, "Calibration kit files (*.calkit)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
Preferences::getInstance().UISettings.Paths.calkit = QFileInfo(filename).path();
|
||||
try {
|
||||
kit = Calkit::fromFile(filename);
|
||||
} catch (runtime_error &e) {
|
||||
|
|
@ -103,8 +104,9 @@ CalkitDialog::CalkitDialog(Calkit &c, QWidget *parent) :
|
|||
});
|
||||
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Save), &QPushButton::clicked, [=](){
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Save calibration kit coefficients", "", "Calibration kit files (*.calkit)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Save calibration kit coefficients", Preferences::getInstance().UISettings.Paths.calkit, "Calibration kit files (*.calkit)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
Preferences::getInstance().UISettings.Paths.calkit = QFileInfo(filename).path();
|
||||
parseEntries();
|
||||
kit.toFile(filename);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,8 +64,9 @@ void CSVImport::selectTrace(unsigned int index)
|
|||
|
||||
void CSVImport::on_browse_clicked()
|
||||
{
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", Preferences::getInstance().UISettings.Paths.data, "CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (filename.length() > 0) {
|
||||
Preferences::getInstance().UISettings.Paths.data = QFileInfo(filename).path();
|
||||
ui->file->setText(filename);
|
||||
evaluateFile();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,8 +112,9 @@ void TouchstoneImport::setFile(QString filename)
|
|||
|
||||
void TouchstoneImport::on_browse_clicked()
|
||||
{
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "Touchstone files (*.s1p *.s2p *.s3p *.s4p)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", Preferences::getInstance().UISettings.Paths.data, "Touchstone files (*.s1p *.s2p *.s3p *.s4p)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (filename.length() > 0) {
|
||||
Preferences::getInstance().UISettings.Paths.data = QFileInfo(filename).path();
|
||||
ui->file->setText(filename);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,11 +44,12 @@ AmplitudeCalDialog::AmplitudeCalDialog(LibreVNADriver *dev, QWidget *parent) :
|
|||
connect(ui->saveFile, &QPushButton::clicked, [=](){
|
||||
auto fileEnding = pointType() == Protocol::PacketType::SourceCalPoint ? ".srccal" : ".recvcal";
|
||||
auto fileFilter = QString("Amplitude calibration files (*")+fileEnding+")";
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", "", fileFilter, nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", Preferences::getInstance().UISettings.Paths.vnacaldata, fileFilter, nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.vnacaldata = QFileInfo(filename).path();
|
||||
if(!filename.endsWith(fileEnding)) {
|
||||
filename.append(fileEnding);
|
||||
}
|
||||
|
|
@ -70,11 +71,12 @@ AmplitudeCalDialog::AmplitudeCalDialog(LibreVNADriver *dev, QWidget *parent) :
|
|||
connect(ui->loadFile, &QPushButton::clicked, [=](){
|
||||
auto fileEnding = pointType() == Protocol::PacketType::SourceCalPoint ? ".srccal" : ".recvcal";
|
||||
auto fileFilter = QString("Amplitude calibration files (*")+fileEnding+")";
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Save calibration data", "", fileFilter, nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Save calibration data", Preferences::getInstance().UISettings.Paths.vnacaldata, fileFilter, nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.vnacaldata = QFileInfo(filename).path();
|
||||
ifstream file;
|
||||
file.open(filename.toStdString());
|
||||
if(!file.is_open()) {
|
||||
|
|
|
|||
|
|
@ -29,11 +29,12 @@ DevicePacketLogView::DevicePacketLogView(QWidget *parent) :
|
|||
updateTree();
|
||||
});
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Save), &QPushButton::clicked, [=](){
|
||||
QString filename = QFileDialog::getSaveFileName(nullptr, "Load LibreVNA log data", "", "LibreVNA log files (*.vnalog)", nullptr, Preferences::QFileDialogOptions());
|
||||
QString filename = QFileDialog::getSaveFileName(nullptr, "Save LibreVNA log data", Preferences::getInstance().UISettings.Paths.packetlog, "LibreVNA log files (*.vnalog)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.packetlog = QFileInfo(filename).path();
|
||||
if(!filename.endsWith(".vnalog")) {
|
||||
filename.append(".vnalog");
|
||||
}
|
||||
|
|
@ -43,11 +44,12 @@ DevicePacketLogView::DevicePacketLogView(QWidget *parent) :
|
|||
file.close();
|
||||
});
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Open), &QPushButton::clicked, [=](){
|
||||
QString filename = QFileDialog::getOpenFileName(nullptr, "Load LibreVNA log data", "", "LibreVNA log files (*.vnalog)", nullptr, Preferences::QFileDialogOptions());
|
||||
QString filename = QFileDialog::getOpenFileName(nullptr, "Load LibreVNA log data", Preferences::getInstance().UISettings.Paths.packetlog, "LibreVNA log files (*.vnalog)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.packetlog = QFileInfo(filename).path();
|
||||
ifstream file;
|
||||
file.open(filename.toStdString());
|
||||
if(!file.is_open()) {
|
||||
|
|
|
|||
|
|
@ -52,8 +52,9 @@ bool FirmwareUpdateDialog::FirmwareUpdate(LibreVNADriver *dev, QString file)
|
|||
void FirmwareUpdateDialog::on_bFile_clicked()
|
||||
{
|
||||
ui->bStart->setEnabled(false);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open firmware file", "", "Firmware file (*.vnafw)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open firmware file", Preferences::getInstance().UISettings.Paths.firmware, "Firmware file (*.vnafw)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (filename.length() > 0) {
|
||||
Preferences::getInstance().UISettings.Paths.firmware = QFileInfo(filename).path();
|
||||
ui->lFile->setText(filename);
|
||||
reloadFile();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,8 +68,9 @@ void DeviceLog::clear()
|
|||
|
||||
void DeviceLog::on_bToFile_clicked()
|
||||
{
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for device log", "", "", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for device log", Preferences::getInstance().UISettings.Paths.packetlog, "", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
Preferences::getInstance().UISettings.Paths.packetlog = QFileInfo(filename).path();
|
||||
// create file
|
||||
ofstream file;
|
||||
file.open(filename.toStdString());
|
||||
|
|
|
|||
|
|
@ -403,11 +403,12 @@ void EyeDiagramPlot::updateContextMenu()
|
|||
auto image = new QAction("Save image...", contextmenu);
|
||||
contextmenu->addAction(image);
|
||||
connect(image, &QAction::triggered, this, [=]() {
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", Preferences::getInstance().UISettings.Paths.image, "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.image = QFileInfo(filename).path();
|
||||
if(filename.endsWith(".png")) {
|
||||
filename.chop(4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,11 +72,12 @@ void TraceCSVExport::on_buttonBox_accepted()
|
|||
return;
|
||||
}
|
||||
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", "", "CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", Preferences::getInstance().UISettings.Paths.data, "CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.data = QFileInfo(filename).path();
|
||||
if(!filename.endsWith(".csv")) {
|
||||
filename.append(".csv");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -253,11 +253,12 @@ void TracePolar::updateContextMenu()
|
|||
auto image = new QAction("Save image...", contextmenu);
|
||||
contextmenu->addAction(image);
|
||||
connect(image, &QAction::triggered, [=]() {
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", Preferences::getInstance().UISettings.Paths.image, "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.image = QFileInfo(filename).path();
|
||||
if(filename.endsWith(".png")) {
|
||||
filename.chop(4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,8 +99,9 @@ void TraceTouchstoneExport::on_buttonBox_accepted()
|
|||
{
|
||||
unsigned int ports = ui->sbPorts->value();
|
||||
QString extension = ".s"+QString::number(ports)+"p";
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for exporting traces", "", "Touchstone files (*"+extension+")", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for exporting traces", Preferences::getInstance().UISettings.Paths.data, "Touchstone files (*"+extension+")", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
Preferences::getInstance().UISettings.Paths.data = QFileInfo(filename).path();
|
||||
auto t = Touchstone(ports);
|
||||
t.setReferenceImpedance(ui->selector->getReferenceImpedance());
|
||||
// add trace points to touchstone
|
||||
|
|
|
|||
|
|
@ -213,11 +213,12 @@ void TraceWaterfall::updateContextMenu()
|
|||
auto image = new QAction("Save image...", contextmenu);
|
||||
contextmenu->addAction(image);
|
||||
connect(image, &QAction::triggered, [=]() {
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", Preferences::getInstance().UISettings.Paths.image, "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.image = QFileInfo(filename).path();
|
||||
if(filename.endsWith(".png")) {
|
||||
filename.chop(4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -222,8 +222,9 @@ void TraceWidget::importDialog()
|
|||
}
|
||||
supported.chop(1);
|
||||
supported += ")";
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", supported, nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", Preferences::getInstance().UISettings.Paths.data, supported, nullptr, Preferences::QFileDialogOptions());
|
||||
if (!filename.isEmpty()) {
|
||||
Preferences::getInstance().UISettings.Paths.data = QFileInfo(filename).path();
|
||||
importFile(filename);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -350,11 +350,12 @@ void TraceXYPlot::updateContextMenu()
|
|||
auto image = new QAction("Save image...", contextmenu);
|
||||
contextmenu->addAction(image);
|
||||
connect(image, &QAction::triggered, [=]() {
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", Preferences::getInstance().UISettings.Paths.image, "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.image = QFileInfo(filename).path();
|
||||
if(filename.endsWith(".png")) {
|
||||
filename.chop(4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -242,11 +242,12 @@ XYplotAxisDialog::XYplotAxisDialog(TraceXYPlot *plot) :
|
|||
removeLine(index);
|
||||
});
|
||||
connect(ui->exportLines, &QPushButton::clicked, this, [=](){
|
||||
QString filename = QFileDialog::getSaveFileName(nullptr, "Save limit lines", "", "Limit files (*.limits)", nullptr, Preferences::QFileDialogOptions());
|
||||
QString filename = QFileDialog::getSaveFileName(nullptr, "Save limit lines", Preferences::getInstance().UISettings.Paths.limitLines, "Limit files (*.limits)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.limitLines = QFileInfo(filename).path();
|
||||
if(!filename.endsWith(".limits")) {
|
||||
filename.append(".limits");
|
||||
}
|
||||
|
|
@ -265,7 +266,7 @@ XYplotAxisDialog::XYplotAxisDialog(TraceXYPlot *plot) :
|
|||
|
||||
});
|
||||
connect(ui->importLines, &QPushButton::clicked, [=](){
|
||||
QString filename = QFileDialog::getOpenFileName(nullptr, "Load limit lines", "", "Limit files (*.limits)", nullptr, Preferences::QFileDialogOptions());
|
||||
QString filename = QFileDialog::getOpenFileName(nullptr, "Load limit lines", Preferences::getInstance().UISettings.Paths.limitLines, "Limit files (*.limits)", nullptr, Preferences::QFileDialogOptions());
|
||||
ifstream file;
|
||||
file.open(filename.toStdString());
|
||||
if(!file.is_open()) {
|
||||
|
|
|
|||
|
|
@ -767,8 +767,9 @@ void MatchingComponent::mouseDoubleClickEvent(QMouseEvent *e)
|
|||
Q_UNUSED(e);
|
||||
if(type == Type::DefinedThrough || type == Type::DefinedShunt) {
|
||||
// select new touchstone file
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "Touchstone files (*.s2p)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", Preferences::getInstance().UISettings.Paths.data, "Touchstone files (*.s2p)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (!filename.isEmpty()) {
|
||||
Preferences::getInstance().UISettings.Paths.data = QFileInfo(filename).path();
|
||||
try {
|
||||
*touchstone = Touchstone::fromFile(filename.toStdString());
|
||||
} catch(const std::exception& e) {
|
||||
|
|
|
|||
|
|
@ -229,19 +229,21 @@ void AppWindow::SetupMenu()
|
|||
connect(ui->actionDisconnect, &QAction::triggered, this, &AppWindow::DisconnectDevice);
|
||||
connect(ui->actionQuit, &QAction::triggered, this, &AppWindow::close);
|
||||
connect(ui->actionSave_setup, &QAction::triggered, [=](){
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save setup data", "", "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save setup data", Preferences::getInstance().UISettings.Paths.setup, "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.setup = QFileInfo(filename).path();
|
||||
SaveSetup(filename);
|
||||
});
|
||||
connect(ui->actionLoad_setup, &QAction::triggered, [=](){
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Load setup data", "", "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Load setup data", Preferences::getInstance().UISettings.Paths.setup, "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.setup = QFileInfo(filename).path();
|
||||
LoadSetup(filename);
|
||||
});
|
||||
connect(ui->actionSave_image, &QAction::triggered, [=](){
|
||||
|
|
|
|||
|
|
@ -141,11 +141,12 @@ Mode::Type Mode::TypeFromName(QString s)
|
|||
|
||||
void Mode::saveSreenshot()
|
||||
{
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", Preferences::getInstance().UISettings.Paths.image, "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
}
|
||||
Preferences::getInstance().UISettings.Paths.image = QFileInfo(filename).path();
|
||||
if(filename.endsWith(".png")) {
|
||||
filename.chop(4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||
ui->StartupStack->setCurrentWidget(ui->StartupPageSetupFile);
|
||||
});
|
||||
connect(ui->StartupBrowse, &QPushButton::clicked, [=](){
|
||||
ui->StartupSetupFile->setText(QFileDialog::getOpenFileName(nullptr, "Select startup setup file", "", "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions()));
|
||||
ui->StartupSetupFile->setText(QFileDialog::getOpenFileName(nullptr, "Select startup setup file", Preferences::getInstance().UISettings.Paths.setup, "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions()));
|
||||
});
|
||||
ui->StartupSweepStart->setUnit("Hz");
|
||||
ui->StartupSweepStart->setPrefixes(" kMG");
|
||||
|
|
@ -203,29 +203,31 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||
emit p->updated();
|
||||
});
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Save), &QPushButton::clicked, [=](){
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Save preferences", "", "LibreVNA preferences files (*.vnapref)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Save preferences", Preferences::getInstance().UISettings.Paths.pref, "LibreVNA preferences files (*.vnapref)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
if(!filename.toLower().endsWith(".vnapref")) {
|
||||
Preferences::getInstance().UISettings.Paths.pref = QFileInfo(filename).path();
|
||||
if(!filename.toLower().endsWith(".vnapref")) {
|
||||
filename.append(".vnapref");
|
||||
}
|
||||
ofstream file;
|
||||
file.open(filename.toStdString());
|
||||
updateFromGUI();
|
||||
file << setw(1) << p->toJSON();
|
||||
file.close();
|
||||
}
|
||||
ofstream file;
|
||||
file.open(filename.toStdString());
|
||||
updateFromGUI();
|
||||
file << setw(1) << p->toJSON();
|
||||
file.close();
|
||||
}
|
||||
});
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Open), &QPushButton::clicked, [=](){
|
||||
auto filename = QFileDialog::getOpenFileName(this, "Load preferences", "", "LibreVNA preferences files (*.vnapref)", nullptr, Preferences::QFileDialogOptions());
|
||||
auto filename = QFileDialog::getOpenFileName(this, "Load preferences", Preferences::getInstance().UISettings.Paths.pref, "LibreVNA preferences files (*.vnapref)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
ifstream file;
|
||||
file.open(filename.toStdString());
|
||||
nlohmann::json j;
|
||||
file >> j;
|
||||
file.close();
|
||||
p->fromJSON(j);
|
||||
setInitialGUIState();
|
||||
emit p->updated();
|
||||
Preferences::getInstance().UISettings.Paths.pref = QFileInfo(filename).path();
|
||||
ifstream file;
|
||||
file.open(filename.toStdString());
|
||||
nlohmann::json j;
|
||||
file >> j;
|
||||
file.close();
|
||||
p->fromJSON(j);
|
||||
setInitialGUIState();
|
||||
emit p->updated();
|
||||
}
|
||||
});
|
||||
connect(ui->AcquisitionLimitTDRCheckbox, &QCheckBox::toggled, [=](bool enabled){
|
||||
|
|
|
|||
|
|
@ -214,6 +214,18 @@ public:
|
|||
unsigned int unitIndex;
|
||||
QString exportedTraceNames;
|
||||
} TouchstoneExport;
|
||||
struct {
|
||||
QString setup;
|
||||
QString cal;
|
||||
QString calkit;
|
||||
QString data;
|
||||
QString image;
|
||||
QString vnacaldata;
|
||||
QString packetlog;
|
||||
QString limitLines;
|
||||
QString pref;
|
||||
QString firmware;
|
||||
} Paths;
|
||||
} UISettings;
|
||||
|
||||
bool TCPoverride; // in case of manual port specification via command line
|
||||
|
|
@ -387,6 +399,16 @@ private:
|
|||
{&UISettings.TouchstoneExport.formatIndex, "UISettings.TouchstoneExport.formatIndex", 2},
|
||||
{&UISettings.TouchstoneExport.unitIndex, "UISettings.TouchstoneExport.unitIndex", 3},
|
||||
{&UISettings.TouchstoneExport.exportedTraceNames, "UISettings.TouchstoneExport.exportedTraceNames", ""},
|
||||
{&UISettings.Paths.setup, "UISettings.Paths.setup", ""},
|
||||
{&UISettings.Paths.cal, "UISettings.Paths.cal", ""},
|
||||
{&UISettings.Paths.calkit, "UISettings.Paths.calkit", ""},
|
||||
{&UISettings.Paths.data, "UISettings.Paths.data", ""},
|
||||
{&UISettings.Paths.image, "UISettings.Paths.image", ""},
|
||||
{&UISettings.Paths.vnacaldata, "UISettings.Paths.vnacaldata", ""},
|
||||
{&UISettings.Paths.packetlog, "UISettings.Paths.packetlog", ""},
|
||||
{&UISettings.Paths.limitLines, "UISettings.Paths.limitLines", ""},
|
||||
{&UISettings.Paths.pref, "UISettings.Paths.pref", ""},
|
||||
{&UISettings.Paths.firmware, "UISettings.Paths.firmware", ""},
|
||||
}};
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue