X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fpopups%2Fchannels.cpp;h=fdb97728f59fe080506c81ecd9acbae0039f3d6d;hb=d13d95b3eaee713cc4eabbc0682ca545b4c31800;hp=585d80df36d5774e566cc024e2fd766cd3882fdb;hpb=efadabab3de1a4c5b9cd09316de5d9ae66251519;p=pulseview.git diff --git a/pv/popups/channels.cpp b/pv/popups/channels.cpp index 585d80d..fdb9772 100644 --- a/pv/popups/channels.cpp +++ b/pv/popups/channels.cpp @@ -19,7 +19,9 @@ #include +#include #include +#include #include #include #include @@ -118,19 +120,13 @@ Channels::Channels(Session &session, QWidget *parent) : connect(&enable_all_changing_channels_, SIGNAL(clicked()), this, SLOT(enable_all_changing_channels())); - enable_all_channels_.setFlat(true); - disable_all_channels_.setFlat(true); - enable_all_logic_channels_.setFlat(true); - enable_all_analog_channels_.setFlat(true); - enable_all_named_channels_.setFlat(true); - enable_all_changing_channels_.setFlat(true); - - buttons_bar_.addWidget(&enable_all_channels_, 0, 0); - buttons_bar_.addWidget(&disable_all_channels_, 0, 1); - buttons_bar_.addWidget(&enable_all_logic_channels_, 1, 0); - buttons_bar_.addWidget(&enable_all_analog_channels_, 1, 1); - buttons_bar_.addWidget(&enable_all_named_channels_, 1, 2); - buttons_bar_.addWidget(&enable_all_changing_channels_, 1, 3); + buttons_bar_.setRowMinimumHeight(0, 2 * QFontMetrics(QApplication::font()).height()); + buttons_bar_.addWidget(&enable_all_channels_, 1, 0); + buttons_bar_.addWidget(&disable_all_channels_, 1, 1); + buttons_bar_.addWidget(&enable_all_logic_channels_, 2, 0); + buttons_bar_.addWidget(&enable_all_analog_channels_, 2, 1); + buttons_bar_.addWidget(&enable_all_named_channels_, 2, 2); + buttons_bar_.addWidget(&enable_all_changing_channels_, 2, 3); layout_.addRow(&buttons_bar_); @@ -315,6 +311,10 @@ void Channels::enable_all_changing_channels() { set_all_channels_conditionally([](const shared_ptr signal) { + // Never enable channels without sample data + if (!signal->has_samples()) + return false; + // Non-logic channels are considered to always have a signal if (signal->type() != SignalBase::LogicChannel) return true;