X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fwidgets%2Fdevicetoolbutton.cpp;h=a0fc10e6f5a36de217cc2008cb1201e2f6bf0a02;hp=9f1cc80280fb33dc2944b3c243e522884b3f330b;hb=2a53532cca7d8ac0b6e61413a9f69580f9f8c941;hpb=fe3a1c218407f6b8a0d7ac7c454593809212ea9e diff --git a/pv/widgets/devicetoolbutton.cpp b/pv/widgets/devicetoolbutton.cpp index 9f1cc802..a0fc10e6 100644 --- a/pv/widgets/devicetoolbutton.cpp +++ b/pv/widgets/devicetoolbutton.cpp @@ -26,6 +26,7 @@ #include #include +#include #include "devicetoolbutton.hpp" @@ -35,7 +36,7 @@ using std::string; using std::weak_ptr; using std::vector; -using sigrok::Device; +using pv::devices::Device; namespace pv { namespace widgets { @@ -71,8 +72,8 @@ void DeviceToolButton::set_device_list( const list< shared_ptr > &devices, shared_ptr selected) { selected_device_ = selected; - setText(QString::fromStdString( - device_manager_.get_display_name(selected))); + setText(selected ? QString::fromStdString( + selected->display_name(device_manager_)) : ""); devices_ = vector< weak_ptr >(devices.begin(), devices.end()); update_device_list(); } @@ -85,16 +86,16 @@ void DeviceToolButton::update_device_list() menu_.addSeparator(); for (weak_ptr dev_weak_ptr : devices_) { - shared_ptr dev(dev_weak_ptr); + shared_ptr dev(dev_weak_ptr.lock()); if (!dev) continue; QAction *const a = new QAction(QString::fromStdString( - device_manager_.get_display_name(dev)), this); + dev->display_name(device_manager_)), this); a->setCheckable(true); a->setChecked(selected_device_ == dev); a->setData(qVariantFromValue((void*)dev.get())); - a->setToolTip(QString::fromStdString(device_manager_.get_full_name(dev))); + a->setToolTip(QString::fromStdString(dev->full_name())); mapper_.setMapping(a, a); connect(a, SIGNAL(triggered()), &mapper_, SLOT(map())); @@ -118,7 +119,7 @@ void DeviceToolButton::on_action(QObject *action) update_device_list(); setText(QString::fromStdString( - device_manager_.get_display_name(selected_device_))); + selected_device_->display_name(device_manager_))); device_selected(); }