]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/samplingbar.cpp
Added empty decoder thread
[pulseview.git] / pv / toolbars / samplingbar.cpp
index 90dc6575896b16d9aa2effaf1dc5f763401362fe..7d94594c1509765bce99f158d516d86f7ccfdb5d 100644 (file)
 
 #include "samplingbar.h"
 
+#include <pv/devicemanager.h>
 #include <pv/dialogs/deviceoptions.h>
 
+using namespace std;
+
 namespace pv {
 namespace toolbars {
 
@@ -67,6 +70,7 @@ SamplingBar::SamplingBar(QWidget *parent) :
        _configure_button(this),
        _record_length_selector(this),
        _sample_rate_list(this),
+       _icon_red(":/icons/status-red.svg"),
        _icon_green(":/icons/status-green.svg"),
        _icon_grey(":/icons/status-grey.svg"),
        _run_stop_button(this)
@@ -93,7 +97,7 @@ SamplingBar::SamplingBar(QWidget *parent) :
                        _record_length_selector.setCurrentIndex(i);
        }
 
-       set_sampling(false);
+       set_capture_state(pv::SigSession::Stopped);
 
        _configure_button.setIcon(QIcon::fromTheme("configure",
                QIcon(":/icons/configure.png")));
@@ -119,16 +123,9 @@ void SamplingBar::set_device_list(
        _device_selector.clear();
 
        BOOST_FOREACH (sr_dev_inst *sdi, devices) {
-               QString title;
-               if (sdi->vendor && sdi->vendor[0])
-                       title += sdi->vendor + QString(" ");
-               if (sdi->model && sdi->model[0])
-                       title += sdi->model + QString(" ");
-               if (sdi->version && sdi->version[0])
-                       title += sdi->version + QString(" ");
-
-               _device_selector.addItem(title, qVariantFromValue(
-                       (void*)sdi));
+               const string title = DeviceManager::format_device_title(sdi);
+               _device_selector.addItem(title.c_str(),
+                       qVariantFromValue((void*)sdi));
        }
 
        update_sample_rate_selector();
@@ -162,10 +159,12 @@ uint64_t SamplingBar::get_record_length() const
        return _record_length_selector.itemData(index).value<uint64_t>();
 }
 
-void SamplingBar::set_sampling(bool sampling)
+void SamplingBar::set_capture_state(pv::SigSession::capture_state state)
 {
-       _run_stop_button.setIcon(sampling ? _icon_green : _icon_grey);
-       _run_stop_button.setText(sampling ? "Stop" : "Run");
+       const QIcon *icons[] = {&_icon_grey, &_icon_red, &_icon_green};
+       _run_stop_button.setIcon(*icons[state]);
+       _run_stop_button.setText((state == pv::SigSession::Stopped) ?
+               tr("Run") : tr("Stop"));
 }
 
 void SamplingBar::update_sample_rate_selector()