X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdialogs%2Fabout.cpp;h=20a02993b59cafa1360ea227e7f0de032b9c241f;hb=db8a1b5c7e7cc3663fa8582749db289383c68313;hp=fc206551238bbfd7ab6b73896725bf73cb1aa22e;hpb=0ec7aba5edea629f9b5b87c18b6511dfd6479470;p=pulseview.git diff --git a/pv/dialogs/about.cpp b/pv/dialogs/about.cpp index fc20655..20a0299 100644 --- a/pv/dialogs/about.cpp +++ b/pv/dialogs/about.cpp @@ -18,33 +18,28 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifdef ENABLE_SIGROKDECODE -#include +#ifdef ENABLE_DECODE +#include #endif #include -#include "about.h" +#include "about.hpp" #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_SIGROKDECODE +#ifdef ENABLE_DECODE struct srd_decoder *dec; #endif @@ -66,50 +61,47 @@ About::About(QWidget *parent) : s.append("" + tr("Supported hardware drivers:") + ""); - drivers = sr_driver_list(); - for (int i = 0; drivers[i]; ++i) { + for (auto entry : context->drivers()) { s.append(QString("%1%2") - .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("" + tr("Supported input formats:") + ""); - inputs = sr_input_list(); - for (int i = 0; inputs[i]; ++i) { + for (auto entry : context->input_formats()) { s.append(QString("%1%2") - .arg(QString(inputs[i]->id)) - .arg(QString(inputs[i]->description))); + .arg(QString::fromUtf8(entry.first.c_str())) + .arg(QString::fromUtf8(entry.second->description().c_str()))); } s.append("" + tr("Supported output formats:") + ""); - outputs = sr_output_list(); - for (int i = 0; outputs[i]; ++i) { + for (auto entry : context->output_formats()) { s.append(QString("%1%2") - .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_SIGROKDECODE +#ifdef ENABLE_DECODE s.append("" + tr("Supported protocol decoders:") + ""); for (const GSList *l = srd_decoder_list(); l; l = l->next) { dec = (struct srd_decoder *)l->data; s.append(QString("%1%2") - .arg(QString(dec->id)) - .arg(QString(dec->longname))); + .arg(QString::fromUtf8(dec->id)) + .arg(QString::fromUtf8(dec->longname))); } #endif s.append(""); - supportedDoc.reset(new QTextDocument(this)); + supportedDoc = new QTextDocument(this); supportedDoc->setHtml(s); - ui->supportList->setDocument(supportedDoc.get()); + ui->supportList->setDocument(supportedDoc); } About::~About()