X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fwidgets%2Fdecodergroupbox.cpp;h=2cbd532ef08f5a323b2d86e09b4b51fef3e74a8c;hp=805a769017c81eb658743b5407d435cfc0fc4c6b;hb=d528d3d185ca3bb9a40ec7af0299a83c0d2b76e0;hpb=27f35ea95aee5c141b055b5aac45288d7b61733b diff --git a/pv/widgets/decodergroupbox.cpp b/pv/widgets/decodergroupbox.cpp index 805a7690..2cbd532e 100644 --- a/pv/widgets/decodergroupbox.cpp +++ b/pv/widgets/decodergroupbox.cpp @@ -20,10 +20,9 @@ #include "decodergroupbox.h" -#include #include #include -#include +#include #include #include @@ -33,7 +32,8 @@ 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); @@ -42,15 +42,22 @@ DecoderGroupBox::DecoderGroupBox(QString title, QWidget *parent) : 0, 0); _layout->setColumnStretch(0, 1); - QToolBar *const toolbar = new QToolBar; - toolbar->setIconSize(QSize(16, 16)); - _layout->addWidget(toolbar, 0, 1); + QHBoxLayout *const toolbar = new QHBoxLayout; + _layout->addLayout(toolbar, 0, 1); - QAction *const delete_action = new QAction( - QIcon(":/icons/decoder-delete.svg"), tr("Delete"), this); - connect(delete_action, SIGNAL(triggered()), + _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); + delete_button->setFlat(true); + delete_button->setIconSize(QSize(16, 16)); + connect(delete_button, SIGNAL(clicked()), this, SIGNAL(delete_decoder())); - toolbar->addAction(delete_action); + toolbar->addWidget(delete_button); } void DecoderGroupBox::add_layout(QLayout *layout) @@ -59,5 +66,12 @@ void DecoderGroupBox::add_layout(QLayout *layout) _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 } // pv