--- a/QTfrontend/hwform.cpp Sat Dec 01 00:37:23 2012 +0400
+++ b/QTfrontend/hwform.cpp Sat Dec 01 00:38:06 2012 +0400
@@ -1180,11 +1180,16 @@
connect(hwnet, SIGNAL(serverMessageNew(const QString&)), ui.pageAdmin, SLOT(serverMessageNew(const QString &)));
connect(hwnet, SIGNAL(serverMessageOld(const QString&)), ui.pageAdmin, SLOT(serverMessageOld(const QString &)));
connect(hwnet, SIGNAL(latestProtocolVar(int)), ui.pageAdmin, SLOT(protocol(int)));
+ connect(hwnet, SIGNAL(bansList(const QStringList &)), ui.pageAdmin, SLOT(setBansList(const QStringList &)));
connect(ui.pageAdmin, SIGNAL(setServerMessageNew(const QString&)), hwnet, SLOT(setServerMessageNew(const QString &)));
connect(ui.pageAdmin, SIGNAL(setServerMessageOld(const QString&)), hwnet, SLOT(setServerMessageOld(const QString &)));
connect(ui.pageAdmin, SIGNAL(setProtocol(int)), hwnet, SLOT(setLatestProtocolVar(int)));
connect(ui.pageAdmin, SIGNAL(askServerVars()), hwnet, SLOT(askServerVars()));
connect(ui.pageAdmin, SIGNAL(clearAccountsCache()), hwnet, SLOT(clearAccountsCache()));
+ connect(ui.pageAdmin, SIGNAL(bansListRequest()), hwnet, SLOT(getBanList()));
+ connect(ui.pageAdmin, SIGNAL(removeBan(QString)), hwnet, SLOT(removeBan(QString)));
+ connect(ui.pageAdmin, SIGNAL(banIP(QString,QString,int)), hwnet, SLOT(banIP(QString,QString,int)));
+ connect(ui.pageAdmin, SIGNAL(banNick(QString,QString,int)), hwnet, SLOT(banNick(QString,QString,int)));
// disconnect
connect(hwnet, SIGNAL(disconnected(const QString&)), this, SLOT(ForcedDisconnect(const QString&)), Qt::QueuedConnection);
--- a/QTfrontend/net/newnetclient.cpp Sat Dec 01 00:37:23 2012 +0400
+++ b/QTfrontend/net/newnetclient.cpp Sat Dec 01 00:38:06 2012 +0400
@@ -364,6 +364,14 @@
return;
}
+ if (lst[0] == "BANLIST")
+ {
+ QStringList tmp = lst;
+ tmp.removeFirst();
+ emit bansList(tmp);
+ return;
+ }
+
if (lst[0] == "CLIENT_FLAGS")
{
if(lst.size() < 3 || lst[1].size() < 2)
@@ -863,6 +871,26 @@
RawSendNet(QString("BAN%1%2").arg(delimeter).arg(nick));
}
+void HWNewNet::banIP(const QString & ip, const QString & reason, int seconds)
+{
+ RawSendNet(QString("BANIP%1%2%1%3%1%4").arg(delimeter).arg(ip).arg(reason).arg(seconds));
+}
+
+void HWNewNet::banNick(const QString & nick, const QString & reason, int seconds)
+{
+ RawSendNet(QString("BANNICK%1%2%1%3%1%4").arg(delimeter).arg(nick).arg(reason).arg(seconds));
+}
+
+void HWNewNet::getBanList()
+{
+ RawSendNet(QByteArray("BANLIST"));
+}
+
+void HWNewNet::removeBan(const QString & b)
+{
+ RawSendNet(QString("UNBAN%1%2").arg(delimeter).arg(b));
+}
+
void HWNewNet::kickPlayer(const QString & nick)
{
RawSendNet(QString("KICK%1%2").arg(delimeter).arg(nick));
--- a/QTfrontend/net/newnetclient.h Sat Dec 01 00:37:23 2012 +0400
+++ b/QTfrontend/net/newnetclient.h Sat Dec 01 00:38:06 2012 +0400
@@ -123,6 +123,7 @@
void serverMessageNew(const QString &);
void serverMessageOld(const QString &);
void latestProtocolVar(int);
+ void bansList(const QStringList &);
void setMyReadyStatus(bool isReady);
@@ -156,7 +157,11 @@
void toggleRestrictJoins();
void toggleRestrictTeamAdds();
void partRoom();
- void clearAccountsCache();
+ void clearAccountsCache();
+ void getBanList();
+ void removeBan(const QString &);
+ void banIP(const QString & ip, const QString & reason, int seconds);
+ void banNick(const QString & nick, const QString & reason, int seconds);
private slots:
void ClientRead();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/ui/dialog/bandialog.cpp Sat Dec 01 00:38:06 2012 +0400
@@ -0,0 +1,85 @@
+#include <QFormLayout>
+#include <QComboBox>
+#include <QRadioButton>
+#include <QLineEdit>
+#include <QLabel>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QMessageBox>
+
+#include "bandialog.h"
+
+BanDialog::BanDialog(QWidget *parent) :
+ QDialog(parent)
+{
+ QFormLayout * formLayout = new QFormLayout(this);
+
+ rbIP = new QRadioButton(this);
+ rbIP->setChecked(true);
+ rbNick = new QRadioButton(this);
+ leId = new QLineEdit(this);
+ leReason = new QLineEdit(this);
+ cbTime = new QComboBox(this);
+
+ cbTime->addItem(tr("10 minutes"), 5 * 60);
+ cbTime->addItem(tr("30 minutes"), 10 * 60);
+ cbTime->addItem(tr("1 hour"), 60 * 60);
+ cbTime->addItem(tr("3 hours"), 3 * 60 * 60);
+ cbTime->addItem(tr("5 hours"), 5 * 60 * 60);
+ cbTime->addItem(tr("24 hours"), 24 * 60 * 60);
+ cbTime->addItem(tr("3 days"), 72 * 60 * 60);
+ cbTime->addItem(tr("7 days"), 168 * 60 * 60);
+ cbTime->addItem(tr("14 days"), 336 * 60 * 60);
+ cbTime->addItem(tr("permanent"), 3650 * 60 * 60);
+ cbTime->setCurrentIndex(0);
+
+ formLayout->addRow(tr("IP"), rbIP);
+ formLayout->addRow(tr("Nick"), rbNick);
+ formLayout->addRow(tr("IP/Nick"), leId);
+ formLayout->addRow(tr("Reason"), leReason);
+ formLayout->addRow(tr("Duration"), cbTime);
+
+ formLayout->setLabelAlignment(Qt::AlignRight);
+
+ QHBoxLayout * hbox = new QHBoxLayout();
+ formLayout->addRow(hbox);
+ QPushButton * btnOk = new QPushButton(tr("Ok"), this);
+ QPushButton * btnCancel = new QPushButton(tr("Cancel"), this);
+ hbox->addStretch();
+ hbox->addWidget(btnOk);
+ hbox->addWidget(btnCancel);
+
+ connect(btnOk, SIGNAL(clicked()), this, SLOT(okClicked()));
+ connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
+}
+
+bool BanDialog::byIP()
+{
+ return rbIP->isChecked();
+}
+
+int BanDialog::duration()
+{
+ return cbTime->itemData(cbTime->currentIndex()).toInt();
+}
+
+QString BanDialog::banId()
+{
+ return leId->text();
+}
+
+QString BanDialog::reason()
+{
+ return leReason->text().isEmpty() ? tr("you know why") : leReason->text();
+}
+
+void BanDialog::okClicked()
+{
+ if(leId->text().isEmpty())
+ {
+ QMessageBox::warning(this, tr("Warning"), tr("Please, specify %1").arg(byIP() ? tr("IP") : tr("nickname")));
+ return;
+ }
+
+ accept();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/ui/dialog/bandialog.h Sat Dec 01 00:38:06 2012 +0400
@@ -0,0 +1,32 @@
+#ifndef BANDIALOG_H
+#define BANDIALOG_H
+
+#include <QDialog>
+
+class QComboBox;
+class QRadioButton;
+class QLineEdit;
+
+class BanDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ explicit BanDialog(QWidget *parent = 0);
+
+ bool byIP();
+ int duration();
+ QString banId();
+ QString reason();
+
+private:
+ QRadioButton * rbIP;
+ QRadioButton * rbNick;
+ QLineEdit * leId;
+ QLineEdit * leReason;
+ QComboBox * cbTime;
+
+private slots:
+ void okClicked();
+};
+
+#endif // BANDIALOG_H
--- a/QTfrontend/ui/page/pageadmin.cpp Sat Dec 01 00:37:23 2012 +0400
+++ b/QTfrontend/ui/page/pageadmin.cpp Sat Dec 01 00:38:06 2012 +0400
@@ -22,56 +22,98 @@
#include <QSpinBox>
#include <QPushButton>
#include <QTextBrowser>
+#include <QTableWidget>
+#include <QHeaderView>
#include "pageadmin.h"
#include "chatwidget.h"
+#include "bandialog.h"
QLayout * PageAdmin::bodyLayoutDefinition()
{
- QGridLayout * pageLayout = new QGridLayout();
-
- // 0
- pbAsk = addButton(tr("Fetch data"), pageLayout, 0, 0, 1, 3);
+ QVBoxLayout * pageLayout = new QVBoxLayout();
- // 1
- QLabel * lblSMN = new QLabel(this);
- lblSMN->setText(tr("Server message for latest version:"));
- pageLayout->addWidget(lblSMN, 1, 0);
+ QTabWidget * tabs = new QTabWidget(this);
+ pageLayout->addWidget(tabs);
+ QWidget * page1 = new QWidget(this);
+ QWidget * page2 = new QWidget(this);
+ tabs->addTab(page1, tr("General"));
+ tabs->addTab(page2, tr("Bans"));
+
+ // page 1
+ {
+ QGridLayout * tab1Layout = new QGridLayout(page1);
+
+ // 0
+ pbAsk = addButton(tr("Fetch data"), tab1Layout, 0, 0, 1, 3);
- leServerMessageNew = new QLineEdit(this);
- pageLayout->addWidget(leServerMessageNew, 1, 1);
+ // 1
+ QLabel * lblSMN = new QLabel(this);
+ lblSMN->setText(tr("Server message for latest version:"));
+ tab1Layout->addWidget(lblSMN, 1, 0);
+
+ leServerMessageNew = new QLineEdit(this);
+ tab1Layout->addWidget(leServerMessageNew, 1, 1);
- // 2
- QLabel * lblSMO = new QLabel(this);
- lblSMO->setText(tr("Server message for previous versions:"));
- pageLayout->addWidget(lblSMO, 2, 0);
+ // 2
+ QLabel * lblSMO = new QLabel(this);
+ lblSMO->setText(tr("Server message for previous versions:"));
+ tab1Layout->addWidget(lblSMO, 2, 0);
+
+ leServerMessageOld = new QLineEdit(this);
+ tab1Layout->addWidget(leServerMessageOld, 2, 1);
- leServerMessageOld = new QLineEdit(this);
- pageLayout->addWidget(leServerMessageOld, 2, 1);
+ // 3
+ QLabel * lblP = new QLabel(this);
+ lblP->setText(tr("Latest version protocol number:"));
+ tab1Layout->addWidget(lblP, 3, 0);
+
+ sbProtocol = new QSpinBox(this);
+ tab1Layout->addWidget(sbProtocol, 3, 1);
- // 3
- QLabel * lblP = new QLabel(this);
- lblP->setText(tr("Latest version protocol number:"));
- pageLayout->addWidget(lblP, 3, 0);
+ // 4
+ QLabel * lblPreview = new QLabel(this);
+ lblPreview->setText(tr("MOTD preview:"));
+ tab1Layout->addWidget(lblPreview, 4, 0);
- sbProtocol = new QSpinBox(this);
- pageLayout->addWidget(sbProtocol, 3, 1);
+ tb = new QTextBrowser(this);
+ tb->setOpenExternalLinks(true);
+ tb->document()->setDefaultStyleSheet(HWChatWidget::styleSheet());
+ tab1Layout->addWidget(tb, 4, 1, 1, 2);
+
+ // 5
+ pbClearAccountsCache = addButton(tr("Clear Accounts Cache"), tab1Layout, 5, 0);
+
+ // 6
+ pbSetSM = addButton(tr("Set data"), tab1Layout, 6, 0, 1, 3);
+ }
- // 4
- QLabel * lblPreview = new QLabel(this);
- lblPreview->setText(tr("MOTD preview:"));
- pageLayout->addWidget(lblPreview, 4, 0);
+ // page 2
+ {
+ QGridLayout * tab2Layout = new QGridLayout(page2);
+ twBans = new QTableWidget(this);
+ twBans->setColumnCount(3);
+ twBans->setHorizontalHeaderLabels(QStringList()
+ << tr("IP/Nick")
+ << tr("Expiration")
+ << tr("Reason")
+ );
+ twBans->horizontalHeader()->setResizeMode(2, QHeaderView::Stretch);
+ twBans->setEditTriggers(QAbstractItemView::NoEditTriggers);
+ twBans->setSelectionBehavior(QAbstractItemView::SelectRows);
+ twBans->setSelectionMode(QAbstractItemView::SingleSelection);
+ twBans->setAlternatingRowColors(true);
+ tab2Layout->addWidget(twBans, 0, 1, 4, 1);
- tb = new QTextBrowser(this);
- tb->setOpenExternalLinks(true);
- tb->document()->setDefaultStyleSheet(HWChatWidget::styleSheet());
- pageLayout->addWidget(tb, 4, 1, 1, 2);
+ QPushButton * btnRefresh = addButton(tr("Refresh"), tab2Layout, 0, 0);
+ QPushButton * btnAdd = addButton(tr("Add"), tab2Layout, 1, 0);
+ QPushButton * btnRemove = addButton(tr("Remove"), tab2Layout, 2, 0);
- // 5
- pbClearAccountsCache = addButton(tr("Clear Accounts Cache"), pageLayout, 5, 0);
-
- // 6
- pbSetSM = addButton(tr("Set data"), pageLayout, 6, 0, 1, 3);
+ connect(btnRefresh, SIGNAL(clicked()), this, SIGNAL(bansListRequest()));
+ connect(btnRefresh, SIGNAL(clicked()), this, SLOT(onRefreshClicked()));
+ connect(btnAdd, SIGNAL(clicked()), this, SLOT(onAddClicked()));
+ connect(btnRemove, SIGNAL(clicked()), this, SLOT(onRemoveClicked()));
+ }
return pageLayout;
}
@@ -106,7 +148,64 @@
{
leServerMessageOld->setText(str);
}
+
void PageAdmin::protocol(int proto)
{
sbProtocol->setValue(proto);
}
+
+void PageAdmin::onAddClicked()
+{
+ BanDialog dialog;
+
+ if(dialog.exec())
+ {
+ if(dialog.byIP())
+ {
+ emit banIP(dialog.banId(), dialog.reason(), dialog.duration());
+ } else
+ {
+ emit banNick(dialog.banId(), dialog.reason(), dialog.duration());
+ }
+
+ emit bansListRequest();
+ }
+}
+
+void PageAdmin::onRemoveClicked()
+{
+ QList<QTableWidgetItem *> sel = twBans->selectedItems();
+
+ if(sel.size())
+ {
+ emit removeBan(twBans->item(sel[0]->row(), 0)->data(Qt::DisplayRole).toString());
+ emit bansListRequest();
+ }
+}
+
+void PageAdmin::setBansList(const QStringList & bans)
+{
+ if(bans.size() % 4)
+ return;
+
+ twBans->setRowCount(bans.size() / 4);
+
+ for(int i = 0; i < bans.size(); i += 4)
+ {
+ if(!twBans->item(i / 4, 0))
+ {
+ twBans->setItem(i / 4, 0, new QTableWidgetItem());
+ twBans->setItem(i / 4, 1, new QTableWidgetItem());
+ twBans->setItem(i / 4, 2, new QTableWidgetItem());
+ }
+
+ twBans->item(i / 4, 0)->setData(Qt::DisplayRole, bans[i + 1]);
+ twBans->item(i / 4, 1)->setData(Qt::DisplayRole, bans[i + 3]);
+ twBans->item(i / 4, 2)->setData(Qt::DisplayRole, bans[i + 2]);
+ }
+}
+
+void PageAdmin::onRefreshClicked()
+{
+ twBans->setRowCount(0);
+}
--- a/QTfrontend/ui/page/pageadmin.h Sat Dec 01 00:37:23 2012 +0400
+++ b/QTfrontend/ui/page/pageadmin.h Sat Dec 01 00:38:06 2012 +0400
@@ -21,6 +21,8 @@
#include "AbstractPage.h"
+class QTableWidget;
+
class PageAdmin : public AbstractPage
{
Q_OBJECT
@@ -32,6 +34,7 @@
void serverMessageNew(const QString & str);
void serverMessageOld(const QString & str);
void protocol(int proto);
+ void setBansList(const QStringList & bans);
signals:
void setServerMessageNew(const QString & str);
@@ -39,6 +42,10 @@
void setProtocol(int proto);
void askServerVars();
void clearAccountsCache();
+ void bansListRequest();
+ void removeBan(const QString &);
+ void banIP(const QString & ip, const QString & reason, int seconds);
+ void banNick(const QString & nick, const QString & reason, int seconds);
protected:
QLayout * bodyLayoutDefinition();
@@ -52,9 +59,13 @@
QSpinBox * sbProtocol;
QTextBrowser * tb;
QPushButton * pbClearAccountsCache;
+ QTableWidget * twBans;
private slots:
void smChanged();
+ void onAddClicked();
+ void onRemoveClicked();
+ void onRefreshClicked();
};
#endif
--- a/project_files/hedgewars.pro Sat Dec 01 00:37:23 2012 +0400
+++ b/project_files/hedgewars.pro Sat Dec 01 00:38:06 2012 +0400
@@ -1,271 +1,273 @@
-TEMPLATE = app
-TARGET = hedgewars
-DEPENDPATH += ../QTfrontend/
-INCLUDEPATH += ../QTfrontend
-INCLUDEPATH += ../QTfrontend/model
-INCLUDEPATH += ../QTfrontend/ui
-INCLUDEPATH += ../QTfrontend/ui/widget
-INCLUDEPATH += ../QTfrontend/ui/page
-INCLUDEPATH += ../QTfrontend/ui/dialog
-INCLUDEPATH += ../QTfrontend/net
-INCLUDEPATH += ../QTfrontend/util
-INCLUDEPATH += ../misc/physfs/src
-INCLUDEPATH += ../misc/physfs/extras
-INCLUDEPATH += ../project_files/frontlib
-
-DESTDIR = ../bin
-
-QT += network
-QT += webkit
-
-HEADERS += ../QTfrontend/model/ThemeModel.h \
- ../QTfrontend/model/MapModel.h \
- ../QTfrontend/model/ammoSchemeModel.h \
- ../QTfrontend/model/netserverslist.h \
- ../QTfrontend/ui/page/pagedrawmap.h \
- ../QTfrontend/ui/page/pagedata.h \
- ../QTfrontend/ui/page/pagetraining.h \
- ../QTfrontend/ui/page/pageselectweapon.h \
- ../QTfrontend/ui/page/pagesingleplayer.h \
- ../QTfrontend/ui/page/pagenettype.h \
- ../QTfrontend/ui/page/pageingame.h \
- ../QTfrontend/ui/page/pageadmin.h \
- ../QTfrontend/ui/page/pagescheme.h \
- ../QTfrontend/ui/page/pagemultiplayer.h \
- ../QTfrontend/ui/page/pageplayrecord.h \
- ../QTfrontend/ui/page/pagemain.h \
- ../QTfrontend/ui/page/pageoptions.h \
- ../QTfrontend/ui/page/pagenetgame.h \
- ../QTfrontend/ui/page/pageeditteam.h \
- ../QTfrontend/ui/page/pageconnecting.h \
- ../QTfrontend/ui/page/pageroomslist.h \
- ../QTfrontend/ui/page/pagenet.h \
- ../QTfrontend/ui/page/pagecampaign.h \
- ../QTfrontend/ui/page/pageinfo.h \
- ../QTfrontend/ui/page/pagenetserver.h \
- ../QTfrontend/ui/page/pagegamestats.h \
- ../QTfrontend/ui/dialog/input_ip.h \
- ../QTfrontend/ui/qaspectratiolayout.h \
- ../QTfrontend/ui/widget/bgwidget.h \
- ../QTfrontend/ui/widget/fpsedit.h \
- ../QTfrontend/ui/widget/FreqSpinBox.h \
- ../QTfrontend/ui/widget/igbox.h \
- ../QTfrontend/ui/widget/chatwidget.h \
- ../QTfrontend/ui/widget/togglebutton.h \
- ../QTfrontend/ui/widget/SquareLabel.h \
- ../QTfrontend/ui/widget/itemNum.h \
- ../QTfrontend/ui/widget/frameTeam.h \
- ../QTfrontend/ui/widget/teamselect.h \
- ../QTfrontend/ui/widget/vertScrollArea.h \
- ../QTfrontend/ui/widget/about.h \
- ../QTfrontend/ui/widget/teamselhelper.h \
- ../QTfrontend/ui/widget/drawmapwidget.h \
- ../QTfrontend/ui/widget/databrowser.h \
- ../QTfrontend/ui/widget/hedgehogerWidget.h \
- ../QTfrontend/ui/widget/selectWeapon.h \
- ../QTfrontend/ui/widget/weaponItem.h \
- ../QTfrontend/ui/widget/gamecfgwidget.h \
- ../QTfrontend/ui/widget/mapContainer.h \
- ../QTfrontend/ui/widget/HistoryLineEdit.h \
- ../QTfrontend/ui/widget/SmartLineEdit.h \
- ../QTfrontend/util/DataManager.h \
- ../QTfrontend/net/netregister.h \
- ../QTfrontend/net/netserver.h \
- ../QTfrontend/net/netudpwidget.h \
- ../QTfrontend/net/tcpBase.h \
- ../QTfrontend/net/proto.h \
- ../QTfrontend/net/newnetclient.h \
- ../QTfrontend/net/netudpserver.h \
- ../QTfrontend/net/hwmap.h \
- ../QTfrontend/util/namegen.h \
- ../QTfrontend/ui/page/AbstractPage.h \
- ../QTfrontend/drawmapscene.h \
- ../QTfrontend/game.h \
- ../QTfrontend/gameuiconfig.h \
- ../QTfrontend/HWApplication.h \
- ../QTfrontend/hwform.h \
- ../QTfrontend/util/SDLInteraction.h \
- ../QTfrontend/team.h \
- ../QTfrontend/achievements.h \
- ../QTfrontend/binds.h \
- ../QTfrontend/ui_hwform.h \
- ../QTfrontend/KB.h \
- ../QTfrontend/hwconsts.h \
- ../QTfrontend/sdlkeys.h \
- ../QTfrontend/ui/mouseoverfilter.h \
- ../QTfrontend/ui/qpushbuttonwithsound.h \
- ../QTfrontend/ui/widget/qpushbuttonwithsound.h \
- ../QTfrontend/ui/page/pagefeedback.h \
- ../QTfrontend/model/roomslistmodel.h \
- ../QTfrontend/ui/dialog/input_password.h \
- ../QTfrontend/ui/widget/colorwidget.h \
- ../QTfrontend/model/HatModel.h \
- ../QTfrontend/model/GameStyleModel.h \
- ../QTfrontend/ui/page/pagevideos.h \
- ../QTfrontend/net/recorder.h \
- ../QTfrontend/ui/dialog/ask_quit.h \
- ../QTfrontend/ui/dialog/upload_video.h \
- ../QTfrontend/campaign.h \
- ../QTfrontend/model/playerslistmodel.h \
- ../QTfrontend/util/LibavInteraction.h \
- ../QTfrontend/util/FileEngine.h
-
-
-SOURCES += ../QTfrontend/model/ammoSchemeModel.cpp \
- ../QTfrontend/model/MapModel.cpp \
- ../QTfrontend/model/ThemeModel.cpp \
- ../QTfrontend/model/netserverslist.cpp \
- ../QTfrontend/ui/qaspectratiolayout.cpp \
- ../QTfrontend/ui/page/pagemain.cpp \
- ../QTfrontend/ui/page/pagetraining.cpp \
- ../QTfrontend/ui/page/pageroomslist.cpp \
- ../QTfrontend/ui/page/pagemultiplayer.cpp \
- ../QTfrontend/ui/page/pagegamestats.cpp \
- ../QTfrontend/ui/page/pagenettype.cpp \
- ../QTfrontend/ui/page/pageeditteam.cpp \
- ../QTfrontend/ui/page/pagenetgame.cpp \
- ../QTfrontend/ui/page/pagedata.cpp \
- ../QTfrontend/ui/page/pagedrawmap.cpp \
- ../QTfrontend/ui/page/pageplayrecord.cpp \
- ../QTfrontend/ui/page/pageselectweapon.cpp \
- ../QTfrontend/ui/page/pageingame.cpp \
- ../QTfrontend/ui/page/pagenetserver.cpp \
- ../QTfrontend/ui/page/pagecampaign.cpp \
- ../QTfrontend/ui/page/pageadmin.cpp \
- ../QTfrontend/ui/page/pageinfo.cpp \
- ../QTfrontend/ui/page/pageconnecting.cpp \
- ../QTfrontend/ui/page/pagesingleplayer.cpp \
- ../QTfrontend/ui/page/pagenet.cpp \
- ../QTfrontend/ui/page/pagescheme.cpp \
- ../QTfrontend/ui/page/pageoptions.cpp \
- ../QTfrontend/ui/dialog/input_ip.cpp \
- ../QTfrontend/ui/widget/igbox.cpp \
- ../QTfrontend/ui/widget/selectWeapon.cpp \
- ../QTfrontend/ui/widget/FreqSpinBox.cpp \
- ../QTfrontend/ui/widget/SquareLabel.cpp \
- ../QTfrontend/ui/widget/frameTeam.cpp \
- ../QTfrontend/ui/widget/fpsedit.cpp \
- ../QTfrontend/ui/widget/databrowser.cpp \
- ../QTfrontend/ui/widget/teamselect.cpp \
- ../QTfrontend/ui/widget/gamecfgwidget.cpp \
- ../QTfrontend/ui/widget/chatwidget.cpp \
- ../QTfrontend/ui/widget/itemNum.cpp \
- ../QTfrontend/ui/widget/bgwidget.cpp \
- ../QTfrontend/ui/widget/about.cpp \
- ../QTfrontend/ui/widget/togglebutton.cpp \
- ../QTfrontend/ui/widget/vertScrollArea.cpp \
- ../QTfrontend/ui/widget/hedgehogerWidget.cpp \
- ../QTfrontend/ui/widget/teamselhelper.cpp \
- ../QTfrontend/ui/widget/drawmapwidget.cpp \
- ../QTfrontend/ui/widget/weaponItem.cpp \
- ../QTfrontend/ui/widget/mapContainer.cpp \
- ../QTfrontend/ui/widget/HistoryLineEdit.cpp \
- ../QTfrontend/ui/widget/SmartLineEdit.cpp \
- ../QTfrontend/util/DataManager.cpp \
- ../QTfrontend/net/tcpBase.cpp \
- ../QTfrontend/net/netregister.cpp \
- ../QTfrontend/net/proto.cpp \
- ../QTfrontend/net/hwmap.cpp \
- ../QTfrontend/net/netudpserver.cpp \
- ../QTfrontend/net/newnetclient.cpp \
- ../QTfrontend/net/netudpwidget.cpp \
- ../QTfrontend/net/netserver.cpp \
- ../QTfrontend/util/namegen.cpp \
- ../QTfrontend/ui/page/AbstractPage.cpp \
- ../QTfrontend/achievements.cpp \
- ../QTfrontend/binds.cpp \
- ../QTfrontend/drawmapscene.cpp \
- ../QTfrontend/game.cpp \
- ../QTfrontend/gameuiconfig.cpp \
- ../QTfrontend/HWApplication.cpp \
- ../QTfrontend/hwform.cpp \
- ../QTfrontend/main.cpp \
- ../QTfrontend/util/SDLInteraction.cpp \
- ../QTfrontend/team.cpp \
- ../QTfrontend/ui_hwform.cpp \
- ../QTfrontend/hwconsts.cpp \
- ../QTfrontend/ui/mouseoverfilter.cpp \
- ../QTfrontend/ui/widget/qpushbuttonwithsound.cpp \
- ../QTfrontend/ui/page/pagefeedback.cpp \
- ../QTfrontend/model/roomslistmodel.cpp \
- ../QTfrontend/ui/dialog/input_password.cpp \
- ../QTfrontend/ui/widget/colorwidget.cpp \
- ../QTfrontend/model/HatModel.cpp \
- ../QTfrontend/model/GameStyleModel.cpp \
- ../QTfrontend/ui/page/pagevideos.cpp \
- ../QTfrontend/net/recorder.cpp \
- ../QTfrontend/ui/dialog/ask_quit.cpp \
- ../QTfrontend/ui/dialog/upload_video.cpp \
- ../QTfrontend/campaign.cpp \
- ../QTfrontend/model/playerslistmodel.cpp \
- ../QTfrontend/util/LibavInteraction.cpp \
- ../QTfrontend/util/FileEngine.cpp
-
-
-TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_ar.ts \
- ../share/hedgewars/Data/Locale/hedgewars_bg.ts \
- ../share/hedgewars/Data/Locale/hedgewars_cs.ts \
- ../share/hedgewars/Data/Locale/hedgewars_da.ts \
- ../share/hedgewars/Data/Locale/hedgewars_de.ts \
- ../share/hedgewars/Data/Locale/hedgewars_el.ts \
- ../share/hedgewars/Data/Locale/hedgewars_en.ts \
- ../share/hedgewars/Data/Locale/hedgewars_es.ts \
- ../share/hedgewars/Data/Locale/hedgewars_fi.ts \
- ../share/hedgewars/Data/Locale/hedgewars_fr.ts \
- ../share/hedgewars/Data/Locale/hedgewars_gl.ts \
- ../share/hedgewars/Data/Locale/hedgewars_hu.ts \
- ../share/hedgewars/Data/Locale/hedgewars_it.ts \
- ../share/hedgewars/Data/Locale/hedgewars_ja.ts \
- ../share/hedgewars/Data/Locale/hedgewars_ko.ts \
- ../share/hedgewars/Data/Locale/hedgewars_lt.ts \
- ../share/hedgewars/Data/Locale/hedgewars_ms.ts \
- ../share/hedgewars/Data/Locale/hedgewars_nl.ts \
- ../share/hedgewars/Data/Locale/hedgewars_pl.ts \
- ../share/hedgewars/Data/Locale/hedgewars_pt_BR.ts \
- ../share/hedgewars/Data/Locale/hedgewars_pt_PT.ts \
- ../share/hedgewars/Data/Locale/hedgewars_ro.ts \
- ../share/hedgewars/Data/Locale/hedgewars_ru.ts \
- ../share/hedgewars/Data/Locale/hedgewars_sk.ts \
- ../share/hedgewars/Data/Locale/hedgewars_sv.ts \
- ../share/hedgewars/Data/Locale/hedgewars_tr_TR.ts \
- ../share/hedgewars/Data/Locale/hedgewars_uk.ts \
- ../share/hedgewars/Data/Locale/hedgewars_zh_CN.ts \
- ../share/hedgewars/Data/Locale/hedgewars_zh_TW.ts
-
-RESOURCES += ../QTfrontend/hedgewars.qrc
-
-LIBS += -L../bin -lphysfs -lfrontlib
-
-macx {
- QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
- QMAKE_MAC_SDK=/Developer/SDKs/MacOSX10.6.sdk
-
- OBJECTIVE_SOURCES += ../QTfrontend/*.m ../QTfrontend/*.mm
- SOURCES += ../QTfrontend/AutoUpdater.cpp ../QTfrontend/InstallController.cpp \
- ../../build/QTfrontend/hwconsts.cpp
- HEADERS += ../QTfrontend/M3InstallController.h ../QTfrontend/M3Panel.h \
- ../QTfrontend/NSWorkspace_RBAdditions.h ../QTfrontend/AutoUpdater.h \
- ../QTfrontend/CocoaInitializer.h ../QTfrontend/InstallController.h \
- ../QTfrontend/SparkleAutoUpdater.h
-
- LIBS += -lobjc -framework AppKit -framework IOKit -framework Foundation -framework SDL -framework SDL_Mixer -framework Sparkle -DSPARKLE_ENABLED
- INCLUDEPATH += /Library/Frameworks/SDL.framework/Headers /Library/Frameworks/SDL_Mixer.framework/Headers
- CONFIG += warn_on x86
- #CONFIG += x86 ppc x86_64 ppc64
-}
-
-win32 {
- RC_FILE = ../QTfrontend/hedgewars.rc
- SOURCES += ../QTfrontend/xfire.cpp
- INCLUDEPATH += ../misc/winutils/include
- LIBS += -L../misc/winutils/lib
-}
-
-!macx {
- LIBS += -lSDL -lSDL_mixer -lSDL_net
- !win32 {
- INCLUDEPATH += /usr/local/include/SDL /usr/include/SDL
- }
-}
-
-FORMS +=
+TEMPLATE = app
+TARGET = hedgewars
+DEPENDPATH += ../QTfrontend/
+INCLUDEPATH += ../QTfrontend
+INCLUDEPATH += ../QTfrontend/model
+INCLUDEPATH += ../QTfrontend/ui
+INCLUDEPATH += ../QTfrontend/ui/widget
+INCLUDEPATH += ../QTfrontend/ui/page
+INCLUDEPATH += ../QTfrontend/ui/dialog
+INCLUDEPATH += ../QTfrontend/net
+INCLUDEPATH += ../QTfrontend/util
+INCLUDEPATH += ../misc/physfs/src
+INCLUDEPATH += ../misc/physfs/extras
+INCLUDEPATH += ../project_files/frontlib
+
+DESTDIR = ../bin
+
+QT += network
+QT += webkit
+
+HEADERS += ../QTfrontend/model/ThemeModel.h \
+ ../QTfrontend/model/MapModel.h \
+ ../QTfrontend/model/ammoSchemeModel.h \
+ ../QTfrontend/model/netserverslist.h \
+ ../QTfrontend/ui/page/pagedrawmap.h \
+ ../QTfrontend/ui/page/pagedata.h \
+ ../QTfrontend/ui/page/pagetraining.h \
+ ../QTfrontend/ui/page/pageselectweapon.h \
+ ../QTfrontend/ui/page/pagesingleplayer.h \
+ ../QTfrontend/ui/page/pagenettype.h \
+ ../QTfrontend/ui/page/pageingame.h \
+ ../QTfrontend/ui/page/pageadmin.h \
+ ../QTfrontend/ui/page/pagescheme.h \
+ ../QTfrontend/ui/page/pagemultiplayer.h \
+ ../QTfrontend/ui/page/pageplayrecord.h \
+ ../QTfrontend/ui/page/pagemain.h \
+ ../QTfrontend/ui/page/pageoptions.h \
+ ../QTfrontend/ui/page/pagenetgame.h \
+ ../QTfrontend/ui/page/pageeditteam.h \
+ ../QTfrontend/ui/page/pageconnecting.h \
+ ../QTfrontend/ui/page/pageroomslist.h \
+ ../QTfrontend/ui/page/pagenet.h \
+ ../QTfrontend/ui/page/pagecampaign.h \
+ ../QTfrontend/ui/page/pageinfo.h \
+ ../QTfrontend/ui/page/pagenetserver.h \
+ ../QTfrontend/ui/page/pagegamestats.h \
+ ../QTfrontend/ui/dialog/input_ip.h \
+ ../QTfrontend/ui/qaspectratiolayout.h \
+ ../QTfrontend/ui/widget/bgwidget.h \
+ ../QTfrontend/ui/widget/fpsedit.h \
+ ../QTfrontend/ui/widget/FreqSpinBox.h \
+ ../QTfrontend/ui/widget/igbox.h \
+ ../QTfrontend/ui/widget/chatwidget.h \
+ ../QTfrontend/ui/widget/togglebutton.h \
+ ../QTfrontend/ui/widget/SquareLabel.h \
+ ../QTfrontend/ui/widget/itemNum.h \
+ ../QTfrontend/ui/widget/frameTeam.h \
+ ../QTfrontend/ui/widget/teamselect.h \
+ ../QTfrontend/ui/widget/vertScrollArea.h \
+ ../QTfrontend/ui/widget/about.h \
+ ../QTfrontend/ui/widget/teamselhelper.h \
+ ../QTfrontend/ui/widget/drawmapwidget.h \
+ ../QTfrontend/ui/widget/databrowser.h \
+ ../QTfrontend/ui/widget/hedgehogerWidget.h \
+ ../QTfrontend/ui/widget/selectWeapon.h \
+ ../QTfrontend/ui/widget/weaponItem.h \
+ ../QTfrontend/ui/widget/gamecfgwidget.h \
+ ../QTfrontend/ui/widget/mapContainer.h \
+ ../QTfrontend/ui/widget/HistoryLineEdit.h \
+ ../QTfrontend/ui/widget/SmartLineEdit.h \
+ ../QTfrontend/util/DataManager.h \
+ ../QTfrontend/net/netregister.h \
+ ../QTfrontend/net/netserver.h \
+ ../QTfrontend/net/netudpwidget.h \
+ ../QTfrontend/net/tcpBase.h \
+ ../QTfrontend/net/proto.h \
+ ../QTfrontend/net/newnetclient.h \
+ ../QTfrontend/net/netudpserver.h \
+ ../QTfrontend/net/hwmap.h \
+ ../QTfrontend/util/namegen.h \
+ ../QTfrontend/ui/page/AbstractPage.h \
+ ../QTfrontend/drawmapscene.h \
+ ../QTfrontend/game.h \
+ ../QTfrontend/gameuiconfig.h \
+ ../QTfrontend/HWApplication.h \
+ ../QTfrontend/hwform.h \
+ ../QTfrontend/util/SDLInteraction.h \
+ ../QTfrontend/team.h \
+ ../QTfrontend/achievements.h \
+ ../QTfrontend/binds.h \
+ ../QTfrontend/ui_hwform.h \
+ ../QTfrontend/KB.h \
+ ../QTfrontend/hwconsts.h \
+ ../QTfrontend/sdlkeys.h \
+ ../QTfrontend/ui/mouseoverfilter.h \
+ ../QTfrontend/ui/qpushbuttonwithsound.h \
+ ../QTfrontend/ui/widget/qpushbuttonwithsound.h \
+ ../QTfrontend/ui/page/pagefeedback.h \
+ ../QTfrontend/model/roomslistmodel.h \
+ ../QTfrontend/ui/dialog/input_password.h \
+ ../QTfrontend/ui/widget/colorwidget.h \
+ ../QTfrontend/model/HatModel.h \
+ ../QTfrontend/model/GameStyleModel.h \
+ ../QTfrontend/ui/page/pagevideos.h \
+ ../QTfrontend/net/recorder.h \
+ ../QTfrontend/ui/dialog/ask_quit.h \
+ ../QTfrontend/ui/dialog/upload_video.h \
+ ../QTfrontend/campaign.h \
+ ../QTfrontend/model/playerslistmodel.h \
+ ../QTfrontend/util/LibavInteraction.h \
+ ../QTfrontend/util/FileEngine.h \
+ ../QTfrontend/ui/dialog/bandialog.h
+
+
+SOURCES += ../QTfrontend/model/ammoSchemeModel.cpp \
+ ../QTfrontend/model/MapModel.cpp \
+ ../QTfrontend/model/ThemeModel.cpp \
+ ../QTfrontend/model/netserverslist.cpp \
+ ../QTfrontend/ui/qaspectratiolayout.cpp \
+ ../QTfrontend/ui/page/pagemain.cpp \
+ ../QTfrontend/ui/page/pagetraining.cpp \
+ ../QTfrontend/ui/page/pageroomslist.cpp \
+ ../QTfrontend/ui/page/pagemultiplayer.cpp \
+ ../QTfrontend/ui/page/pagegamestats.cpp \
+ ../QTfrontend/ui/page/pagenettype.cpp \
+ ../QTfrontend/ui/page/pageeditteam.cpp \
+ ../QTfrontend/ui/page/pagenetgame.cpp \
+ ../QTfrontend/ui/page/pagedata.cpp \
+ ../QTfrontend/ui/page/pagedrawmap.cpp \
+ ../QTfrontend/ui/page/pageplayrecord.cpp \
+ ../QTfrontend/ui/page/pageselectweapon.cpp \
+ ../QTfrontend/ui/page/pageingame.cpp \
+ ../QTfrontend/ui/page/pagenetserver.cpp \
+ ../QTfrontend/ui/page/pagecampaign.cpp \
+ ../QTfrontend/ui/page/pageadmin.cpp \
+ ../QTfrontend/ui/page/pageinfo.cpp \
+ ../QTfrontend/ui/page/pageconnecting.cpp \
+ ../QTfrontend/ui/page/pagesingleplayer.cpp \
+ ../QTfrontend/ui/page/pagenet.cpp \
+ ../QTfrontend/ui/page/pagescheme.cpp \
+ ../QTfrontend/ui/page/pageoptions.cpp \
+ ../QTfrontend/ui/dialog/input_ip.cpp \
+ ../QTfrontend/ui/widget/igbox.cpp \
+ ../QTfrontend/ui/widget/selectWeapon.cpp \
+ ../QTfrontend/ui/widget/FreqSpinBox.cpp \
+ ../QTfrontend/ui/widget/SquareLabel.cpp \
+ ../QTfrontend/ui/widget/frameTeam.cpp \
+ ../QTfrontend/ui/widget/fpsedit.cpp \
+ ../QTfrontend/ui/widget/databrowser.cpp \
+ ../QTfrontend/ui/widget/teamselect.cpp \
+ ../QTfrontend/ui/widget/gamecfgwidget.cpp \
+ ../QTfrontend/ui/widget/chatwidget.cpp \
+ ../QTfrontend/ui/widget/itemNum.cpp \
+ ../QTfrontend/ui/widget/bgwidget.cpp \
+ ../QTfrontend/ui/widget/about.cpp \
+ ../QTfrontend/ui/widget/togglebutton.cpp \
+ ../QTfrontend/ui/widget/vertScrollArea.cpp \
+ ../QTfrontend/ui/widget/hedgehogerWidget.cpp \
+ ../QTfrontend/ui/widget/teamselhelper.cpp \
+ ../QTfrontend/ui/widget/drawmapwidget.cpp \
+ ../QTfrontend/ui/widget/weaponItem.cpp \
+ ../QTfrontend/ui/widget/mapContainer.cpp \
+ ../QTfrontend/ui/widget/HistoryLineEdit.cpp \
+ ../QTfrontend/ui/widget/SmartLineEdit.cpp \
+ ../QTfrontend/util/DataManager.cpp \
+ ../QTfrontend/net/tcpBase.cpp \
+ ../QTfrontend/net/netregister.cpp \
+ ../QTfrontend/net/proto.cpp \
+ ../QTfrontend/net/hwmap.cpp \
+ ../QTfrontend/net/netudpserver.cpp \
+ ../QTfrontend/net/newnetclient.cpp \
+ ../QTfrontend/net/netudpwidget.cpp \
+ ../QTfrontend/net/netserver.cpp \
+ ../QTfrontend/util/namegen.cpp \
+ ../QTfrontend/ui/page/AbstractPage.cpp \
+ ../QTfrontend/achievements.cpp \
+ ../QTfrontend/binds.cpp \
+ ../QTfrontend/drawmapscene.cpp \
+ ../QTfrontend/game.cpp \
+ ../QTfrontend/gameuiconfig.cpp \
+ ../QTfrontend/HWApplication.cpp \
+ ../QTfrontend/hwform.cpp \
+ ../QTfrontend/main.cpp \
+ ../QTfrontend/util/SDLInteraction.cpp \
+ ../QTfrontend/team.cpp \
+ ../QTfrontend/ui_hwform.cpp \
+ ../QTfrontend/hwconsts.cpp \
+ ../QTfrontend/ui/mouseoverfilter.cpp \
+ ../QTfrontend/ui/widget/qpushbuttonwithsound.cpp \
+ ../QTfrontend/ui/page/pagefeedback.cpp \
+ ../QTfrontend/model/roomslistmodel.cpp \
+ ../QTfrontend/ui/dialog/input_password.cpp \
+ ../QTfrontend/ui/widget/colorwidget.cpp \
+ ../QTfrontend/model/HatModel.cpp \
+ ../QTfrontend/model/GameStyleModel.cpp \
+ ../QTfrontend/ui/page/pagevideos.cpp \
+ ../QTfrontend/net/recorder.cpp \
+ ../QTfrontend/ui/dialog/ask_quit.cpp \
+ ../QTfrontend/ui/dialog/upload_video.cpp \
+ ../QTfrontend/campaign.cpp \
+ ../QTfrontend/model/playerslistmodel.cpp \
+ ../QTfrontend/util/LibavInteraction.cpp \
+ ../QTfrontend/util/FileEngine.cpp \
+ ../QTfrontend/ui/dialog/bandialog.cpp
+
+
+TRANSLATIONS += ../share/hedgewars/Data/Locale/hedgewars_ar.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_bg.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_cs.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_da.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_de.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_el.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_en.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_es.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_fi.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_fr.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_gl.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_hu.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_it.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_ja.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_ko.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_lt.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_ms.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_nl.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_pl.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_pt_BR.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_pt_PT.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_ro.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_ru.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_sk.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_sv.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_tr_TR.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_uk.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_zh_CN.ts \
+ ../share/hedgewars/Data/Locale/hedgewars_zh_TW.ts
+
+RESOURCES += ../QTfrontend/hedgewars.qrc
+
+LIBS += -L../bin -lphysfs -lfrontlib
+
+macx {
+ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+ QMAKE_MAC_SDK=/Developer/SDKs/MacOSX10.6.sdk
+
+ OBJECTIVE_SOURCES += ../QTfrontend/*.m ../QTfrontend/*.mm
+ SOURCES += ../QTfrontend/AutoUpdater.cpp ../QTfrontend/InstallController.cpp \
+ ../../build/QTfrontend/hwconsts.cpp
+ HEADERS += ../QTfrontend/M3InstallController.h ../QTfrontend/M3Panel.h \
+ ../QTfrontend/NSWorkspace_RBAdditions.h ../QTfrontend/AutoUpdater.h \
+ ../QTfrontend/CocoaInitializer.h ../QTfrontend/InstallController.h \
+ ../QTfrontend/SparkleAutoUpdater.h
+
+ LIBS += -lobjc -framework AppKit -framework IOKit -framework Foundation -framework SDL -framework SDL_Mixer -framework Sparkle -DSPARKLE_ENABLED
+ INCLUDEPATH += /Library/Frameworks/SDL.framework/Headers /Library/Frameworks/SDL_Mixer.framework/Headers
+ CONFIG += warn_on x86
+ #CONFIG += x86 ppc x86_64 ppc64
+}
+
+win32 {
+ RC_FILE = ../QTfrontend/hedgewars.rc
+ SOURCES += ../QTfrontend/xfire.cpp
+ INCLUDEPATH += ../misc/winutils/include
+ LIBS += -L../misc/winutils/lib
+}
+
+!macx {
+ LIBS += -lSDL -lSDL_mixer -lSDL_net
+ !win32 {
+ INCLUDEPATH += /usr/local/include/SDL /usr/include/SDL
+ }
+}
+
+FORMS +=