"%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<string, Glib::VariantBase> 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()
map<string, string> dev_info;
list<string> key_list;
- string value;
settings.beginGroup("MainWindow");
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));
}