X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fwidgets%2Fdevicetoolbutton.hpp;h=cedf49e78386d58482e42b6ac98c439ab89c5b98;hp=1fb0a54486057cbcd776b3f782580d54f416ea43;hb=efdec55aec1a137460fa362a381ed1904182bfed;hpb=079d39ea735015597a65390e4c5cacc7d272f78c diff --git a/pv/widgets/devicetoolbutton.hpp b/pv/widgets/devicetoolbutton.hpp index 1fb0a54..cedf49e 100644 --- a/pv/widgets/devicetoolbutton.hpp +++ b/pv/widgets/devicetoolbutton.hpp @@ -14,12 +14,11 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ -#ifndef PULSEVIEW_PV_WIDGETS_DEVICETOOLBUTTON_H -#define PULSEVIEW_PV_WIDGETS_DEVICETOOLBUTTON_H +#ifndef PULSEVIEW_PV_WIDGETS_DEVICETOOLBUTTON_HPP +#define PULSEVIEW_PV_WIDGETS_DEVICETOOLBUTTON_HPP #include #include @@ -32,14 +31,14 @@ struct srd_decoder; -namespace sigrok { -class Device; -} - namespace pv { class DeviceManager; +namespace devices { +class Device; +} + namespace widgets { class DeviceToolButton : public QToolButton @@ -59,7 +58,7 @@ public: /** * Returns a reference to the selected device. */ - std::shared_ptr selected_device(); + std::shared_ptr selected_device(); /** * Sets the current list of devices. @@ -67,8 +66,14 @@ public: * @param selected_device the currently active device. */ void set_device_list( - const std::list< std::shared_ptr > &devices, - std::shared_ptr selected); + const std::list< std::shared_ptr > &devices, + std::shared_ptr selected); + + /** + * Sets the current device to "no device". Useful for when a selected + * device fails to open. + */ + void reset(); private: /** @@ -79,6 +84,10 @@ private: private Q_SLOTS: void on_action(QObject *action); + void on_menu_hovered(QAction *action); + + void on_menu_hover_timeout(); + Q_SIGNALS: void device_selected(); @@ -89,11 +98,13 @@ private: QMenu menu_; QSignalMapper mapper_; - std::shared_ptr selected_device_; - std::vector< std::weak_ptr > devices_; + std::shared_ptr selected_device_; + std::vector< std::weak_ptr > devices_; + + QString device_tooltip_; }; } // widgets } // pv -#endif // PULSEVIEW_PV_WIDGETS_DEVICETOOLBUTTON_H +#endif // PULSEVIEW_PV_WIDGETS_DEVICETOOLBUTTON_HPP