X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fsubwindows%2Fdecoder_selector%2Fsubwindow.cpp;h=165b90d8a3e055baebc5fffa44acf9cfb407386b;hb=5da32ad69122ca5583c66ccdbc552ea1ae313566;hp=e768a5fcb28f330d3f76cb92f3b48f2846d57815;hpb=8f7c2dce763c9d3439e99b0215a3654f6a18ef11;p=pulseview.git diff --git a/pv/subwindows/decoder_selector/subwindow.cpp b/pv/subwindows/decoder_selector/subwindow.cpp index e768a5f..165b90d 100644 --- a/pv/subwindows/decoder_selector/subwindow.cpp +++ b/pv/subwindows/decoder_selector/subwindow.cpp @@ -105,13 +105,25 @@ SubWindow::SubWindow(Session& session, QWidget* parent) : // Hide the columns that hold the detailed item information tree_view_->hideColumn(2); // ID + // Ensure that all decoder tag names are fully visible by default + tree_view_->resizeColumnToContents(0); + + tree_view_->setIndentation(10); + 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_footer_); + info_box_layout->setAlignment(Qt::AlignTop); + Qt::TextInteractionFlags flags = Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard; + info_label_header_->setWordWrap(true); + info_label_header_->setTextInteractionFlags(flags); info_label_body_->setWordWrap(true); + info_label_body_->setTextInteractionFlags(flags); info_label_body_->setText(tr("Select a decoder to see its description here.")); + info_label_footer_->setWordWrap(true); + info_label_footer_->setTextInteractionFlags(flags); connect(filter, SIGNAL(textChanged(const QString&)), this, SLOT(on_filter_changed(const QString&))); @@ -137,21 +149,6 @@ QToolBar* SubWindow::create_toolbar(QWidget *parent) const return toolbar; } -const srd_decoder* SubWindow::get_srd_decoder_from_id(QString id) const -{ - const srd_decoder* ret_val = nullptr; - - for (GSList* li = (GSList*)srd_decoder_list(); li; li = li->next) { - const srd_decoder* d = (srd_decoder*)li->data; - assert(d); - - if (QString::fromUtf8(d->id) == id) - ret_val = d; - } - - return ret_val; -} - vector SubWindow::get_decoder_inputs(const srd_decoder* d) const { vector ret_val; @@ -192,7 +189,7 @@ void SubWindow::on_item_changed(const QModelIndex& index) if (decoder_name.isEmpty()) return; - const srd_decoder* d = get_srd_decoder_from_id(decoder_name); + const srd_decoder* d = srd_decoder_get_by_id(decoder_name.toUtf8()); const QString id = QString::fromUtf8(d->id); const QString longname = QString::fromUtf8(d->longname); @@ -221,7 +218,7 @@ void SubWindow::on_item_activated(const QModelIndex& index) QModelIndex id_index = index.model()->index(index.row(), 2, index.parent()); QString decoder_name = index.model()->data(id_index, Qt::DisplayRole).toString(); - const srd_decoder* chosen_decoder = get_srd_decoder_from_id(decoder_name); + const srd_decoder* chosen_decoder = srd_decoder_get_by_id(decoder_name.toUtf8()); if (chosen_decoder == nullptr) return; @@ -270,7 +267,7 @@ void SubWindow::on_item_activated(const QModelIndex& index) return; QString d = item.section(' ', 0, 0); - decoders.push_back(get_srd_decoder_from_id(d)); + decoders.push_back(srd_decoder_get_by_id(d.toUtf8())); } inputs = get_decoder_inputs(decoders.back());