nemo said I was boring for removing the "hello" randomizer on room join.
That was actually an accident, fixed by this commit.
Now find an actual reason to call me boring (there are many to choose from :P) nemo!
/*
* Hedgewars, a free turn based strategy game
* Copyright (c) 2006-2012 Andrey Korotaev <unC0Rr@gmail.com>
*
* 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; version 2 of the License
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#include <QGridLayout>
#include <QLabel>
#include <QList>
#include <QUrl>
#include <QRegExp>
#include "hwconsts.h"
#include "SDLInteraction.h"
#include "about.h"
About::About(QWidget * parent) :
QWidget(parent)
{
QGridLayout *mainLayout = new QGridLayout(this);
QLabel *imageLabel = new QLabel;
QImage image(":/res/Hedgehog.png");
imageLabel->setPixmap(QPixmap::fromImage(image));
imageLabel->setScaledContents(true);
imageLabel->setMinimumWidth(2.8);
imageLabel->setMaximumWidth(280);
imageLabel->setMinimumHeight(30);
imageLabel->setMaximumHeight(300);
mainLayout->addWidget(imageLabel, 0, 0, 2, 1);
QLabel *lbl1 = new QLabel(this);
lbl1->setOpenExternalLinks(true);
lbl1->setText(
"<style type=\"text/css\">"
"a { color: #ffcc00; }"
// "a:hover { color: yellow; }"
"</style>"
"<div align=\"center\"><h1>Hedgewars</h1>"
"<h3>" + QLabel::tr("Version") + " " + *cVersionString + "</h3>"
"<p><a href=\"http://www.hedgewars.org/\">http://www.hedgewars.org/</a></p><br>" +
QLabel::tr("This program is distributed under the GNU General Public License v2") +
"</div>"
);
lbl1->setWordWrap(true);
mainLayout->addWidget(lbl1, 0, 1);
lbl2 = new QTextBrowser(this);
lbl2->setOpenExternalLinks(true);
lbl2->setText(
"<style type=\"text/css\">"
"a { color: #ffcc00; }"
// "a:hover { color: yellow; }"
"</style>" +
QString("<h2>") +
QLabel::tr("Developers:") +
"</h2><p>"
"Engine, frontend, net server: Andrey Korotaev <<a href=\"mailto:unC0Rr@gmail.com\">unC0Rr@gmail.com</a>><br>"
"Many frontend improvements: Igor Ulyanov <<a href=\"mailto:disinbox@gmail.com\">disinbox@gmail.com</a>><br>"
"Many engine and frontend improvements: Derek Pomery <<a href=\"mailto:nemo@m8y.org\">nemo@m8y.org</a>><br>"
"Drill rocket, Ballgun, RC Plane weapons: Martin Boze <<a href=\"mailto:afffect@gmail.com\">afffect@gmail.com</a>><br>"
"Mine number and time game settings: David A. Cuadrado <<a href=\"mailto:krawek@gmail.com\">krawek@gmail.com</a>><br>"
"Frontend improvements: Martin Minarik <<a href=\"mailto:ttsmj@pokec.sk\">ttsmj@pokec.sk</a>><br>"
"Frontend improvements: Kristian Lehmann <<a href=\"mailto:email@thexception.net\">email@thexception.net</a>><br>"
"Mac OS X/iPhone port, OpenGL-ES conversion: Vittorio Giovara <<a href=\"mailto:vittorio.giovara@gmail.com\">vittorio.giovara@gmail.com</a>><br>"
"Many engine and frontend improvements (and bugs): Richard Karolyi <<a href=\"mailto:sheepluva@" "ercatec.net\">sheepluva@" "ercatec.net</a>><br>"
"Gamepad and Lua integration: Mario Liebisch <<a href=\"mailto:mario.liebisch@gmail.com\">mario.liebisch@gmail.com</a>><br>"
"Many engine improvements and graphics: Carlos Vives <<a href=\"mailto:mail@carlosvives.es\">mail@carlosvives.es</a>><br>"
"Maze maps: Henning Kühn <<a href=\"mailto:prg@cooco.de\">prg@cooco.de</a>><br>"
"Engine and frontend improvements: Henrik Rostedt <<a href=\"mailto:henrik.rostedt@gmail.com\">henrik.rostedt@gmail.com</a>><br>"
"Lua game modes and missions: John Lambert <<a href=\"mailto:redgrinner@gmail.com\">redgrinner@gmail.com</a>><br>"
"Frontend improvements: Mayur Pawashe <<a href=\"mailto:zorgiepoo@gmail.com\">zorgiepoo@gmail.com</a>><br>"
"Android port: Richard Deurwaarder <<a href=\"mailto:xeli@xelification.com\">xeli@xelification.com</a>><br>"
"</p><h2>" +
QLabel::tr("Art:") + "</h2>"
+ QString::fromUtf8(
"<p>John Dum <<a href=\"mailto:fizzy@gmail.com\">fizzy@gmail.com</a>>"
"<br>"
"Joshua Frese <<a href=\"mailto:joshfrese@gmail.com\">joshfrese@gmail.com</a>>"
"<br>"
"Stanko Tadić <<a href=\"mailto:stanko@mfhinc.net\">stanko@mfhinc.net</a>>"
"<br>"
"Julien Koesten <<a href=\"mailto:julienkoesten@aol.com\">julienkoesten@aol.com</a>>"
"<br>"
"Joshua O'Sullivan <<a href=\"mailto:coheedftw@hotmail.co.uk\">coheedftw@hotmail.co.uk</a>>"
"<br>"
"Nils Lück <<a href=\"mailto:nils.luck.design@gmail.com\">nils.luck.design@gmail.com</a>>"
"<br>"
"Guillaume Englert <<a href=\"mailto:genglert@hybird.org\">genglert@hybird.org</a>>"
"<br>"
"Hats: Trey Perry <<a href=\"mailto:tx.perry.j@gmail.com\">tx.perry.j@gmail.com</a>>"
"</p><h2>") +
QLabel::tr("Sounds:") + "</h2>"
"Hedgehogs voice: Stephen Alexander <<a href=\"mailto:ArmagonNo1@gmail.com\">ArmagonNo1@gmail.com</a>>"
"<br>"
"John Dum <<a href=\"mailto:fizzy@gmail.com\">fizzy@gmail.com</a>>"
"<br>"
"Jonatan Nilsson <<a href=\"mailto:jonatanfan@gmail.com\">jonatanfan@gmail.com</a>>"
"<br>"
"Daniel Martin <<a href=\"mailto:elhombresinremedio@gmail.com\">elhombresinremedio@gmail.com</a>>"
"</p><h2>" +
QLabel::tr("Translations:") + "</h2><p>"
+ QString::fromUtf8(
"Brazilian Portuguese: Romulo Fernandes Machado <<a href=\"mailto:abra185@gmail.com\">abra185@gmail.com</a>><br>"
"Bulgarian: Svetoslav Stefanov<br>"
"Czech: Petr Řezáček <<a href=\"mailto:rezacek@gmail.com\">rezacek@gmail.com</a>><br>"
"Chinese: Jie Luo <<a href=\"mailto:lililjlj@gmail.com\">lililjlj@gmail.com</a>><br>"
"English: Andrey Korotaev <<a href=\"mailto:unC0Rr@gmail.com\">unC0Rr@gmail.com</a>><br>"
"Finnish: Nina Kuisma <<a href=\"mailto:ninnnu@gmail.com\">ninnnu@gmail.com</a>><br>"
"French: Antoine Turmel <<a href=\"mailto:geekshadow@gmail.com\">geekshadow@gmail.com</a>><br>"
"German: Peter Hüwe <<a href=\"mailto:PeterHuewe@gmx.de\">PeterHuewe@gmx.de</a>>, Mario Liebisch <<a href=\"mailto:mario.liebisch@gmail.com\">mario.liebisch@gmail.com</a>>, Richard Karolyi <<a href=\"mailto:sheepluva@" "ercatec.net\">sheepluva@" "ercatec.net</a>><br>"
"Greek: <<a href=\"mailto:talos_kriti@yahoo.gr\">talos_kriti@yahoo.gr</a>><br>"
"Italian: Luca Bonora <<a href=\"mailto:bonora.luca@gmail.com\">bonora.luca@gmail.com</a>>, Marco Bresciani<br>"
"Japanese: ADAM Etienne <<a href=\"mailto:etienne.adam@gmail.com\">etienne.adam@gmail.com</a>><br>"
"Korean: Anthony Bellew <<a href=\"mailto:webmaster@anthonybellew.com\">webmaster@anthonybellew.com</a>><br>"
"Lithuanian: Lukas Urbonas <<a href=\"mailto:lukasu08@gmail.com\">lukasu08@gmail.com</a>><br>"
"Polish: Maciej Mroziński <<a href=\"mailto:mynick2@o2.pl\">mynick2@o2.pl</a>>, Wojciech Latkowski <<a href=\"mailto:magik17l@gmail.com\">magik17l@gmail.com</a>>, Piotr Mitana, Maciej Górny<br>"
"Portuguese: Fábio Canário <<a href=\"mailto:inufabie@gmail.com\">inufabie@gmail.com</a>><br>"
"Russian: Andrey Korotaev <<a href=\"mailto:unC0Rr@gmail.com\">unC0Rr@gmail.com</a>><br>"
"Slovak: Jose Riha<br>"
"Spanish: Carlos Vives <<a href=\"mailto:mail@carlosvives.es\">mail@carlosvives.es</a>><br>"
"Swedish: Niklas Grahn <<a href=\"mailto:raewolusjoon@yaoo.com\">raewolusjoon@yaoo.com</a>>, Henrik Rostedt <<a href=\"mailto:henrik.rostedt@gmail.com\">henrik.rostedt@gmail.com</a>><br>"
"Ukrainian: Eugene V. Lyubimkin <<a href=\"mailto:jackyf.devel@gmail.com\">jackyf.devel@gmail.com</a>>, Igor Paliychuk <<a href=\"mailto:mansonigor@gmail.com\">mansonigor@gmail.com</a>>, Eugene Sakara <<a href=\"mailto:eresid@gmail.com\">eresid@gmail.com</a>>"
"</p><h2>") +
QLabel::tr("Special thanks:") + "</h2><p>"
"Aleksey Andreev <<a href=\"mailto:blaknayabr@gmail.com\">blaknayabr@gmail.com</a>><br>"
"Aleksander Rudalev <<a href=\"mailto:alexv@pomorsu.ru\">alexv@pomorsu.ru</a>><br>"
"Natasha Korotaeva <<a href=\"mailto:layout@pisem.net\">layout@pisem.net</a>><br>"
"Adam Higerd (aka ahigerd at FreeNode)"
"</p>"
);
mainLayout->addWidget(lbl2, 1, 1);
setAcceptDrops(true);
}
void About::dragEnterEvent(QDragEnterEvent * event)
{
if (event->mimeData()->hasUrls())
{
QList<QUrl> urls = event->mimeData()->urls();
QString url = urls[0].toString();
if (urls.count() == 1)
if (url.contains(QRegExp("^file://.*\\.ogg$")))
event->acceptProposedAction();
}
}
void About::dropEvent(QDropEvent * event)
{
QString file =
event->mimeData()->urls()[0].toString().remove(QRegExp("^file://"));
SDLInteraction::instance().setMusicTrack(file);
event->acceptProposedAction();
}