- // 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
- QMenuBar *const menu_bar = new QMenuBar(this);
- menu_bar->setGeometry(QRect(0, 0, 400, 25));
-
- // File Menu
- QMenu *const menu_file = new QMenu;
- menu_file->setTitle(QApplication::translate(
- "MainWindow", "&File", 0, QApplication::UnicodeUTF8));
-
- QAction *const action_open = new QAction(this);
- action_open->setText(QApplication::translate(
- "MainWindow", "&Open...", 0, QApplication::UnicodeUTF8));
- action_open->setIcon(QIcon::fromTheme("document-open",
- QIcon(":/icons/document-open.png")));
- action_open->setObjectName(QString::fromUtf8("actionOpen"));
- menu_file->addAction(action_open);
-
- menu_file->addSeparator();
-
- QAction *const action_connect = new QAction(this);
- action_connect->setText(QApplication::translate(
- "MainWindow", "&Connect to Device...", 0,
- QApplication::UnicodeUTF8));
- action_connect->setObjectName(QString::fromUtf8("actionConnect"));
- menu_file->addAction(action_connect);
-
- menu_file->addSeparator();
-
- QAction *action_quit = new QAction(this);
- action_quit->setText(QApplication::translate(
- "MainWindow", "&Quit", 0, QApplication::UnicodeUTF8));
- 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(QApplication::translate(
- "MainWindow", "&View", 0, QApplication::UnicodeUTF8));
-
- QAction *const action_view_zoom_in = new QAction(this);
- action_view_zoom_in->setText(QApplication::translate(
- "MainWindow", "Zoom &In", 0, QApplication::UnicodeUTF8));
- action_view_zoom_in->setIcon(QIcon::fromTheme("zoom-in",
- QIcon(":/icons/zoom-in.png")));
- action_view_zoom_in->setObjectName(
- QString::fromUtf8("actionViewZoomIn"));
- menu_view->addAction(action_view_zoom_in);
-
- QAction *const action_view_zoom_out = new QAction(this);
- action_view_zoom_out->setText(QApplication::translate(
- "MainWindow", "Zoom &Out", 0, QApplication::UnicodeUTF8));
- action_view_zoom_out->setIcon(QIcon::fromTheme("zoom-out",
- QIcon(":/icons/zoom-out.png")));
- action_view_zoom_out->setObjectName(
- QString::fromUtf8("actionViewZoomOut"));
- menu_view->addAction(action_view_zoom_out);
-
- menu_view->addSeparator();
-
- QAction *action_view_show_cursors = new QAction(this);
- action_view_show_cursors->setCheckable(true);
- action_view_show_cursors->setChecked(_view->cursors_shown());
- action_view_show_cursors->setShortcut(QKeySequence(Qt::Key_C));
- action_view_show_cursors->setObjectName(
- QString::fromUtf8("actionViewShowCursors"));
- action_view_show_cursors->setText(QApplication::translate(
- "MainWindow", "Show &Cursors", 0, QApplication::UnicodeUTF8));
- menu_view->addAction(action_view_show_cursors);
-
- // Decoders Menu
- QMenu *const menu_decoders = new QMenu;
- menu_decoders->setTitle(QApplication::translate(
- "MainWindow", "&Decoders", 0, QApplication::UnicodeUTF8));
-
- pv::widgets::DecoderMenu *const menu_decoders_add =
- new pv::widgets::DecoderMenu(menu_decoders);
- menu_decoders_add->setTitle(QApplication::translate(
- "MainWindow", "&Add", 0, QApplication::UnicodeUTF8));
- connect(menu_decoders_add, SIGNAL(decoder_selected(srd_decoder*)),
- this, SLOT(add_decoder(srd_decoder*)));
-
- menu_decoders->addMenu(menu_decoders_add);
-
- // Help Menu
- QMenu *const menu_help = new QMenu;
- menu_help->setTitle(QApplication::translate(
- "MainWindow", "&Help", 0, QApplication::UnicodeUTF8));
-
- QAction *const action_about = new QAction(this);
- action_about->setObjectName(QString::fromUtf8("actionAbout"));
- action_about->setText(QApplication::translate(
- "MainWindow", "&About...", 0, QApplication::UnicodeUTF8));
- menu_help->addAction(action_about);
-
- menu_bar->addAction(menu_file->menuAction());
- menu_bar->addAction(menu_view->menuAction());
- menu_bar->addAction(menu_decoders->menuAction());
- menu_bar->addAction(menu_help->menuAction());
-
- setMenuBar(menu_bar);
- QMetaObject::connectSlotsByName(this);
-
- // Setup the toolbar
- QToolBar *const toolbar = new QToolBar(tr("Main Toolbar"), this);
- toolbar->addAction(action_open);
- toolbar->addSeparator();
- toolbar->addAction(action_view_zoom_in);
- toolbar->addAction(action_view_zoom_out);
- addToolBar(toolbar);
-
- // Setup the sampling bar
- _sampling_bar = new toolbars::SamplingBar(_session, this);
-
- // Populate the device list and select the initially selected device
- update_device_list();
-
- connect(_sampling_bar, SIGNAL(run_stop()), this,
- SLOT(run_stop()));
- addToolBar(_sampling_bar);
-
- // Set the title
- setWindowTitle(QApplication::translate("MainWindow", "PulseView", 0,
- QApplication::UnicodeUTF8));
-
- // Setup _session events
- connect(&_session, SIGNAL(capture_state_changed(int)), this,
- SLOT(capture_state_changed(int)));