//============================================================================= // // File : AboutDialog.cpp // Creation date : Sun Jun 23 17:59:12 2002 GMT by Szymon Stefanek // // This file is part of the KVIrc IRC client distribution // Copyright (C) 2002 Szymon Stefanek (pragma at kvirc dot net) // Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) // // This program is FREE software. You can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the HOPE that it will be USEFUL, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, write to the Free Software Foundation, // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // //============================================================================= #include "AboutDialog.h" #include "kvi_defaults.h" #include "KviLocale.h" #include "KviApplication.h" #include "KviFileUtils.h" #include "kvi_sourcesdate.h" #include "KviBuildInfo.h" #include "KviRuntimeInfo.h" #include #include #include #include #include #include #include #include extern AboutDialog * g_pAboutDialog; /* "KVIrc public releases :
\n" \ "
\n" \ "0.9.0
\n" \ "Release date: 25.01.1999
\n" \ "
\n" \ "1.0.0 'Millennium'
\n" \ "\"The net in your hands\"
\n" \ "Release date: 21.12.1999
\n" \ "
\n" \ "2.0.0 'Phoenix'
\n" \ "\"The client that can't make coffee\"
\n" \ "Release date: 30.05.2000
\n" \ "
\n" \ "2.1.0 'Dark Star'
\n" \ "\"The client that can't make coffee\"
\n" \ "Release date: 30.01.2001
\n" \ "
\n" \ "2.1.1 'Monolith'
\n" \ "\"A breath of fresh net\"
\n" \ "Release date: 01.05.2001
\n" \ "
3.0.0-xmas build: 24-12-2001\n" \ "3.0.0-beta1: 24-06-2002\n " "3.0.0 'Avatar'
\n" \ "\"No slogan yet\"
\n" \ "Release date: Still unknown
\n" \ */ #include "abouttext.inc" AboutDialog::AboutDialog() : KviTalTabDialog(0) { setWindowTitle(__tr2qs_ctx("About KVIrc", "about")); setOkButton(__tr2qs_ctx("Close", "about")); // About tab QString buffer; g_pApp->findImage(buffer, "kvi_release_art.png"); QPixmap pix(buffer); QWidget * w = new QWidget(this); QGridLayout * g = new QGridLayout(w); QLabel * l = new QLabel(w); l->setFrameStyle(QFrame::WinPanel | QFrame::Sunken); QPalette p = l->palette(); p.setColor(backgroundRole(), Qt::black); l->setPalette(p); l->setAlignment(Qt::AlignCenter); l->setPixmap(pix); g->addWidget(l, 0, 0); QString aboutString = "KVIrc " KVI_VERSION " '" KVI_RELEASE_NAME "'
"; aboutString += __tr2qs_ctx("Forged by the KVIrc Development Team", "about"); l = new QLabel(aboutString, w); l->setAlignment(Qt::AlignCenter); g->addWidget(l, 1, 0); addTab(w, __tr2qs_ctx("About", "about")); // Info tab w = new QWidget(this); g = new QGridLayout(w); QTextEdit * v = new QTextEdit(w); v->setReadOnly(true); g->addWidget(v, 0, 0); // Get info QString infoString = "KVIrc " KVI_VERSION " '" KVI_RELEASE_NAME "'

"; infoString += ""; infoString += __tr2qs_ctx("Runtime Info", "about"); infoString += ":
"; infoString += __tr2qs_ctx("System name", "about"); infoString += ": "; infoString += KviRuntimeInfo::name(); #ifndef COMPILE_ON_MAC infoString += " "; infoString += KviRuntimeInfo::release(); #endif infoString += "
"; infoString += __tr2qs_ctx("System version", "about"); infoString += ": "; infoString += KviRuntimeInfo::version(); infoString += "
"; infoString += __tr2qs_ctx("Architecture", "about"); infoString += ": "; infoString += KviRuntimeInfo::machine(); infoString += "
"; infoString += __tr2qs_ctx("Qt version", "about"); infoString += ": "; infoString += KviRuntimeInfo::qtVersion(); infoString += "
"; infoString += __tr2qs_ctx("Qt theme", "about"); infoString += ": "; infoString += KviRuntimeInfo::qtTheme(); infoString += "

"; infoString += ""; infoString += __tr2qs_ctx("Build Info", "about"); infoString += ":
"; infoString += __tr2qs_ctx("Build date", "about"); infoString += ": "; infoString += KviBuildInfo::buildDate(); infoString += "
"; infoString += __tr2qs_ctx("Sources date", "about"); infoString += ": "; infoString += KviBuildInfo::buildSourcesDate(); infoString += "
"; infoString += __tr2qs_ctx("Revision number", "about"); infoString += ": "; infoString += KviBuildInfo::buildRevision(); infoString += "
"; infoString += __tr2qs_ctx("System name", "about"); infoString += ": "; infoString += KviBuildInfo::buildSystem(); infoString += "
"; infoString += __tr2qs_ctx("CPU name", "about"); infoString += ": "; infoString += KviBuildInfo::buildCPU(); infoString += "
"; infoString += __tr2qs_ctx("Build command", "about"); infoString += ": "; infoString += KviBuildInfo::buildCommand(); infoString += "
"; infoString += __tr2qs_ctx("Build flags", "about"); infoString += ":
   "; QString flags = KviBuildInfo::buildFlags(); infoString += flags.replace(QRegExp(";"), "
   "); infoString += "
"; infoString += __tr2qs_ctx("Compiler name", "about"); infoString += ": "; infoString += KviBuildInfo::buildCompiler(); infoString += "
"; infoString += __tr2qs_ctx("Compiler flags", "about"); infoString += ": "; infoString += KviBuildInfo::buildCompilerFlags(); infoString += "
"; infoString += __tr2qs_ctx("Qt version", "about"); infoString += ": "; infoString += KviBuildInfo::qtVersion(); infoString += "
"; infoString += __tr2qs_ctx("Features", "about"); infoString += ": "; infoString += KviBuildInfo::features(); v->setText(infoString); addTab(w, __tr2qs_ctx("Executable Information", "about")); // Honor & Glory tab w = new QWidget(this); g = new QGridLayout(w); v = new QTextEdit(w); v->setReadOnly(true); g->addWidget(v, 0, 0); v->setText(g_szAboutText); addTab(w, __tr2qs_ctx("Honor && Glory", "about")); // License tab w = new QWidget(this); g = new QGridLayout(w); v = new QTextEdit(w); v->setReadOnly(true); v->setWordWrapMode(QTextOption::NoWrap); g->addWidget(v, 0, 0); QString szLicense; QString szLicensePath; g_pApp->getGlobalKvircDirectory(szLicensePath, KviApplication::License, "COPYING"); if(!KviFileUtils::loadFile(szLicensePath, szLicense)) { szLicense = __tr2qs_ctx("Oops! Can't find the license file.\n" "It MUST be included in the distribution...\n" "Please report to ", "about"); } v->setText(szLicense); addTab(w, __tr2qs_ctx("License", "about")); connect(this, SIGNAL(applyButtonPressed()), this, SLOT(closeButtonPressed())); } AboutDialog::~AboutDialog() { g_pAboutDialog = 0; } void AboutDialog::closeEvent(QCloseEvent * e) { e->ignore(); delete this; } void AboutDialog::closeButtonPressed() { delete this; }