From e4f237152d5581ebb7dc25fec1ba60cf2655f2e9 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Tue, 30 Jan 2018 12:25:32 +0100 Subject: Added profile and plugin list to About dialog --- src/forms/aboutdialog.cpp | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'src/forms/aboutdialog.cpp') diff --git a/src/forms/aboutdialog.cpp b/src/forms/aboutdialog.cpp index 5b788bd..93cb688 100644 --- a/src/forms/aboutdialog.cpp +++ b/src/forms/aboutdialog.cpp @@ -7,6 +7,7 @@ */ #include "aboutdialog.h" +#include "browser.h" #include "ui_aboutdialog.h" #include "version.h" #include @@ -28,10 +29,9 @@ AboutDialog::AboutDialog(QWidget *parent) setAttribute(Qt::WA_DeleteOnClose, true); ui->setupUi(this); - // clang-tidy: don't use static_cast to downcast from a base to a derived class, - // use dynamic_cast instead - //ui->icon->setPixmap(qApp->windowIcon().pixmap(72, 72)); - ui->icon->setPixmap(dynamic_cast(QApplication::instance())->windowIcon().pixmap(72, 72)); + auto *browser = dynamic_cast(QApplication::instance()); + + ui->icon->setPixmap(dynamic_cast(browser)->windowIcon().pixmap(72, 72)); auto *aboutLabel = new QLabel(this); aboutLabel->setWordWrap(true); @@ -63,6 +63,31 @@ AboutDialog::AboutDialog(QWidget *parent) "
  • Boost " BOOST_LIB_VERSION "
  • " "

    ")); ui->toolBox->addItem(libsLabel, tr("Details")); + + // list profiles + if(!browser->profiles().isEmpty()) { + QString profilesText = tr("

    Profile list:

    " + "

      "); + for(const QString &name : browser->profiles()) { + if(name.isEmpty()) + profilesText += tr("
    • Off-the-record
    • "); + else + profilesText += tr("
    • %1
    • ").arg(name); + } + profilesText += tr("

    "); + libsLabel->setText(libsLabel->text() + profilesText); + } + + // list plugins + if(!browser->plugins().isEmpty()) { + QString pluginText = tr("

    Plugin list:

    " + "

      "); + for(const Browser::Plugin &plugin : browser->plugins()) { + pluginText += tr("
    • %1 (%2)
    • ").arg(plugin.meta["name"].toString(), plugin.meta["author"].toString()); + } + pluginText += tr("

    "); + libsLabel->setText(libsLabel->text() + pluginText); + } } AboutDialog::~AboutDialog() -- cgit v1.2.1