forked from goldendict/goldendict
-
Notifications
You must be signed in to change notification settings - Fork 0
/
about.cc
79 lines (57 loc) · 2.11 KB
/
about.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/* This file is (c) 2008-2012 Konstantin Isakov <[email protected]>
* Part of GoldenDict. Licensed under GPLv3 or later, see the LICENSE file */
#include "about.hh"
#include <QtGui>
#include <QSysInfo>
#include "qt4x5.hh"
About::About( QWidget * parent ): QDialog( parent )
{
ui.setupUi( this );
QFile versionFile( ":/version.txt" );
QString version;
if ( !versionFile.open( QFile::ReadOnly ) )
version = tr( "[Unknown]" );
else
version = QString::fromLatin1( versionFile.readAll() ).trimmed();
ui.version->setText( version );
#if defined (_MSC_VER)
QString compilerVersion = QString( "Visual C++ %1.%2.%3" )
.arg( GD_CXX_MSVC_MAJOR )
.arg( GD_CXX_MSVC_MINOR )
.arg( GD_CXX_MSVC_BUILD );
#elif defined (__clang__) && defined (__clang_version__)
QString compilerVersion = QLatin1String( "Clang " ) + QLatin1String( __clang_version__ );
#else
QString compilerVersion = QLatin1String( "GCC " ) + QLatin1String( __VERSION__ );
#endif
ui.qtVersion->setText( tr( "Based on Qt %1 (%2, %3 bit)" ).arg(
QLatin1String( qVersion() ),
compilerVersion,
QString::number( QSysInfo::WordSize ) ) );
QFile creditsFile( ":/CREDITS.txt" );
if ( creditsFile.open( QFile::ReadOnly ) )
{
QStringList creditsList =
QString::fromUtf8(
creditsFile.readAll() ).split( '\n', Qt4x5::skipEmptyParts() );
QString html = "<html><body style='color: black; background: #f4f4f4;'>";
for( int x = 0; x < creditsList.size(); ++x )
{
QString str = creditsList[ x ];
str.replace( "\\", "@" );
str = Qt4x5::escape( str );
int colon = str.indexOf( ":" );
if ( colon != -1 )
{
QString name( str.left( colon ) );
name.replace( ", ", "<br>" );
str = "<font color='blue'>" + name + "</font><br> "
+ str.mid( colon + 1 );
}
html += str;
html += "<br>";
}
html += "</body></html>";
ui.credits->setHtml( html );
}
}