X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=6758d77df88a1854141964ab54e1b80a9be1ad4a;hp=ceace369f982158b26668ed38d4e836655e84f2d;hb=24d69d27584c7adec70bc0d6db764a3db04fce3c;hpb=3d6ff1cd572a55e92779420c2d1a708cdb003fe0 diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index ceace369..6758d77d 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -52,7 +52,8 @@ #ifdef ENABLE_DECODE #include "subwindows/decoder_selector/subwindow.hpp" -#include "views/decoder_output/view.hpp" +#include "views/decoder_binary/view.hpp" +#include "views/tabular_decoder/view.hpp" #endif #include @@ -162,8 +163,10 @@ shared_ptr MainWindow::add_view(views::ViewType type, // This view will be the main view if there's no main bar yet v = make_shared(session, (main_bar ? false : true), dock_main); #ifdef ENABLE_DECODE - if (type == views::ViewTypeDecoderOutput) - v = make_shared(session, false, dock_main); + if (type == views::ViewTypeDecoderBinary) + v = make_shared(session, false, dock_main); + if (type == views::ViewTypeTabularDecoder) + v = make_shared(session, false, dock_main); #endif if (!v) @@ -320,8 +323,6 @@ shared_ptr MainWindow::add_subwindow( if (w->minimum_width() > 0) dock->setMinimumSize(w->minimum_width(), 0); - w->setFocus(); - return w; } @@ -571,10 +572,16 @@ void MainWindow::setup_ui() void MainWindow::update_acq_button(Session *session) { - int state = session->get_capture_state(); + int state; + QString run_caption; - const QString run_caption = - session->using_file_device() ? tr("Reload") : tr("Run"); + if (session) { + state = session->get_capture_state(); + run_caption = session->using_file_device() ? tr("Reload") : tr("Run"); + } else { + state = Session::Stopped; + run_caption = tr("Run"); + } const QIcon *icons[] = {&icon_grey_, &icon_red_, &icon_green_}; run_stop_button_->setIcon(*icons[state]); @@ -849,6 +856,9 @@ void MainWindow::on_tab_close_requested(int index) tr("This session contains unsaved data. Close it anyway?"), QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes)) remove_session(session); + + if (sessions_.empty()) + update_acq_button(nullptr); } void MainWindow::on_show_decoder_selector(Session *session)