X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.h;h=02b792eaa1cd5cc4aed6d8d2b5894edeb935e21f;hp=8129020348109ec6c395672f27bfa98995f9f9c3;hb=107ca6d350b51186d12dac9273f6ed130b3f5dd7;hpb=f9541bde559ebdad1dff36bd27a2656ada99c6da diff --git a/pv/mainwindow.h b/pv/mainwindow.h index 81290203..02b792ea 100644 --- a/pv/mainwindow.h +++ b/pv/mainwindow.h @@ -37,6 +37,8 @@ class QWidget; namespace pv { +class DeviceManager; + namespace toolbars { class SamplingBar; } @@ -50,15 +52,24 @@ class MainWindow : public QMainWindow Q_OBJECT public: - explicit MainWindow(const char *open_file_name = NULL, + explicit MainWindow(DeviceManager &device_manager, + const char *open_file_name = NULL, QWidget *parent = 0); private: void setup_ui(); - void scan_devices(); void session_error(const QString text, const QString info_text); + /** + * Updates the device list in the sampling bar, and updates the + * selection. + * @param selected_device The device to select, or NULL if the + * first device in the device list should be selected. + */ + void update_device_list( + struct sr_dev_inst *selected_device = NULL); + private slots: void load_file(QString file_name); @@ -86,9 +97,9 @@ private slots: void capture_state_changed(int state); private: + DeviceManager &_device_manager; SigSession _session; - std::list _devices; pv::view::View *_view;