X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fsamplingbar.cpp;h=e46a39725b56de89aeb2cb156c54b9aee4a9e49d;hb=9ba4ca3540ace02b1b5439ec2f4584f82f2aca77;hp=8bdadbb149709697e738f26190656d4b3084380f;hpb=d2aad78135050b13f1cf211fa0025aef1a238edf;p=pulseview.git diff --git a/pv/samplingbar.cpp b/pv/samplingbar.cpp index 8bdadbb..e46a397 100644 --- a/pv/samplingbar.cpp +++ b/pv/samplingbar.cpp @@ -18,23 +18,30 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include +#include -#include +#include -extern "C" { #include -} #include #include "samplingbar.h" -#include +#include namespace pv { -const uint64_t SamplingBar::RecordLengths[11] = { +const uint64_t SamplingBar::RecordLengths[20] = { + 1000, + 2500, + 5000, + 10000, + 25000, + 50000, + 100000, + 250000, + 500000, 1000000, 2000000, 5000000, @@ -48,6 +55,8 @@ const uint64_t SamplingBar::RecordLengths[11] = { 10000000000ULL, }; +const uint64_t SamplingBar::DefaultRecordLength = 1000000; + SamplingBar::SamplingBar(QWidget *parent) : QToolBar("Sampling Bar", parent), _device_selector(this), @@ -68,12 +77,16 @@ SamplingBar::SamplingBar(QWidget *parent) : _sample_rate_value.setDecimals(0); _sample_rate_value.setSuffix("Hz"); - BOOST_FOREACH(uint64_t l, RecordLengths) + for (size_t i = 0; i < countof(RecordLengths); i++) { + const uint64_t &l = RecordLengths[i]; char *const text = sr_si_string_u64(l, " samples"); _record_length_selector.addItem(QString(text), qVariantFromValue(l)); g_free(text); + + if (l == DefaultRecordLength) + _record_length_selector.setCurrentIndex(i); } set_sampling(false); @@ -177,7 +190,7 @@ void SamplingBar::update_sample_rate_selector() assert(_sample_rate_value_action); assert(_sample_rate_list_action); - if (sr_info_get(sdi->driver, SR_DI_SAMPLERATES, + if (sr_config_list(sdi->driver, SR_CONF_SAMPLERATE, (const void **)&samplerates, sdi) != SR_OK) return; @@ -214,7 +227,7 @@ void SamplingBar::configure() sr_dev_inst *const sdi = get_selected_device(); assert(sdi); - pv::dialogs::HwCap dlg(this, sdi); + pv::dialogs::DeviceOptions dlg(this, sdi); dlg.exec(); }