]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/mainbar.cpp
Session: Query the device's sample rate when needed, not sooner
[pulseview.git] / pv / toolbars / mainbar.cpp
index 114e6fd72cb7c5ac44d71577f7b491b0085800b6..272e844f981df35ba05be9f1a472322ec2ea99b3 100644 (file)
@@ -35,6 +35,7 @@
 
 #include <boost/algorithm/string/join.hpp>
 
+#include <pv/data/decodesignal.hpp>
 #include <pv/devicemanager.hpp>
 #include <pv/devices/hardwaredevice.hpp>
 #include <pv/devices/inputfile.hpp>
@@ -46,7 +47,7 @@
 #include <pv/popups/channels.hpp>
 #include <pv/popups/deviceoptions.hpp>
 #include <pv/util.hpp>
-#include <pv/view/view.hpp>
+#include <pv/views/trace/view.hpp>
 #include <pv/widgets/exportmenu.hpp>
 #include <pv/widgets/importmenu.hpp>
 #ifdef ENABLE_DECODE
@@ -87,7 +88,7 @@ const char *MainBar::SettingOpenDirectory = "MainWindow/OpenDirectory";
 const char *MainBar::SettingSaveDirectory = "MainWindow/SaveDirectory";
 
 MainBar::MainBar(Session &session, QWidget *parent,
-               pv::views::TraceView::View *view) :
+               pv::views::trace::View *view) :
        StandardBar(session, parent, view, false),
        action_new_view_(new QAction(this)),
        action_open_(new QAction(this)),
@@ -575,7 +576,9 @@ void MainBar::add_decoder(srd_decoder *decoder)
 {
 #ifdef ENABLE_DECODE
        assert(decoder);
-       session_.add_decoder(decoder);
+       shared_ptr<data::DecodeSignal> signal = session_.add_decode_signal();
+       if (signal)
+               signal->stack_decoder(decoder);
 #else
        (void)decoder;
 #endif
@@ -595,8 +598,8 @@ void MainBar::export_file(shared_ptr<OutputFormat> format, bool selection_only)
 
        // Selection only? Verify that the cursors are active and fetch their values
        if (selection_only) {
-               views::TraceView::View *trace_view =
-                       qobject_cast<views::TraceView::View*>(session_.main_view().get());
+               views::trace::View *trace_view =
+                       qobject_cast<views::trace::View*>(session_.main_view().get());
 
                if (!trace_view->cursors()->enabled()) {
                        show_session_error(tr("Missing Cursors"), tr("You need to set the " \
@@ -756,7 +759,7 @@ void MainBar::on_actionOpen_triggered()
        // Show the dialog
        const QString file_name = QFileDialog::getOpenFileName(
                this, tr("Open File"), dir, tr(
-                       "Sigrok Sessions (*.sr);;"
+                       "sigrok Sessions (*.sr);;"
                        "All Files (*)"));
 
        if (!file_name.isEmpty()) {