+ // Actions
+ action_open_->setText(tr("&Open..."));
+ action_open_->setIcon(QIcon::fromTheme("document-open",
+ QIcon(":/icons/document-open.png")));
+ action_open_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
+ action_open_->setObjectName(QString::fromUtf8("actionOpen"));
+
+ action_save_as_->setText(tr("&Save As..."));
+ action_save_as_->setIcon(QIcon::fromTheme("document-save-as",
+ QIcon(":/icons/document-save-as.png")));
+ action_save_as_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_S));
+ action_save_as_->setObjectName(QString::fromUtf8("actionSaveAs"));
+
+ action_save_selection_as_->setText(tr("Save Selected &Range As..."));
+ action_save_selection_as_->setIcon(QIcon::fromTheme("document-save-as",
+ QIcon(":/icons/document-save-as.png")));
+ action_save_selection_as_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R));
+ action_save_selection_as_->setObjectName(QString::fromUtf8("actionSaveSelectionAs"));
+
+ widgets::ExportMenu *menu_file_export = new widgets::ExportMenu(this,
+ session.device_manager().context());
+ menu_file_export->setTitle(tr("&Export"));
+ connect(menu_file_export,
+ SIGNAL(format_selected(std::shared_ptr<sigrok::OutputFormat>)),
+ this, SLOT(export_file(std::shared_ptr<sigrok::OutputFormat>)));
+
+ widgets::ImportMenu *menu_file_import = new widgets::ImportMenu(this,
+ session.device_manager().context());
+ menu_file_import->setTitle(tr("&Import"));
+ connect(menu_file_import,
+ SIGNAL(format_selected(std::shared_ptr<sigrok::InputFormat>)),
+ this, SLOT(import_file(std::shared_ptr<sigrok::InputFormat>)));
+
+ action_connect_->setText(tr("&Connect to Device..."));
+ action_connect_->setObjectName(QString::fromUtf8("actionConnect"));
+
+ action_view_zoom_in_->setText(tr("Zoom &In"));
+ action_view_zoom_in_->setIcon(QIcon::fromTheme("zoom-in",
+ QIcon(":/icons/zoom-in.png")));
+ // simply using Qt::Key_Plus shows no + in the menu
+ action_view_zoom_in_->setShortcut(QKeySequence::ZoomIn);
+ action_view_zoom_in_->setObjectName(
+ QString::fromUtf8("actionViewZoomIn"));
+
+ action_view_zoom_out_->setText(tr("Zoom &Out"));
+ action_view_zoom_out_->setIcon(QIcon::fromTheme("zoom-out",
+ QIcon(":/icons/zoom-out.png")));
+ action_view_zoom_out_->setShortcut(QKeySequence::ZoomOut);
+ action_view_zoom_out_->setObjectName(
+ QString::fromUtf8("actionViewZoomOut"));
+
+ action_view_zoom_fit_->setCheckable(true);
+ action_view_zoom_fit_->setText(tr("Zoom to &Fit"));
+ action_view_zoom_fit_->setIcon(QIcon::fromTheme("zoom-fit",
+ QIcon(":/icons/zoom-fit.png")));
+ action_view_zoom_fit_->setShortcut(QKeySequence(Qt::Key_F));
+ action_view_zoom_fit_->setObjectName(
+ QString::fromUtf8("actionViewZoomFit"));
+
+ action_view_zoom_one_to_one_->setText(tr("Zoom to O&ne-to-One"));
+ action_view_zoom_one_to_one_->setIcon(QIcon::fromTheme("zoom-original",
+ QIcon(":/icons/zoom-original.png")));
+ action_view_zoom_one_to_one_->setShortcut(QKeySequence(Qt::Key_O));
+ action_view_zoom_one_to_one_->setObjectName(
+ QString::fromUtf8("actionViewZoomOneToOne"));
+
+ action_view_show_cursors_->setCheckable(true);
+ action_view_show_cursors_->setIcon(QIcon::fromTheme("show-cursors",
+ QIcon(":/icons/show-cursors.svg")));
+ action_view_show_cursors_->setShortcut(QKeySequence(Qt::Key_C));
+ action_view_show_cursors_->setObjectName(
+ QString::fromUtf8("actionViewShowCursors"));
+ action_view_show_cursors_->setText(tr("Show &Cursors"));
+
+ // Open button
+ QToolButton *const open_button = new QToolButton(this);
+
+ widgets::ImportMenu *import_menu = new widgets::ImportMenu(this,
+ session.device_manager().context(), action_open_);
+ connect(import_menu,
+ SIGNAL(format_selected(std::shared_ptr<sigrok::InputFormat>)),
+ &main_window,
+ SLOT(import_file(std::shared_ptr<sigrok::InputFormat>)));
+
+ open_button->setMenu(import_menu);
+ open_button->setDefaultAction(action_open_);
+ open_button->setPopupMode(QToolButton::MenuButtonPopup);
+
+ // Save button
+ QToolButton *const save_button = new QToolButton(this);
+
+ vector<QAction *> open_actions;
+ open_actions.push_back(action_save_as_);
+ open_actions.push_back(action_save_selection_as_);
+
+ widgets::ExportMenu *export_menu = new widgets::ExportMenu(this,
+ session.device_manager().context(),
+ open_actions);
+ connect(export_menu,
+ SIGNAL(format_selected(std::shared_ptr<sigrok::OutputFormat>)),
+ &main_window,
+ SLOT(export_file(std::shared_ptr<sigrok::OutputFormat>)));
+
+ save_button->setMenu(export_menu);
+ save_button->setDefaultAction(action_save_as_);
+ save_button->setPopupMode(QToolButton::MenuButtonPopup);
+