X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fsubwindows%2Fdecoder_selector%2Fsubwindow.cpp;h=6302e44976fcfad031452d48ef4bc0df2842c691;hb=a8ea0620e918540d924e69f76f173192793031cb;hp=e6245ab4bf67f2ed06ae8b02c55b30bd24a3ce93;hpb=486bcf0119d06242f624d47aef74d6d29c828f94;p=pulseview.git diff --git a/pv/subwindows/decoder_selector/subwindow.cpp b/pv/subwindows/decoder_selector/subwindow.cpp index e6245ab..6302e44 100644 --- a/pv/subwindows/decoder_selector/subwindow.cpp +++ b/pv/subwindows/decoder_selector/subwindow.cpp @@ -110,8 +110,10 @@ SubWindow::SubWindow(Session& session, QWidget* parent) : info_box_layout->addWidget(info_label_header_); info_box_layout->addWidget(info_label_body_); info_box_layout->addWidget(info_label_footer_); + info_label_header_->setWordWrap(true); info_label_body_->setWordWrap(true); info_label_body_->setText(tr("Select a decoder to see its description here.")); + info_label_footer_->setWordWrap(true); connect(filter, SIGNAL(textChanged(const QString&)), this, SLOT(on_filter_changed(const QString&))); @@ -137,22 +139,7 @@ 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::decoder_inputs(const srd_decoder* d) const +vector SubWindow::get_decoder_inputs(const srd_decoder* d) const { vector ret_val; @@ -162,7 +149,7 @@ vector SubWindow::decoder_inputs(const srd_decoder* d) const return ret_val; } -vector SubWindow::decoders_providing(const char* output) const +vector SubWindow::get_decoders_providing(const char* output) const { vector ret_val; @@ -192,7 +179,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 +208,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; @@ -229,7 +216,7 @@ void SubWindow::on_item_activated(const QModelIndex& index) decoders.push_back(chosen_decoder); // If the decoder only depends on logic inputs, we add it and are done - vector inputs = decoder_inputs(decoders.front()); + vector inputs = get_decoder_inputs(decoders.front()); if (inputs.size() == 0) { qWarning() << "Protocol decoder" << decoder_name << "cannot have 0 inputs!"; return; @@ -242,7 +229,7 @@ void SubWindow::on_item_activated(const QModelIndex& index) // Check if we can automatically fulfill the stacking requirements while (strncmp(inputs.at(0), "logic", 5) != 0) { - vector prov_decoders = decoders_providing(inputs.at(0)); + vector prov_decoders = get_decoders_providing(inputs.at(0)); if (prov_decoders.size() == 0) { // Emit warning and add the stack that we could gather so far @@ -270,10 +257,10 @@ 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 = decoder_inputs(decoders.back()); + inputs = get_decoder_inputs(decoders.back()); } // Reverse decoder list and add the stack