X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fconnect.h;h=5a8b1cd0baf07d7974535c4db4bb951616f05262;hp=443f6e07fde6c3a94dca2e28f8ac563aece77898;hb=945745012eb57cefa1ef457daf48cfffa99f9ec2;hpb=9663c82b7fa8ec54ece3045b41bbc4a53db8bb0b diff --git a/pv/dialogs/connect.h b/pv/dialogs/connect.h index 443f6e07..5a8b1cd0 100644 --- a/pv/dialogs/connect.h +++ b/pv/dialogs/connect.h @@ -21,14 +21,28 @@ #ifndef PULSEVIEW_PV_CONNECT_H #define PULSEVIEW_PV_CONNECT_H +#include + #include #include #include #include #include +#include +#include #include +struct sr_config; +struct sr_dev_inst; + namespace pv { + +class DeviceManager; + +namespace device { +class DevInst; +} + namespace dialogs { class Connect : public QDialog @@ -36,19 +50,28 @@ class Connect : public QDialog Q_OBJECT public: - Connect(QWidget *parent); + Connect(QWidget *parent, pv::DeviceManager &device_manager); + + boost::shared_ptr get_selected_device() const; private: void populate_drivers(); + void unset_connection(); + + void set_serial_connection(); + private slots: void device_selected(int index); - void unset_connection(); + void scan_pressed(); - void set_serial_connection(); +private: + static void free_drvopts(sr_config *src); private: + pv::DeviceManager &_device_manager; + QVBoxLayout _layout; QWidget _form; @@ -58,6 +81,11 @@ private: QLineEdit _serial_device; + QPushButton _scan_button; + QListWidget _device_list; + std::map > + _device_map; + QDialogButtonBox _button_box; };