X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Ftoolbars%2Fmainbar.cpp;h=61a467281520de949664fb15b41746e7b8a54c8a;hp=8aeb0254153ba4c0b558742d09cc41b2508462c3;hb=bdf57963233028b4a01d87e706a575b85a45cbf5;hpb=f2dbf150d2d870e5b7edcef9a929476a61100456 diff --git a/pv/toolbars/mainbar.cpp b/pv/toolbars/mainbar.cpp index 8aeb0254..61a46728 100644 --- a/pv/toolbars/mainbar.cpp +++ b/pv/toolbars/mainbar.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include "mainbar.hpp" @@ -73,13 +74,42 @@ MainBar::MainBar(Session &session, MainWindow &main_window) : icon_red_(":/icons/status-red.svg"), icon_green_(":/icons/status-green.svg"), icon_grey_(":/icons/status-grey.svg"), - run_stop_button_(this) + run_stop_button_(this), + menu_button_(this) { setObjectName(QString::fromUtf8("MainBar")); setMovable(false); setFloatable(false); + // Setup the menu + QMenu *const menu = new QMenu(this); + + QMenu *const menu_help = new QMenu; + menu_help->setTitle(tr("&Help")); + menu_help->addAction(main_window.action_about()); + + menu->addAction(menu_help->menuAction()); + menu->addSeparator(); + menu->addAction(main_window.action_quit()); + + menu_button_.setMenu(menu); + menu_button_.setPopupMode(QToolButton::InstantPopup); + menu_button_.setIcon(QIcon::fromTheme("menu", + QIcon(":/icons/menu.svg"))); + + // Setup the toolbar + addAction(main_window.action_open()); + addAction(main_window.action_save_as()); + addSeparator(); + addAction(main_window.action_view_zoom_in()); + addAction(main_window.action_view_zoom_out()); + addAction(main_window.action_view_zoom_fit()); + addAction(main_window.action_view_zoom_one_to_one()); + addSeparator(); + addAction(main_window.action_view_show_cursors()); + addSeparator(); + connect(&run_stop_button_, SIGNAL(clicked()), this, SLOT(on_run_stop())); connect(&device_selector_, SIGNAL(currentIndexChanged (int)), @@ -106,9 +136,14 @@ MainBar::MainBar(Session &session, MainWindow &main_window) : addWidget(&channels_button_); addWidget(&sample_count_); addWidget(&sample_rate_); - addWidget(&run_stop_button_); + QWidget *const spacer = new QWidget(); + spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + addWidget(spacer); + + addWidget(&menu_button_); + sample_count_.installEventFilter(this); sample_rate_.installEventFilter(this); }