X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fconnect.h;h=fbac9e3ecf23f51f8c71267b269a2011a43f9e91;hp=443f6e07fde6c3a94dca2e28f8ac563aece77898;hb=e8d009288de28cb194bc7964f96677c2baf900c9;hpb=9663c82b7fa8ec54ece3045b41bbc4a53db8bb0b diff --git a/pv/dialogs/connect.h b/pv/dialogs/connect.h index 443f6e07..fbac9e3e 100644 --- a/pv/dialogs/connect.h +++ b/pv/dialogs/connect.h @@ -21,14 +21,29 @@ #ifndef PULSEVIEW_PV_CONNECT_H #define PULSEVIEW_PV_CONNECT_H +#include + #include #include #include #include #include +#include +#include #include +namespace sigrok { + class Driver; + class HardwareDevice; +} + +Q_DECLARE_METATYPE(std::shared_ptr); +Q_DECLARE_METATYPE(std::shared_ptr); + namespace pv { + +class DeviceManager; + namespace dialogs { class Connect : public QDialog @@ -36,19 +51,25 @@ class Connect : public QDialog Q_OBJECT public: - Connect(QWidget *parent); + Connect(QWidget *parent, pv::DeviceManager &device_manager); + + std::shared_ptr get_selected_device() const; private: void populate_drivers(); -private slots: - void device_selected(int index); - void unset_connection(); void set_serial_connection(); +private Q_SLOTS: + void device_selected(int index); + + void scan_pressed(); + private: + pv::DeviceManager &_device_manager; + QVBoxLayout _layout; QWidget _form; @@ -58,6 +79,9 @@ private: QLineEdit _serial_device; + QPushButton _scan_button; + QListWidget _device_list; + QDialogButtonBox _button_box; };