X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fabout.cpp;h=05daff8a2698c99b11c1e88c7dcb61292a9a5775;hp=53072e78c6d7e562a3c239f20571b8e37252c6d3;hb=8dbbc7f0b9ea59d0f0d62225772f8a56eee125f5;hpb=e82fd481f744e0cccdad1d3552118280735ca8e5 diff --git a/pv/dialogs/about.cpp b/pv/dialogs/about.cpp index 53072e78..05daff8a 100644 --- a/pv/dialogs/about.cpp +++ b/pv/dialogs/about.cpp @@ -18,30 +18,31 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include +#ifdef ENABLE_DECODE +#include +#endif #include #include "about.h" #include -/* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */ -#define __STDC_FORMAT_MACROS -#include -#include +#include +using std::shared_ptr; +using sigrok::Context; namespace pv { namespace dialogs { -About::About(QWidget *parent) : +About::About(shared_ptr context, QWidget *parent) : QDialog(parent), ui(new Ui::About) { - struct sr_dev_driver **drivers; - struct sr_input_format **inputs; - struct sr_output_format **outputs; +#ifdef ENABLE_DECODE struct srd_decoder *dec; +#endif + QString s; ui->setupUi(this); @@ -50,8 +51,9 @@ About::About(QWidget *parent) : ui->versionInfo->setText(tr("%1 %2
%3
%4") .arg(QApplication::applicationName()) .arg(QApplication::applicationVersion()) - .arg(tr("GNU GPL, version 2 or later")) + .arg(tr("GNU GPL, version 3 or later")) .arg(QApplication::organizationDomain())); + ui->versionInfo->setOpenExternalLinks(true); s.append(""); @@ -59,42 +61,32 @@ About::About(QWidget *parent) : s.append(""); - drivers = sr_driver_list(); - for (int i = 0; drivers[i]; ++i) { + for (auto entry : context->drivers()) { s.append(QString("") - .arg(QString(drivers[i]->name)) - .arg(QString(drivers[i]->longname))); + .arg(QString::fromUtf8(entry.first.c_str())) + .arg(QString::fromUtf8(entry.second->long_name().c_str()))); } s.append(""); - inputs = sr_input_list(); - for (int i = 0; inputs[i]; ++i) { - s.append(QString("") - .arg(QString(inputs[i]->id)) - .arg(QString(inputs[i]->description))); - } - - s.append(""); - outputs = sr_output_list(); - for (int i = 0; outputs[i]; ++i) { + for (auto entry : context->input_formats()) { s.append(QString("") - .arg(QString(outputs[i]->id)) - .arg(QString(outputs[i]->description))); + .arg(QString::fromUtf8(entry.first.c_str())) + .arg(QString::fromUtf8(entry.second->description().c_str()))); } +#ifdef ENABLE_DECODE s.append(""); for (const GSList *l = srd_decoder_list(); l; l = l->next) { dec = (struct srd_decoder *)l->data; s.append(QString("") - .arg(QString(dec->id)) - .arg(QString(dec->longname))); + .arg(QString::fromUtf8(dec->id)) + .arg(QString::fromUtf8(dec->longname))); } +#endif s.append("
" + tr("Supported hardware drivers:") + "
%1%2
" + tr("Supported input formats:") + "
%1%2
" + - tr("Supported output formats:") + - "
%1%2
" + tr("Supported protocol decoders:") + "
%1%2
");