mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-04-06 15:04:11 +00:00
use native OS dialogs by default for load/save
This commit is contained in:
parent
fc717a8f88
commit
64a7ddc455
25 changed files with 83 additions and 41 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue