]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/mainbar.cpp
MainBar: Remove empty menu button
[pulseview.git] / pv / toolbars / mainbar.cpp
index 0adb6c9250c3bd17ca45c4e8da4d28466a97a7c1..b21d5a9fe57a80874b31b1f56ebebe1eaa984822 100644 (file)
@@ -89,6 +89,8 @@ const char *MainBar::SettingSaveDirectory = "MainWindow/SaveDirectory";
 
 MainBar::MainBar(Session &session, MainWindow &main_window) :
        QToolBar("Sampling Bar", &main_window),
+       action_new_session_(new QAction(this)),
+       action_new_view_(new QAction(this)),
        action_open_(new QAction(this)),
        action_save_as_(new QAction(this)),
        action_save_selection_as_(new QAction(this)),
@@ -114,8 +116,7 @@ MainBar::MainBar(Session &session, MainWindow &main_window) :
        icon_green_(":/icons/status-green.svg"),
        icon_grey_(":/icons/status-grey.svg"),
        run_stop_button_(this),
-       run_stop_button_action_(nullptr),
-       menu_button_(this)
+       run_stop_button_action_(nullptr)
 #ifdef ENABLE_DECODE
        , menu_decoders_add_(new pv::widgets::DecoderMenu(this, true))
 #endif
@@ -127,6 +128,18 @@ MainBar::MainBar(Session &session, MainWindow &main_window) :
        setContextMenuPolicy(Qt::PreventContextMenu);
 
        // Actions
+       action_new_session_->setText(tr("New &Session"));
+       action_new_session_->setIcon(QIcon::fromTheme("document-new",
+               QIcon(":/icons/document-new.png")));
+       connect(action_new_session_, SIGNAL(triggered(bool)),
+               this, SLOT(on_actionNewSession_triggered()));
+
+       action_new_view_->setText(tr("New &View"));
+       action_new_view_->setIcon(QIcon::fromTheme("window-new",
+               QIcon(":/icons/window-new.png")));
+       connect(action_new_view_, SIGNAL(triggered(bool)),
+               this, SLOT(on_actionNewView_triggered()));
+
        action_open_->setText(tr("&Open..."));
        action_open_->setIcon(QIcon::fromTheme("document-open",
                QIcon(":/icons/document-open.png")));
@@ -255,6 +268,9 @@ MainBar::MainBar(Session &session, MainWindow &main_window) :
 #endif
 
        // Setup the toolbar
+       addAction(action_new_session_);
+       addAction(action_new_view_);
+       addSeparator();
        addWidget(open_button);
        addWidget(save_button);
        addSeparator();
@@ -296,12 +312,6 @@ MainBar::MainBar(Session &session, MainWindow &main_window) :
        addWidget(add_decoder_button);
 #endif
 
-       QWidget *const spacer = new QWidget();
-       spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
-       addWidget(spacer);
-
-       addWidget(&menu_button_);
-
        sample_count_.installEventFilter(this);
        sample_rate_.installEventFilter(this);
 
@@ -485,12 +495,12 @@ void MainBar::load_file(QString file_name,
                return;
        }
 
-       session_.set_name(QFileInfo(file_name).fileName());
-
        update_device_list();
 
        session_.start_capture([&, errorMessage](QString infoMessage) {
                session_error(errorMessage, infoMessage); });
+
+       session_.set_name(QFileInfo(file_name).fileName());
 }
 
 void MainBar::update_sample_rate_selector()
@@ -944,6 +954,16 @@ void MainBar::on_config_changed()
        commit_sample_rate();   
 }
 
+void MainBar::on_actionNewSession_triggered()
+{
+       new_session();
+}
+
+void MainBar::on_actionNewView_triggered()
+{
+       new_view(&session_);
+}
+
 void MainBar::on_actionOpen_triggered()
 {
        QSettings settings;