- // Setup the central widget
- central_widget_ = new QWidget(this);
- vertical_layout_ = new QVBoxLayout(central_widget_);
- vertical_layout_->setSpacing(6);
- vertical_layout_->setContentsMargins(0, 0, 0, 0);
- setCentralWidget(central_widget_);
-
- view_ = new pv::view::View(session_, this);
-
- vertical_layout_->addWidget(view_);
-
- // Setup the menu bar
- pv::widgets::HidingMenuBar *const menu_bar =
- new pv::widgets::HidingMenuBar(this);
-
- // File Menu
- QMenu *const menu_file = new QMenu;
- menu_file->setTitle(tr("&File"));
-
- 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"));
- menu_file->addAction(action_open_);
-
- 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"));
- menu_file->addAction(action_save_as_);
-
- 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"));
- menu_file->addAction(action_save_selection_as_);
-
- menu_file->addSeparator();
-
- widgets::ExportMenu *menu_file_export = new widgets::ExportMenu(this,
- 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>)));
- menu_file->addAction(menu_file_export->menuAction());
-
- widgets::ImportMenu *menu_file_import = new widgets::ImportMenu(this,
- 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>)));
- menu_file->addAction(menu_file_import->menuAction());
-
- menu_file->addSeparator();
-
- action_connect_->setText(tr("&Connect to Device..."));
- action_connect_->setObjectName(QString::fromUtf8("actionConnect"));
- menu_file->addAction(action_connect_);
-
- menu_file->addSeparator();
-
- action_quit_->setText(tr("&Quit"));
- action_quit_->setIcon(QIcon::fromTheme("application-exit",
- QIcon(":/icons/application-exit.png")));
- action_quit_->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));
- action_quit_->setObjectName(QString::fromUtf8("actionQuit"));
- menu_file->addAction(action_quit_);
-
- // View Menu
- QMenu *menu_view = new QMenu;
- menu_view->setTitle(tr("&View"));
-
- 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"));
- menu_view->addAction(action_view_zoom_in_);
-
- 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"));
- menu_view->addAction(action_view_zoom_out_);
-
- 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"));
- menu_view->addAction(action_view_zoom_fit_);
-
- 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"));
- menu_view->addAction(action_view_zoom_one_to_one_);
-
- menu_file->addSeparator();
-
- action_view_sticky_scrolling_->setCheckable(true);
- action_view_sticky_scrolling_->setChecked(true);
- action_view_sticky_scrolling_->setShortcut(QKeySequence(Qt::Key_S));
- action_view_sticky_scrolling_->setObjectName(
- QString::fromUtf8("actionViewStickyScrolling"));
- action_view_sticky_scrolling_->setText(tr("&Sticky Scrolling"));
- menu_view->addAction(action_view_sticky_scrolling_);
-
- view_->enable_sticky_scrolling(action_view_sticky_scrolling_->isChecked());
-
- menu_view->addSeparator();
-
- action_view_show_cursors_->setCheckable(true);
- action_view_show_cursors_->setChecked(view_->cursors_shown());
- 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"));
- menu_view->addAction(action_view_show_cursors_);
-
- // Decoders Menu
-#ifdef ENABLE_DECODE
- QMenu *const menu_decoders = new QMenu;
- menu_decoders->setTitle(tr("&Decoders"));