Files
pokerth/src/gui/qt/aboutpokerth/aboutpokerthimpl.cpp
T

141 lines
7.0 KiB
C++
Raw Normal View History

/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2011 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
2011-07-03 19:45:08 +00:00
*****************************************************************************/
#include "aboutpokerthimpl.h"
#include "configfile.h"
2007-11-19 09:14:46 +00:00
#include "game_defs.h"
2007-10-27 21:01:44 +00:00
#include <QtCore>
#ifdef ANDROID
2012-12-22 01:22:28 +01:00
#ifndef ANDROID_TEST
#include <QPlatformNativeInterface>
#include <jni.h>
#endif
#endif
2007-01-13 02:40:33 +00:00
aboutPokerthImpl::aboutPokerthImpl(QWidget *parent, ConfigFile *c)
: QDialog(parent), myConfig(c)
2007-01-13 02:40:33 +00:00
{
2007-12-04 01:37:43 +00:00
#ifdef __APPLE__
2007-11-28 22:00:42 +00:00
setWindowModality(Qt::ApplicationModal);
setWindowFlags(Qt::WindowSystemMenuHint | Qt::CustomizeWindowHint | Qt::Dialog);
#endif
2007-11-28 22:00:42 +00:00
setupUi(this);
myAppDataPath = QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str());
2009-04-24 22:53:52 +00:00
QPalette myPalette = textBrowser_licence->palette();
2012-01-30 20:54:05 +00:00
#ifdef GUI_800x480
2012-05-12 15:17:58 +02:00
#ifdef ANDROID
2012-12-21 01:01:01 +01:00
myPalette.setColor(QPalette::Base, QColor(255,255,255,255));
myPalette.setColor(QPalette::Text, QColor(0,0,0,255));
2012-05-12 15:17:58 +02:00
#else
2012-12-21 01:01:01 +01:00
myPalette.setColor(QPalette::Base, QColor(0,0,0,255));
myPalette.setColor(QPalette::Text, QColor(255,255,255,255));
2012-05-12 15:17:58 +02:00
#endif
2012-01-30 20:54:05 +00:00
#else
2007-06-05 00:48:05 +00:00
QColor myColor = myPalette.color(QPalette::Window);
myPalette.setColor(QPalette::Base, myColor);
2012-01-30 20:54:05 +00:00
#endif
textBrowser_licence->setPalette(myPalette);
2007-06-05 00:48:05 +00:00
textBrowser_2->setPalette(myPalette);
textBrowser_3->setPalette(myPalette);
2012-12-21 01:01:01 +01:00
textBrowser_4->setPalette(myPalette);
QFile gplFile(QDir::toNativeSeparators(myAppDataPath+"misc/agpl.html"));
2007-10-27 22:03:32 +00:00
QString gplString;
if(gplFile.exists()) {
2007-12-15 21:18:05 +00:00
if (gplFile.open( QIODevice::ReadOnly)) {
2007-10-27 22:03:32 +00:00
QTextStream stream( &gplFile );
gplString = stream.readAll();
textBrowser_licence->setHtml(gplString);
}
}
label_logo->setPixmap(QPixmap(":/gfx/logoChip3D.png"));
2007-11-19 09:14:46 +00:00
2012-01-30 20:54:05 +00:00
#ifdef GUI_800x480
2012-12-21 01:01:01 +01:00
label_pokerthVersion->setStyleSheet("QLabel { font-size: 30px; font-weight: bold;}");
2012-01-30 20:54:05 +00:00
#else
2007-11-19 09:14:46 +00:00
label_pokerthVersion->setStyleSheet("QLabel { font-size: 16px; font-weight: bold;}");
2012-01-30 20:54:05 +00:00
#endif
#ifdef ANDROID
2012-12-21 01:01:01 +01:00
int api = -2;
2012-12-22 00:18:54 +01:00
#ifndef ANDROID_TEST
JavaVM *currVM = (JavaVM *)QApplication::platformNativeInterface()->nativeResourceForWidget("JavaVM", 0);
JNIEnv* env;
if (currVM->AttachCurrentThread(&env, NULL)<0) {
qCritical()<<"AttachCurrentThread failed";
} else {
jclass jclassApplicationClass = env->FindClass("android/os/Build$VERSION");
if (jclassApplicationClass) {
api = env->GetStaticIntField(jclassApplicationClass, env->GetStaticFieldID(jclassApplicationClass,"SDK_INT", "I"));
}
currVM->DetachCurrentThread();
2012-12-21 01:01:01 +01:00
}
2012-12-22 00:18:54 +01:00
#endif
2012-12-21 01:01:01 +01:00
label_pokerthVersion->setText(QString(tr("PokerTH %1 for Android (API%2)").arg(POKERTH_BETA_RELEASE_STRING).arg(api)));
#else
2012-12-21 01:01:01 +01:00
label_pokerthVersion->setText(QString(tr("PokerTH %1").arg(POKERTH_BETA_RELEASE_STRING)));
#endif
2007-11-19 09:14:46 +00:00
this->setWindowTitle(QString(tr("About PokerTH %1").arg(POKERTH_BETA_RELEASE_STRING)));
2007-12-13 21:04:47 +00:00
2012-12-21 01:01:01 +01:00
//add text to lables and textbrowsers
QString thxToInfos;
thxToInfos.append(tr("- Wikimedia Commons: for different popular avatar picture resources")+"<br>");
thxToInfos.append(tr("- Benedikt, Erhard, Felix, Florian, Linus, Lothar, Steffi, Caro: for people avatar pictures")+"<br>");
thxToInfos.append(tr("- ZeiZei: for misc avatar pictures")+"<br>");
thxToInfos.append(tr("- kde-look.org: for different gpl licensed sounds")+"<br>");
thxToInfos.append(tr("- doc_dos: for self recorded chip sounds")+"<br>");
thxToInfos.append(tr("- thiger, dunkanx, BerndA, coldz, drull: for different patches")+"<br>");
thxToInfos.append(tr("- kraut: for internet-game-server hosting and administration")+"<br>");
2012-12-21 01:01:01 +01:00
thxToInfos.append(tr("- danuxi: for startwindow background gfx and danuxi1 table background")+"<br>");
thxToInfos.append(tr("- heyn: for moderating forum and organise bugtracker and feature requests")+"<br>");
thxToInfos.append(tr("- texas_outlaw: for new table sounds")+"<br>");
textBrowser_3->setHtml(thxToInfos);
2012-05-12 15:17:58 +02:00
2012-12-21 01:01:01 +01:00
QString infoText;
infoText.append(tr("- Poker engine for the popular Texas Hold'em Poker")+"\n");
infoText.append(tr("- Singleplayer games with up to 9 computer-opponents")+"\n");
infoText.append(tr("- Multiplayer network games")+"\n");
infoText.append(tr("- Internet online games")+"\n");
infoText.append(tr("- Changeable gui with online style gallery")+"\n");
infoText.append(tr("- Online ranking website with result tables")+"\n");
infoText.append("\n");
QString thisYear = QDate::currentDate().toString("yyyy");
infoText.append("(c)2006-"+thisYear+", Felix Hammer, Florian Thauer, Lothar May");
label_infotext->setText(infoText);
2012-05-12 15:17:58 +02:00
2012-12-21 01:01:01 +01:00
QString projectText;
projectText.append("<b>"+tr("Project page:")+"</b><br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.pokerth.net'>http://www.pokerth.net</a><br>");
projectText.append("<b>IRC:</b><br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;#pokerth (irc.freenode.net)<br>");
projectText.append("<b>"+tr("Authors:")+"</b><br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;Felix Hammer (<a href=mailto:doitux@pokerth.net>doitux@pokerth.net</a>)<br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- "+tr("initial idea, basic architecture, gui implementation, gui graphics editing, linux package")+"<br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;Florian Thauer (<a href=mailto:floty@pokerth.net>floty@pokerth.net</a>)<br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- "+tr("initial idea, basic architecture, engine development")+"<br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;Lothar May (<a href=mailto:lotodore@pokerth.net>lotodore@pokerth.net</a>)<br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- "+tr("basic architecture, network development, windows package, MacOS package")+"<br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;Oskar Lindqvist (<a href=mailto:tranberry@pokerth.net>tranberry@pokerth.net</a>)<br>");
projectText.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- "+tr("initial gui graphics design")+"<br>");
textBrowser_2->setHtml(projectText);
2007-01-13 02:40:33 +00:00
}