#include <algorithm>
#include <iterator>
+#include <boost/algorithm/string/join.hpp>
+
#include <QAction>
#include <QApplication>
#include <QButtonGroup>
using std::map;
using std::shared_ptr;
using std::string;
+using std::vector;
+
+using boost::algorithm::join;
using sigrok::Device;
using sigrok::Error;
action_view_zoom_fit_(new QAction(this)),
action_view_zoom_one_to_one_(new QAction(this)),
action_view_show_cursors_(new QAction(this)),
- action_about_(new QAction(this)),
- menu_decoders_add_(new pv::widgets::DecoderMenu(this, true))
+ action_about_(new QAction(this))
+#ifdef ENABLE_DECODE
+ , menu_decoders_add_(new pv::widgets::DecoderMenu(this, true))
+#endif
{
setup_ui();
restore_ui_settings();
return action_about_;
}
+#ifdef ENABLE_DECODE
QMenu* MainWindow::menu_decoder_add() const
{
return menu_decoders_add_;
}
+#endif
void MainWindow::run_stop()
{
QSettings settings;
const QString dir = settings.value(SettingSaveDirectory).toString();
+ // Construct the filter
+ const vector<string> exts = format->extensions();
+ QString filter = tr("%1 files ").arg(
+ QString::fromStdString(format->description()));
+
+ if (exts.empty())
+ filter += "(*.*)";
+ else
+ filter += QString("(*.%1);;%2 (*.*)").arg(
+ QString::fromStdString(join(exts, ", *."))).arg(
+ tr("All Files"));
+
// Show the file dialog
const QString file_name = QFileDialog::getSaveFileName(
- this, tr("Save File"), dir, tr("%1 files (*.*)").arg(
- QString::fromStdString(format->description())));
+ this, tr("Save File"), dir, filter);
if (file_name.isEmpty())
return;