DecoderSelector: Put body label into a QScrollArea
[pulseview.git] / pv / subwindows / decoder_selector / subwindow.cpp
index 086b0064ec04d2354d76abd267a7da177afb54e0..675e135cefad3f682e4609f71cc1f8eadcd55d60 100644 (file)
@@ -24,6 +24,7 @@
 #include <QLabel>
 #include <QLineEdit>
 #include <QPushButton>
+#include <QScrollArea>
 #include <QVBoxLayout>
 
 #include "pv/session.hpp"
@@ -108,10 +109,16 @@ SubWindow::SubWindow(Session& session, QWidget* parent) :
        // Ensure that all decoder tag names are fully visible by default
        tree_view_->resizeColumnToContents(0);
 
+       tree_view_->setIndentation(10);
+
+       QScrollArea* info_label_body_container = new QScrollArea();
+       info_label_body_container->setWidget(info_label_body_);
+       info_label_body_container->setWidgetResizable(true);
+
        info_box_->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
        QVBoxLayout* info_box_layout = new QVBoxLayout(info_box_);
        info_box_layout->addWidget(info_label_header_);
-       info_box_layout->addWidget(info_label_body_);
+       info_box_layout->addWidget(info_label_body_container);
        info_box_layout->addWidget(info_label_footer_);
        info_box_layout->setAlignment(Qt::AlignTop);
        Qt::TextInteractionFlags flags = Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard;
@@ -192,7 +199,7 @@ void SubWindow::on_item_changed(const QModelIndex& index)
        const QString id = QString::fromUtf8(d->id);
        const QString longname = QString::fromUtf8(d->longname);
        const QString desc = QString::fromUtf8(d->desc);
-       const QString doc = QString::fromUtf8(srd_decoder_doc_get(d));
+       const QString doc = QString::fromUtf8(srd_decoder_doc_get(d)).trimmed();
 
        QString tags;
        for (GSList* li = (GSList*)d->tags; li; li = li->next) {
@@ -202,7 +209,7 @@ void SubWindow::on_item_changed(const QModelIndex& index)
                tags.append(s);
        }
 
-       info_label_header_->setText(QString("<span style='font-size:large;font-weight:bold'>%1 (%2)</span><br>%3")
+       info_label_header_->setText(QString("<span style='font-size:large'><b>%1 (%2)</b></span><br><i>%3</i>")
                .arg(longname, id, desc));
        info_label_body_->setText(doc);
        info_label_footer_->setText(tr("<p align='right'>Tags: %1</p>").arg(tags));