]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/samplingbar.h
Fix segfault in connect device dialog
[pulseview.git] / pv / toolbars / samplingbar.h
index 1f40d0452ff6ca8d7265cc30703eab46bcf388d4..806a79a6c57547626d6175a9ec6c8ab0ba5fcecb 100644 (file)
 #include <QToolButton>
 
 #include <pv/sigsession.h>
+#include <pv/popups/probes.h>
+#include <pv/widgets/popuptoolbutton.h>
 
 struct st_dev_inst;
 class QAction;
 
 namespace pv {
+
+class SigSession;
+
 namespace toolbars {
 
 class SamplingBar : public QToolBar
@@ -47,7 +52,7 @@ private:
        static const uint64_t DefaultRecordLength;
 
 public:
-       SamplingBar(QWidget *parent);
+       SamplingBar(SigSession &session, QWidget *parent);
 
        void set_device_list(const std::list<struct sr_dev_inst*> &devices);
 
@@ -59,8 +64,6 @@ public:
        void set_capture_state(pv::SigSession::capture_state state);
 
 signals:
-       void device_selected();
-
        void run_stop();
 
 private:
@@ -71,12 +74,16 @@ private:
 private slots:
        void on_device_selected();
        void on_sample_rate_changed();
-       void on_configure();
        void on_run_stop();
 
 private:
+       SigSession &_session;
+
        QComboBox _device_selector;
-       QToolButton _configure_button;
+       bool _updating_device_selector;
+
+       pv::widgets::PopupToolButton _configure_button;
+       pv::widgets::PopupToolButton _probes_button;
 
        QComboBox _record_length_selector;