X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fsubwindows%2Fdecoder_selector%2Fsubwindow.cpp;h=3a917190b6f263091aac8b2a9cd5987fe85af056;hb=644462a7d5d48bd98cc7484adef2c15a52a36f64;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..3a91719 100644 --- a/pv/subwindows/decoder_selector/subwindow.cpp +++ b/pv/subwindows/decoder_selector/subwindow.cpp @@ -137,22 +137,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 +147,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 +177,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 +206,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 +214,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 +227,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 +255,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