/* vi: set sw=4 ts=4: * * Copyright (C) 2001 - 2020 Christian Hohnstaedt. * * All rights reserved. */ #include "MainWindow.h" #include #include #include #include #ifndef OPENSSL_NO_EC #include #endif #include "XcaDialog.h" #include "ui_Help.h" #include "lib/func.h" #include "lib/entropy.h" const QList MainWindow::getTranslators() const { return QList { QStringList{ "", tr("System") }, QStringList{ "zh_CN", tr("Chinese"), "Xczh", "xczh.me", "foxmail.com" }, QStringList{ "hr", tr("Croatian"), "Nevenko Bartolincic", "nevenko.bartolincic", "gmail.com" }, QStringList{ "nl", tr("Dutch"), "Guido Pennings" }, QStringList{ "en", tr("English") }, QStringList{ "fr", tr("French"), "Patrick Monnerat", "patrick", "monnerat.net" }, QStringList{ "de", tr("German"), "Christian Hohnstädt", "christian", "hohnstaedt.de" }, QStringList{ "it", tr("Italian"), "Paolo Basenghi", "paul69", "libero.it" }, QStringList{ "ja", tr("Japanese"), "ぶらすず", "burasuzu", "gmail.com" }, QStringList{ "pl", tr("Polish"), "Jacek Tyborowski", "jacek", "tyborowski.pl" }, QStringList{ "pt_BR", tr("Portuguese in Brazil"), "Ulisses Guedes", "uli1958", "hotmail.com" }, QStringList{ "ru", tr("Russian") }, QStringList{ "sk", tr("Slovak"), "Slavko", "linux", "slavino.sk" }, QStringList{ "es", tr("Spanish"), "Miguel Romera", "mrmsoftdonation", "gmail.com" }, QStringList{ "tr", tr("Turkish") }, }; }; void MainWindow::about() { QTextEdit *textbox = new QTextEdit(NULL); XcaDialog *about = new XcaDialog(this, x509, textbox, QString(), QString()); about->aboutDialog(QPixmap(":scardImg")); QString openssl, qt, cont, version, brainpool; #ifdef OPENSSL_NO_EC brainpool = "(Elliptic Curve Cryptography support disabled)"; #endif openssl = SSLeay_version(SSLEAY_VERSION); qt = qVersion(); if (openssl != OPENSSL_VERSION_TEXT || qt != QT_VERSION_STR) { version = QString("" "" "" "" "" "" "" "" "
Compile time:" OPENSSL_VERSION_TEXT "QT version: " QT_VERSION_STR "
Run time:%1QT version: %2
").arg(openssl).arg(qt); } else { version = QString("%1
QT version: %2").arg(openssl).arg(qt); } QStringList rows; foreach(QStringList sl, getTranslators()) { QString email; QStringList tag { "", "" }; if (sl.size() < 3) continue; if (sl.size() > 4) email = QString("<%1@%2>").arg(sl[3]).arg(sl[4]); QString lang(QLocale::languageToString(QLocale(sl[0]).language())); QStringList row { QString("%1").arg(lang), sl[2].toHtmlEscaped(), email.toHtmlEscaped(), }; rows << tag[0] + row.join(tag[0] + tag[1]) + tag[1]; } Entropy::seed_rng(); cont = QString( "

XCA%7

" "

Copyright 2001 - 2021 by Christian Hohnstädt\n" "

Version: %3

%1" /* commithash, OpenSSL & Qt Version */ "

https://hohnstaedt.de/xca" "

Entropy strength: %2" "

" "" "" "" "
Installation path:%4
User settings path:%5
Working directory:%6
" "


" "" "" "" "" "
Christian Hohnstädt<christian@hohnstaedt.de>
Programming, Translation and Testing
Kerstin Steinhauff<tine@kerstine.de>
Arts and Graphics

Maintained Translations
" "

%8
") .arg(version) .arg(Entropy::strength()) .arg(version_str(true)) .arg(nativeSeparator(QStandardPaths::writableLocation( QStandardPaths::AppDataLocation))) .arg(nativeSeparator(getUserSettingsDir())) .arg(nativeSeparator(QString(Settings["workingdir"]))) .arg(portable_app() ? " (Portable)" : "") .arg(rows.join("")); textbox->setHtml(cont); textbox->setReadOnly(true); about->exec(); delete about; }