X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fsettings.cpp;h=15655a7065cb32363897012f26e7d7305f3db2c1;hp=32b1c207677979f32b285426bf5b9da9b395726a;hb=fe934a93e0dbdab4746091738450f9198a809666;hpb=6c34883054aac5036d09a30424021de5182b8944 diff --git a/pv/dialogs/settings.cpp b/pv/dialogs/settings.cpp index 32b1c20..15655a7 100644 --- a/pv/dialogs/settings.cpp +++ b/pv/dialogs/settings.cpp @@ -148,6 +148,17 @@ QWidget *Settings::get_view_settings_form(QWidget *parent) const return form; } +#ifdef ENABLE_DECODE +static gint sort_pds(gconstpointer a, gconstpointer b) +{ + const struct srd_decoder *sda, *sdb; + + sda = (const struct srd_decoder *)a; + sdb = (const struct srd_decoder *)b; + return strcmp(sda->id, sdb->id); +} +#endif + QWidget *Settings::get_about_page(QWidget *parent) const { #ifdef ENABLE_DECODE @@ -211,12 +222,15 @@ QWidget *Settings::get_about_page(QWidget *parent) const #ifdef ENABLE_DECODE s.append("" + tr("Supported protocol decoders:") + ""); - for (const GSList *l = srd_decoder_list(); l; l = l->next) { + GSList *sl = g_slist_copy((GSList *)srd_decoder_list()); + sl = g_slist_sort(sl, sort_pds); + for (const GSList *l = sl; l; l = l->next) { dec = (struct srd_decoder *)l->data; s.append(QString("%1%2") .arg(QString::fromUtf8(dec->id), QString::fromUtf8(dec->longname))); } + g_slist_free(sl); #endif s.append("");