mirror of
https://github.com/chris2511/xca.git
synced 2026-09-12 19:51:05 +05:00
The removed people did not add any code since more than 10 years. cwUsersPeople having questions also write them, which could be annoying. Anyway: Thanks for your collaboration!
139 lines
4.0 KiB
C++
139 lines
4.0 KiB
C++
/* vi: set sw=4 ts=4:
|
|
*
|
|
* Copyright (C) 2001 - 2015 Christian Hohnstaedt.
|
|
*
|
|
* All rights reserved.
|
|
*/
|
|
|
|
|
|
#include "MainWindow.h"
|
|
#include <QtGui/QApplication>
|
|
#include <QtGui/QMimeSource>
|
|
#include <QtGui/QPixmap>
|
|
#include <QtGui/QLabel>
|
|
#ifndef OPENSSL_NO_EC
|
|
#include <openssl/ec.h>
|
|
#endif
|
|
#include "ui_About.h"
|
|
#include "ui_Help.h"
|
|
#include "lib/func.h"
|
|
#include "lib/entropy.h"
|
|
|
|
void MainWindow::cmd_version() {
|
|
fprintf(stderr, XCA_TITLE " Version " PACKAGE_VERSION "\n");
|
|
exitApp = 1;
|
|
}
|
|
|
|
void MainWindow::cmd_help(const char* msg) {
|
|
exitApp = 1;
|
|
fprintf(stderr, XCA_TITLE " Version " PACKAGE_VERSION "\n"
|
|
"\n"
|
|
" -v show version information and exit\n"
|
|
" -h shows this help screen and exit\n"
|
|
" -e <type>:<name> extract entry.\n"
|
|
" -d expect the following argument to be the database name to use\n"
|
|
" -x Exit after processing all commandline options\n\n");
|
|
|
|
if(msg) {
|
|
fprintf(stderr, "Cmdline Error: %s\n", msg);
|
|
}
|
|
}
|
|
|
|
void MainWindow::about()
|
|
{
|
|
Ui::About ui;
|
|
QDialog *about = new QDialog(this, 0);
|
|
QString openssl, qt, cont, version, brainpool;
|
|
#ifndef OPENSSL_NO_EC
|
|
#ifdef NID_brainpoolP160r1
|
|
EC_GROUP *group = EC_GROUP_new_by_curve_name(NID_brainpoolP160r1);
|
|
ign_openssl_error();
|
|
if (group) {
|
|
EC_GROUP_free(group);
|
|
brainpool = "<p>ECC With RFC 5639 Brainpool curves"
|
|
#if OPENSSL_VERSION_NUMBER < 0x10002001L
|
|
"<br/>(Backported to " OPENSSL_VERSION_TEXT ")"
|
|
#endif
|
|
;
|
|
}
|
|
#endif
|
|
#else
|
|
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("<table border=0 width=500><tr>"
|
|
"<td>Compile time:</td>"
|
|
"<td>"OPENSSL_VERSION_TEXT"</td>"
|
|
"<td>QT version: "QT_VERSION_STR"</td>"
|
|
"</tr><tr>"
|
|
"<td>Run time:</td>"
|
|
"<td>%1</td>"
|
|
"<td>QT version: %2</td>"
|
|
"</tr></table>").arg(openssl).arg(qt);
|
|
} else {
|
|
version = QString("%1<br>QT version: %2").arg(openssl).arg(qt);
|
|
}
|
|
ui.setupUi(about);
|
|
Entropy::seed_rng();
|
|
cont = QString(
|
|
"<p><h3><center><u>XCA</u></center></h3>"
|
|
"<p>Copyright 2001 - 2015 by Christian Hohnstädt\n"
|
|
"<p>Version: <b>" PACKAGE_VERSION "</b>"
|
|
"<p>%1<p>%2"
|
|
"<p>http://sourceforge.net/projects/xca"
|
|
"<p>Entropy strength: %3"
|
|
"<hr><table border=0>"
|
|
"<tr><th align=left>Christian Hohnstädt</th><td><u><christian@hohnstaedt.de></u></td></tr>"
|
|
"<tr><td></td><td>Programming, Translation and Testing</td></tr>"
|
|
"<tr><th align=left>Kerstin Steinhauff</th><td><u><tine@kerstine.de></td></u></tr>"
|
|
"<tr><td></td><td>Arts and Graphics</td></tr>"
|
|
"</table><hr><center><u><b>General support</b></u></center>"
|
|
"<p><table>"
|
|
"<tr><td><b>Mark Foster</b></td><td><u><mark@foster.cc></u></td></tr>"
|
|
"<tr><td><b>Thorsten Weiss</b></td><td><u><weiss2@gmx.de></u></td></tr>"
|
|
"<tr><td><b>Oobj</b></td><td><u><www.oobj.com.br></u></td></tr>"
|
|
"<tr><td><b>Frank Isemann</b></td><td><u><isemannf@firflabs.net></u></td></tr>"
|
|
"<tr><td><b>Helmut Strobl</b></td><td><u><helmut.strobl@t-online.de></u></td></tr>"
|
|
"</table><hr><center><u><b>Maintained Translations</b></u></center>"
|
|
"<p><table>"
|
|
"<tr><td><b>German</b></td><td>Christian Hohnstädt <christian@hohnstaedt.de></td></tr>"
|
|
"<tr><td><b>French</b></td><td>Patrick Monnerat <Patrick.Monnerat@datasphere.ch></td></tr>"
|
|
"<tr><td><b>Croatian</b></td><td>Nevenko Bartolincic <nevenko.bartolincic@gmail.com></td></tr>"
|
|
"</table>").arg(brainpool).arg(version).arg(Entropy::strength());
|
|
|
|
about->setWindowTitle(XCA_TITLE);
|
|
ui.image->setPixmap( *keyImg );
|
|
ui.image1->setPixmap( *certImg );
|
|
ui.textbox->setHtml(cont);
|
|
about->exec();
|
|
delete about;
|
|
}
|
|
|
|
void MainWindow::help()
|
|
{
|
|
QDialog *h = new QDialog(this, 0);
|
|
QString path, uri;
|
|
Ui::Help ui;
|
|
ui.setupUi(h);
|
|
|
|
path = QString("file://");
|
|
#ifdef WIN32
|
|
path += "/";
|
|
#endif
|
|
path += getDocDir() + "/";
|
|
#ifdef WIN32
|
|
path = path.replace("\\","/");
|
|
#endif
|
|
uri = path + "xca.html";
|
|
|
|
ui.textbox->setSource(QUrl(uri));
|
|
ui.textbox->setSearchPaths(QStringList(path));
|
|
h->setWindowTitle(tr(XCA_TITLE));
|
|
h->show();
|
|
}
|
|
|