+void MainWindow::export_file(shared_ptr<OutputFormat> format)
+{
+ using pv::dialogs::StoreProgress;
+
+ // Stop any currently running capture session
+ session_.stop_capture();
+
+ QSettings settings;
+ const QString dir = settings.value(SettingSaveDirectory).toString();
+
+ // Show the dialog
+ const QString file_name = QFileDialog::getSaveFileName(
+ this, tr("Save File"), dir, tr("%1 files (*.*)").arg(
+ QString::fromStdString(format->description())));
+
+ if (file_name.isEmpty())
+ return;
+
+ const QString abs_path = QFileInfo(file_name).absolutePath();
+ settings.setValue(SettingSaveDirectory, abs_path);
+
+ StoreProgress *dlg = new StoreProgress(file_name, format,
+ session_, this);
+ dlg->run();
+}
+