From 016003905ca0e8e459e3dc33e786beda8ec92f45 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Fri, 30 Jan 2015 17:00:07 -0500 Subject: Imported Upstream version 3.0.2 --- .../guiSQLiteStudio/dialogs/aboutdialog.cpp | 56 ++++++++++++++++++---- 1 file changed, 48 insertions(+), 8 deletions(-) (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp') diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp index df790de..0d291e5 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/aboutdialog.cpp @@ -4,6 +4,9 @@ #include "sqlitestudio.h" #include "iconmanager.h" #include "services/extralicensemanager.h" +#include "services/pluginmanager.h" +#include "formmanager.h" +#include "iconmanager.h" #include #include @@ -26,6 +29,7 @@ void AboutDialog::init(InitialMode initialMode) ui->tabWidget->setCurrentWidget(initialMode == ABOUT ? ui->about : ui->license); + // About QString distName; switch (getDistributionType()) { @@ -43,15 +47,23 @@ void AboutDialog::init(InitialMode initialMode) QString newLabelValue = ui->aboutLabel->text().arg(SQLITESTUDIO->getVersionString(), distName); ui->aboutLabel->setText(newLabelValue); + // Licenses licenseContents = ""; int row = 1; - QHash licenses = SQLITESTUDIO->getExtraLicenseManager()->getLicenses(); + QHash licenses = SQLITESTUDIO->getExtraLicenseManager()->getLicensesContents(); + QString violation; + QString title; QHashIterator it(licenses); while (it.hasNext()) { it.next(); - readLicense(row++, it.key(), it.value()); + violation = QString(); + title = it.key(); + if (SQLITESTUDIO->getExtraLicenseManager()->isViolatedLicense(title)) + violation = SQLITESTUDIO->getExtraLicenseManager()->getViolationMessage(title); + + addLicense(row++, title, it.value(), violation); } buildIndex(); @@ -59,6 +71,18 @@ void AboutDialog::init(InitialMode initialMode) ui->licenseEdit->setHtml(licenseContents); indexContents.clear(); licenseContents.clear(); + + // Environment + copyAct = new QAction(tr("Copy"), this); + ui->appDirEdit->setText(qApp->applicationDirPath()); + ui->cfgDirEdit->setText(CFG->getConfigDir()); + ui->pluginDirList->addItems(filterResourcePaths(PLUGINS->getPluginDirs())); + ui->iconDirList->addItems(filterResourcePaths(ICONMANAGER->getIconDirs())); + ui->formDirList->addItems(filterResourcePaths(FORMS->getFormDirs())); + ui->qtVerEdit->setText(QT_VERSION_STR); + ui->pluginDirList->addAction(copyAct); + ui->iconDirList->addAction(copyAct); + ui->formDirList->addAction(copyAct); } void AboutDialog::buildIndex() @@ -68,16 +92,19 @@ void AboutDialog::buildIndex() for (const QString& idx : indexContents) entries += entryTpl.arg(idx); - licenseContents.prepend("

Table of contents:

    " + entries.join("") + "
"); + licenseContents.prepend(tr("

Table of contents:

    %2
").arg(entries.join(""))); } -void AboutDialog::readLicense(int row, const QString& title, const QString& path) +void AboutDialog::addLicense(int row, const QString& title, const QString& contents, const QString& violation) { + static_qstring(violatedTpl, "%1 (%2)"); + + QString escapedTitle = title.toHtmlEscaped(); + QString finalTitle = violation.isNull() ? escapedTitle : violatedTpl.arg(escapedTitle, violation); QString rowNum = QString::number(row); - QString contents = readFile(path); - licenseContents += "

" + rowNum + ". " + title + "

"; - licenseContents += "
" + contents + "
"; - indexContents += title; + licenseContents += "

" + rowNum + ". " + finalTitle + "

"; + licenseContents += "
" + contents.toHtmlEscaped() + "
"; + indexContents += finalTitle; } QString AboutDialog::readFile(const QString& path) @@ -92,3 +119,16 @@ QString AboutDialog::readFile(const QString& path) file.close(); return contents; } + +QStringList AboutDialog::filterResourcePaths(const QStringList& paths) +{ + QStringList output; + for (const QString& path : paths) + { + if (path.startsWith(":")) + continue; + + output << path; + } + return output; +} -- cgit v1.2.3