mirror of
https://github.com/jankae/LibreVNA.git
synced 2025-12-06 07:12:10 +01:00
use native OS dialogs by default for load/save
This commit is contained in:
parent
fc717a8f88
commit
64a7ddc455
|
|
@ -5,6 +5,7 @@
|
|||
#include "unit.h"
|
||||
#include "Util/util.h"
|
||||
#include "LibreCAL/librecaldialog.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include "Eigen/Dense"
|
||||
|
||||
|
|
@ -1489,7 +1490,7 @@ bool Calibration::toFile(QString filename)
|
|||
{
|
||||
if(filename.isEmpty()) {
|
||||
QString fn = descriptiveCalName();
|
||||
filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", fn, "Calibration files (*.cal)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", fn, "Calibration files (*.cal)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return false;
|
||||
|
|
@ -1513,7 +1514,7 @@ bool Calibration::toFile(QString filename)
|
|||
bool Calibration::fromFile(QString filename)
|
||||
{
|
||||
if(filename.isEmpty()) {
|
||||
filename = QFileDialog::getOpenFileName(nullptr, "Load calibration data", "", "Calibration files (*.cal)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
filename = QFileDialog::getOpenFileName(nullptr, "Load calibration data", "", "Calibration files (*.cal)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "ui_calkitdialog.h"
|
||||
#include "CustomWidgets/informationbox.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QPushButton>
|
||||
#include <QDebug>
|
||||
|
|
@ -88,7 +89,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(this, "Open calibration kit coefficients", "", "Calibration kit files (*.calkit)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
try {
|
||||
kit = Calkit::fromFile(filename);
|
||||
|
|
@ -102,7 +103,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Save calibration kit coefficients", "", "Calibration kit files (*.calkit)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
parseEntries();
|
||||
kit.toFile(filename);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "csvimport.h"
|
||||
#include "ui_csvimport.h"
|
||||
#include "Traces/trace.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QDebug>
|
||||
|
|
@ -63,7 +64,7 @@ void CSVImport::selectTrace(unsigned int index)
|
|||
|
||||
void CSVImport::on_browse_clicked()
|
||||
{
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "CSV files (*.csv)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (filename.length() > 0) {
|
||||
ui->file->setText(filename);
|
||||
evaluateFile();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "touchstoneimport.h"
|
||||
|
||||
#include "ui_touchstoneimport.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QDebug>
|
||||
|
|
@ -111,7 +112,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "Touchstone files (*.s1p *.s2p *.s3p *.s4p)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (filename.length() > 0) {
|
||||
ui->file->setText(filename);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", "", fileFilter, nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
@ -70,7 +70,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Save calibration data", "", fileFilter, nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "CustomWidgets/informationbox.h"
|
||||
#include "unit.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
|
|
@ -28,7 +29,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
QString filename = QFileDialog::getSaveFileName(nullptr, "Load LibreVNA log data", "", "LibreVNA log files (*.vnalog)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
@ -42,7 +43,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
QString filename = QFileDialog::getOpenFileName(nullptr, "Load LibreVNA log data", "", "LibreVNA log files (*.vnalog)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include "ui_firmwareupdatedialog.h"
|
||||
#include "../../VNA_embedded/Application/Communication/PacketConstants.h"
|
||||
#include "CustomWidgets/informationbox.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QStyle>
|
||||
|
|
@ -51,7 +52,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open firmware file", "", "Firmware file (*.vnafw)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (filename.length() > 0) {
|
||||
ui->lFile->setText(filename);
|
||||
reloadFile();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "devicelog.h"
|
||||
|
||||
#include "ui_devicelog.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QScrollBar>
|
||||
#include <QFileDialog>
|
||||
|
|
@ -65,7 +66,7 @@ void DeviceLog::clear()
|
|||
|
||||
void DeviceLog::on_bToFile_clicked()
|
||||
{
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for device log", "", "", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for device log", "", "", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
// create file
|
||||
ofstream file;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ void TraceWidgetSA::exportDialog()
|
|||
|
||||
void TraceWidgetSA::importDialog()
|
||||
{
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "CSV files (*.csv)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (!filename.isEmpty()) {
|
||||
try {
|
||||
std::vector<Trace*> traces;
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ void EyeDiagramPlot::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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include "ui_tracecsvexport.h"
|
||||
#include "csv.h"
|
||||
|
||||
#include "preferences.h"
|
||||
#include "traceaxis.h"
|
||||
|
||||
#include <QDialogButtonBox>
|
||||
|
|
@ -72,7 +72,7 @@ void TraceCSVExport::on_buttonBox_accepted()
|
|||
return;
|
||||
}
|
||||
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", "", "CSV files (*.csv)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", "", "CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "Marker/marker.h"
|
||||
#include "Util/util.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
|
||||
|
|
@ -251,7 +252,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "ui_tracetouchstoneexport.h"
|
||||
#include "touchstone.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QFileDialog>
|
||||
|
|
@ -41,7 +42,7 @@ bool TraceTouchstoneExport::setPortNum(int ports)
|
|||
|
||||
void TraceTouchstoneExport::on_buttonBox_accepted()
|
||||
{
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for exporting traces", "", "Touchstone files (*.s1p *.s2p *.s3p *.s4p)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Select file for exporting traces", "", "Touchstone files (*.s1p *.s2p *.s3p *.s4p)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
auto ports = ui->sbPorts->value();
|
||||
auto t = Touchstone(ports);
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "ui_xyplotaxisdialog.h"
|
||||
#include "traceaxis.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QStandardItemModel>
|
||||
|
|
@ -239,7 +240,7 @@ XYplotAxisDialog::XYplotAxisDialog(TraceXYPlot *plot) :
|
|||
removeLine(index);
|
||||
});
|
||||
connect(ui->exportLines, &QPushButton::clicked, this, [=](){
|
||||
QString filename = QFileDialog::getSaveFileName(nullptr, "Save limit lines", "", "Limit files (*.limits)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
QString filename = QFileDialog::getSaveFileName(nullptr, "Save limit lines", "", "Limit files (*.limits)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
@ -262,7 +263,7 @@ XYplotAxisDialog::XYplotAxisDialog(TraceXYPlot *plot) :
|
|||
|
||||
});
|
||||
connect(ui->importLines, &QPushButton::clicked, [=](){
|
||||
QString filename = QFileDialog::getOpenFileName(nullptr, "Load limit lines", "", "Limit files (*.limits)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
QString filename = QFileDialog::getOpenFileName(nullptr, "Load limit lines", "", "Limit files (*.limits)", nullptr, Preferences::QFileDialogOptions());
|
||||
ifstream file;
|
||||
file.open(filename.toStdString());
|
||||
if(!file.is_open()) {
|
||||
|
|
|
|||
|
|
@ -764,7 +764,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "Touchstone files (*.s2p)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (!filename.isEmpty()) {
|
||||
try {
|
||||
*touchstone = Touchstone::fromFile(filename.toStdString());
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ void TraceWidgetVNA::exportTouchstone()
|
|||
|
||||
void TraceWidgetVNA::importDialog()
|
||||
{
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "Touchstone files (*.s1p *.s2p *.s3p *.s4p);;CSV files (*.csv)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Open measurement file", "", "Touchstone files (*.s1p *.s2p *.s3p *.s4p);;CSV files (*.csv)", nullptr, Preferences::QFileDialogOptions());
|
||||
if (!filename.isEmpty()) {
|
||||
try {
|
||||
std::vector<Trace*> traces;
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ VNA::VNA(AppWindow *window, QString name)
|
|||
if(window->getDevice()) {
|
||||
auto key = "DefaultCalibration"+window->getDevice()->getSerial();
|
||||
QSettings settings;
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Load calibration data", settings.value(key).toString(), "Calibration files (*.cal)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Load calibration data", settings.value(key).toString(), "Calibration files (*.cal)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(!filename.isEmpty()) {
|
||||
settings.setValue(key, filename);
|
||||
removeDefaultCal->setEnabled(true);
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ 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, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save setup data", "", "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
@ -237,7 +237,7 @@ void AppWindow::SetupMenu()
|
|||
SaveSetup(filename);
|
||||
});
|
||||
connect(ui->actionLoad_setup, &QAction::triggered, [=](){
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Load setup data", "", "Setup files (*.setup)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, "Load setup data", "", "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ Mode::Type Mode::TypeFromName(QString s)
|
|||
|
||||
void Mode::saveSreenshot()
|
||||
{
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, "Save plot image", "", "PNG image files (*.png)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -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, QFileDialog::DontUseNativeDialog));
|
||||
ui->StartupSetupFile->setText(QFileDialog::getOpenFileName(nullptr, "Select startup setup file", "", "Setup files (*.setup)", nullptr, Preferences::QFileDialogOptions()));
|
||||
});
|
||||
ui->StartupSweepStart->setUnit("Hz");
|
||||
ui->StartupSweepStart->setPrefixes(" kMG");
|
||||
|
|
@ -186,7 +186,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||
updateFromGUI();
|
||||
});
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Save), &QPushButton::clicked, [=](){
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Save preferences", "", "LibreVNA preferences files (*.vnapref)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(this, "Save preferences", "", "LibreVNA preferences files (*.vnapref)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
if(!filename.toLower().endsWith(".vnapref")) {
|
||||
filename.append(".vnapref");
|
||||
|
|
@ -199,7 +199,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||
}
|
||||
});
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Open), &QPushButton::clicked, [=](){
|
||||
auto filename = QFileDialog::getOpenFileName(this, "Load preferences", "", "LibreVNA preferences files (*.vnapref)", nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(this, "Load preferences", "", "LibreVNA preferences files (*.vnapref)", nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.length() > 0) {
|
||||
ifstream file;
|
||||
file.open(filename.toStdString());
|
||||
|
|
@ -334,6 +334,7 @@ void PreferencesDialog::setInitialGUIState()
|
|||
|
||||
ui->DebugMaxUSBlogSize->setValue(p->Debug.USBlogSizeLimit);
|
||||
ui->DebugSaveTraceData->setChecked(p->Debug.saveTraceData);
|
||||
ui->DebugUseNativeDialogs->setChecked(p->Debug.useNativeDialogs);
|
||||
|
||||
QTreeWidgetItem *item = ui->treeWidget->topLevelItem(0);
|
||||
if (item != nullptr) {
|
||||
|
|
@ -446,6 +447,7 @@ void PreferencesDialog::updateFromGUI()
|
|||
|
||||
p->Debug.USBlogSizeLimit = ui->DebugMaxUSBlogSize->value();
|
||||
p->Debug.saveTraceData = ui->DebugSaveTraceData->isChecked();
|
||||
p->Debug.useNativeDialogs = ui->DebugUseNativeDialogs->isChecked();
|
||||
|
||||
p->nonTrivialWriting();
|
||||
}
|
||||
|
|
@ -522,6 +524,14 @@ void Preferences::setDefault(std::vector<Savable::SettingDescription> descr)
|
|||
}
|
||||
}
|
||||
|
||||
QFileDialog::Options Preferences::QFileDialogOptions(QFileDialog::Options option)
|
||||
{
|
||||
if(!instance.Debug.useNativeDialogs) {
|
||||
option = (QFileDialog::Option) ((int) option | QFileDialog::DontUseNativeDialog);
|
||||
}
|
||||
return option;
|
||||
}
|
||||
|
||||
void Preferences::fromJSON(nlohmann::json j)
|
||||
{
|
||||
parseJSON(j, descr);
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "Device/LibreVNA/Compound/compounddevice.h"
|
||||
|
||||
#include <QDialog>
|
||||
#include <QFileDialog>
|
||||
#include <QVariant>
|
||||
#include <exception>
|
||||
|
||||
|
|
@ -61,6 +62,8 @@ public:
|
|||
|
||||
void manualTCPport() { TCPoverride = true; }
|
||||
|
||||
static QFileDialog::Options QFileDialogOptions(QFileDialog::Options option = (QFileDialog::Options) 0x00000000);
|
||||
|
||||
struct {
|
||||
bool ConnectToFirstDevice;
|
||||
bool RememberSweepSettings;
|
||||
|
|
@ -190,6 +193,7 @@ public:
|
|||
struct {
|
||||
double USBlogSizeLimit;
|
||||
bool saveTraceData;
|
||||
bool useNativeDialogs;
|
||||
} Debug;
|
||||
|
||||
bool TCPoverride; // in case of manual port specification via command line
|
||||
|
|
@ -310,6 +314,7 @@ private:
|
|||
{&StreamingServers.SANormalizedData.port, "StreamingServers.SANormalizedData.port", 19101},
|
||||
{&Debug.USBlogSizeLimit, "Debug.USBlogSizeLimit", 10000000.0},
|
||||
{&Debug.saveTraceData, "Debug.saveTraceData", false},
|
||||
{&Debug.useNativeDialogs, "Debug.useNativeDialogs", true},
|
||||
}};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="Startup">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
|
|
@ -112,8 +112,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>424</width>
|
||||
<height>852</height>
|
||||
<width>679</width>
|
||||
<height>836</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_13">
|
||||
|
|
@ -703,8 +703,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>450</width>
|
||||
<height>416</height>
|
||||
<width>696</width>
|
||||
<height>564</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_21">
|
||||
|
|
@ -943,7 +943,7 @@
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<y>-400</y>
|
||||
<width>679</width>
|
||||
<height>964</height>
|
||||
</rect>
|
||||
|
|
@ -2074,8 +2074,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>194</width>
|
||||
<height>146</height>
|
||||
<width>696</width>
|
||||
<height>564</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_19">
|
||||
|
|
@ -2116,6 +2116,22 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_25">
|
||||
<property name="title">
|
||||
<string>Load/save dialogs</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_24">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="DebugUseNativeDialogs">
|
||||
<property name="text">
|
||||
<string>Use native dialogs from OS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_9">
|
||||
<property name="orientation">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include "savable.h"
|
||||
#include "CustomWidgets/informationbox.h"
|
||||
#include "preferences.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <fstream>
|
||||
|
|
@ -9,7 +10,7 @@ using namespace std;
|
|||
|
||||
bool Savable::openFromFileDialog(QString title, QString filetype)
|
||||
{
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, title, "", filetype, nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getOpenFileName(nullptr, title, "", filetype, nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return false;
|
||||
|
|
@ -36,7 +37,7 @@ bool Savable::openFromFileDialog(QString title, QString filetype)
|
|||
|
||||
bool Savable::saveToFileDialog(QString title, QString filetype, QString ending)
|
||||
{
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, title, "", filetype, nullptr, QFileDialog::DontUseNativeDialog);
|
||||
auto filename = QFileDialog::getSaveFileName(nullptr, title, "", filetype, nullptr, Preferences::QFileDialogOptions());
|
||||
if(filename.isEmpty()) {
|
||||
// aborted selection
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in a new issue