X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fwidgets%2Fdecodergroupbox.cpp;h=7127ba1310fadaf01ca97c760b6f3e56fca5a898;hp=58874d38722d0723e46a53e271616c21541f55f2;hb=2acdb232d6bb452cfdfaea3ef5218fb4da592329;hpb=37c1812204088774f369fc934e3971a82d454717 diff --git a/pv/widgets/decodergroupbox.cpp b/pv/widgets/decodergroupbox.cpp index 58874d38..7127ba13 100644 --- a/pv/widgets/decodergroupbox.cpp +++ b/pv/widgets/decodergroupbox.cpp @@ -18,7 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "decodergroupbox.h" +#include "decodergroupbox.hpp" #include #include @@ -32,17 +32,24 @@ namespace widgets { DecoderGroupBox::DecoderGroupBox(QString title, QWidget *parent) : QWidget(parent), - _layout(new QGridLayout) + layout_(new QGridLayout), + show_hide_button_(QIcon(":/icons/decoder-shown.svg"), QString(), this) { - _layout->setContentsMargins(0, 0, 0, 0); - setLayout(_layout); + layout_->setContentsMargins(0, 0, 0, 0); + setLayout(layout_); - _layout->addWidget(new QLabel(QString("

%1

").arg(title)), + layout_->addWidget(new QLabel(QString("

%1

").arg(title)), 0, 0); - _layout->setColumnStretch(0, 1); + layout_->setColumnStretch(0, 1); QHBoxLayout *const toolbar = new QHBoxLayout; - _layout->addLayout(toolbar, 0, 1); + layout_->addLayout(toolbar, 0, 1); + + show_hide_button_.setFlat(true); + show_hide_button_.setIconSize(QSize(16, 16)); + connect(&show_hide_button_, SIGNAL(clicked()), + this, SIGNAL(show_hide_decoder())); + toolbar->addWidget(&show_hide_button_); QPushButton *const delete_button = new QPushButton( QIcon(":/icons/decoder-delete.svg"), QString(), this); @@ -56,7 +63,14 @@ DecoderGroupBox::DecoderGroupBox(QString title, QWidget *parent) : void DecoderGroupBox::add_layout(QLayout *layout) { assert(layout); - _layout->addLayout(layout, 1, 0, 1, 2); + layout_->addLayout(layout, 1, 0, 1, 2); +} + +void DecoderGroupBox::set_decoder_visible(bool visible) +{ + show_hide_button_.setIcon(QIcon(visible ? + ":/icons/decoder-shown.svg" : + ":/icons/decoder-hidden.svg")); } } // widgets