Replace map by list to preserve device order
[pulseview.git] / pv / toolbars / samplingbar.h
index b2e7def25f7c4d1a2f112b4c3838f24bae7e7328..d8d81219659e9a0cc19ca496ef8e11a6fcb2b234 100644 (file)
@@ -24,7 +24,6 @@
 #include <stdint.h>
 
 #include <list>
-#include <map>
 #include <memory>
 
 #include <QComboBox>
 #include <pv/widgets/popuptoolbutton.h>
 #include <pv/widgets/sweeptimingwidget.h>
 
+namespace sigrok {
+       class Device;
+}
+
+Q_DECLARE_METATYPE(std::shared_ptr<sigrok::Device>)
+
 class QAction;
 
 namespace pv {
 
 class SigSession;
 
-namespace device {
-class DevInst;
-}
-
 namespace toolbars {
 
 class SamplingBar : public QToolBar
@@ -61,11 +62,10 @@ public:
        SamplingBar(SigSession &session, QWidget *parent);
 
        void set_device_list(
-               const std::list< std::shared_ptr<pv::device::DevInst> >
-                       &devices,
-               std::shared_ptr<pv::device::DevInst> selected);
+               const std::list< std::pair<std::shared_ptr<sigrok::Device>, std::string> > &devices,
+               std::shared_ptr<sigrok::Device> selected);
 
-       std::shared_ptr<pv::device::DevInst> get_selected_device() const;
+       std::shared_ptr<sigrok::Device> get_selected_device() const;
 
        void set_capture_state(pv::SigSession::capture_state state);
 
@@ -95,8 +95,6 @@ private:
        SigSession &_session;
 
        QComboBox _device_selector;
-       std::map<const sr_dev_inst*, std::weak_ptr<device::DevInst> >
-               _device_selector_map;
        bool _updating_device_selector;
 
        pv::widgets::PopupToolButton _configure_button;