projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pulseview.qrc: Add missing application-exit.png entry.
[pulseview.git]
/
pv
/
samplingbar.cpp
diff --git
a/pv/samplingbar.cpp
b/pv/samplingbar.cpp
index 31047439c6354886c58c060412032a6034aa0d08..60d7b4c8aec6cdcb2841a383ee5e8922b4fcc7be 100644
(file)
--- a/
pv/samplingbar.cpp
+++ b/
pv/samplingbar.cpp
@@
-30,6
+30,8
@@
extern "C" {
#include "samplingbar.h"
#include "samplingbar.h"
+#include <pv/dialogs/hwcap.h>
+
namespace pv {
const uint64_t SamplingBar::RecordLengths[11] = {
namespace pv {
const uint64_t SamplingBar::RecordLengths[11] = {
@@
-49,13
+51,19
@@
const uint64_t SamplingBar::RecordLengths[11] = {
SamplingBar::SamplingBar(QWidget *parent) :
QToolBar("Sampling Bar", parent),
_device_selector(this),
SamplingBar::SamplingBar(QWidget *parent) :
QToolBar("Sampling Bar", parent),
_device_selector(this),
+ _configure_button(this),
_record_length_selector(this),
_sample_rate_list(this),
_record_length_selector(this),
_sample_rate_list(this),
+ _icon_green(":/icons/status-green.svg"),
+ _icon_grey(":/icons/status-grey.svg"),
_run_stop_button(this)
{
_run_stop_button(this)
{
- connect(&_run_stop_button, SIGNAL(clicked()), this, SIGNAL(run_stop()));
+ connect(&_run_stop_button, SIGNAL(clicked()),
+ this, SIGNAL(run_stop()));
connect(&_device_selector, SIGNAL(currentIndexChanged (int)),
this, SLOT(on_device_selected()));
connect(&_device_selector, SIGNAL(currentIndexChanged (int)),
this, SLOT(on_device_selected()));
+ connect(&_configure_button, SIGNAL(clicked()),
+ this, SLOT(configure()));
_sample_rate_value.setDecimals(0);
_sample_rate_value.setSuffix("Hz");
_sample_rate_value.setDecimals(0);
_sample_rate_value.setSuffix("Hz");
@@
-68,9
+76,15
@@
SamplingBar::SamplingBar(QWidget *parent) :
g_free(text);
}
g_free(text);
}
- _run_stop_button.setText("Run");
+ set_sampling(false);
+
+ _configure_button.setIcon(QIcon::fromTheme("configure",
+ QIcon(":/icons/configure.png")));
+
+ _run_stop_button.setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
addWidget(&_device_selector);
addWidget(&_device_selector);
+ addWidget(&_configure_button);
addWidget(&_record_length_selector);
_sample_rate_list_action = addWidget(&_sample_rate_list);
_sample_rate_value_action = addWidget(&_sample_rate_value);
addWidget(&_record_length_selector);
_sample_rate_list_action = addWidget(&_sample_rate_list);
_sample_rate_value_action = addWidget(&_sample_rate_value);
@@
-83,7
+97,7
@@
SamplingBar::SamplingBar(QWidget *parent) :
struct sr_dev_inst* SamplingBar::get_selected_device() const
{
const int index = _device_selector.currentIndex();
struct sr_dev_inst* SamplingBar::get_selected_device() const
{
const int index = _device_selector.currentIndex();
- if(index < 0)
+ if
(index < 0)
return NULL;
return (sr_dev_inst*)_device_selector.itemData(
return NULL;
return (sr_dev_inst*)_device_selector.itemData(
@@
-93,7
+107,7
@@
struct sr_dev_inst* SamplingBar::get_selected_device() const
uint64_t SamplingBar::get_record_length() const
{
const int index = _record_length_selector.currentIndex();
uint64_t SamplingBar::get_record_length() const
{
const int index = _record_length_selector.currentIndex();
- if(index < 0)
+ if
(index < 0)
return 0;
return _record_length_selector.itemData(index).value<uint64_t>();
return 0;
return _record_length_selector.itemData(index).value<uint64_t>();
@@
-104,12
+118,12
@@
uint64_t SamplingBar::get_sample_rate() const
assert(_sample_rate_value_action);
assert(_sample_rate_list_action);
assert(_sample_rate_value_action);
assert(_sample_rate_list_action);
- if(_sample_rate_value_action->isVisible())
+ if
(_sample_rate_value_action->isVisible())
return (uint64_t)_sample_rate_value.value();
return (uint64_t)_sample_rate_value.value();
- else if(_sample_rate_list_action->isVisible())
+ else if
(_sample_rate_list_action->isVisible())
{
const int index = _sample_rate_list.currentIndex();
{
const int index = _sample_rate_list.currentIndex();
- if(index < 0)
+ if
(index < 0)
return 0;
return _sample_rate_list.itemData(index).value<uint64_t>();
return 0;
return _sample_rate_list.itemData(index).value<uint64_t>();
@@
-118,6
+132,12
@@
uint64_t SamplingBar::get_sample_rate() const
return 0;
}
return 0;
}
+void SamplingBar::set_sampling(bool sampling)
+{
+ _run_stop_button.setIcon(sampling ? _icon_green : _icon_grey);
+ _run_stop_button.setText(sampling ? "Stop" : "Run");
+}
+
void SamplingBar::update_device_selector()
{
GSList *devices = NULL;
void SamplingBar::update_device_selector()
{
GSList *devices = NULL;
@@
-189,4
+209,13
@@
void SamplingBar::on_device_selected()
update_sample_rate_selector();
}
update_sample_rate_selector();
}
+void SamplingBar::configure()
+{
+ sr_dev_inst *const sdi = get_selected_device();
+ assert(sdi);
+
+ pv::dialogs::HwCap dlg(this, sdi);
+ dlg.exec();
+}
+
} // namespace pv
} // namespace pv