X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=767ab6f31149bd4881b0db163635c86025c08818;hb=951b5ae77957c8086f05fcd2b26beaf32f3e8e3e;hp=e48df546613a308b9e1374df3ea197be56fc71c5;hpb=ed43ef2e59baab85aa0381b08db101b7800e5c64;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index e48df54..767ab6f 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -274,12 +274,25 @@ void MainWindow::import_file(shared_ptr format) "%1 files (*.*);;All Files (*.*)").arg( QString::fromStdString(format->description()))); - if (!file_name.isEmpty()) { - load_file(file_name, format); + if (file_name.isEmpty()) + return; - const QString abs_path = QFileInfo(file_name).absolutePath(); - settings.setValue(SettingOpenDirectory, abs_path); + // Show the options dialog + map options; + if (!format->options().empty()) { + dialogs::InputOutputOptions dlg( + tr("Import %1").arg(QString::fromStdString( + format->description())), + format->options(), this); + if (!dlg.exec()) + return; + options = dlg.options(); } + + load_file(file_name, format, options); + + const QString abs_path = QFileInfo(file_name).absolutePath(); + settings.setValue(SettingOpenDirectory, abs_path); } void MainWindow::setup_ui() @@ -496,7 +509,6 @@ void MainWindow::restore_ui_settings() map dev_info; list key_list; - string value; settings.beginGroup("MainWindow"); @@ -517,12 +529,12 @@ void MainWindow::restore_ui_settings() key_list.push_back("connection_id"); for (string key : key_list) { - if (!settings.contains(QString::fromUtf8(key.c_str()))) + const QString k = QString::fromStdString(key); + if (!settings.contains(k)) continue; - value = settings.value(QString::fromUtf8(key.c_str())).toString().toStdString(); - - if (value.size() > 0) + const string value = settings.value(k).toString().toStdString(); + if (!value.empty()) dev_info.insert(std::make_pair(key, value)); }