split pages.h into several header files
authorkoda
Mon, 09 May 2011 16:56:29 +0200
changeset 5204 e1a5f4d5d86a
parent 5203 b77f28facca6
child 5205 78138ae93820
split pages.h into several header files
QTfrontend/CMakeLists.txt
QTfrontend/gameuiconfig.cpp
QTfrontend/hwform.cpp
QTfrontend/newnetclient.cpp
QTfrontend/pageadmin.cpp
QTfrontend/pageadmin.h
QTfrontend/pagecampaign.cpp
QTfrontend/pagecampaign.h
QTfrontend/pageconnecting.cpp
QTfrontend/pageconnecting.h
QTfrontend/pagedrawmap.cpp
QTfrontend/pagedrawmap.h
QTfrontend/pageeditteam.cpp
QTfrontend/pageeditteam.h
QTfrontend/pageinfo.cpp
QTfrontend/pageinfo.h
QTfrontend/pageingame.cpp
QTfrontend/pageingame.h
QTfrontend/pagemain.cpp
QTfrontend/pagemain.h
QTfrontend/pagemultiplayer.cpp
QTfrontend/pagemultiplayer.h
QTfrontend/pagenet.cpp
QTfrontend/pagenet.h
QTfrontend/pagenetgame.cpp
QTfrontend/pagenetgame.h
QTfrontend/pagenetserver.cpp
QTfrontend/pagenetserver.h
QTfrontend/pagenettype.cpp
QTfrontend/pagenettype.h
QTfrontend/pageoptions.cpp
QTfrontend/pageoptions.h
QTfrontend/pageroomslist.cpp
QTfrontend/pageroomslist.h
QTfrontend/pages.h
QTfrontend/pagescheme.cpp
QTfrontend/pagescheme.h
QTfrontend/pageselectweapon.cpp
QTfrontend/pageselectweapon.h
QTfrontend/pagesingleplayer.cpp
QTfrontend/pagesingleplayer.h
QTfrontend/pagetraining.cpp
QTfrontend/pagetraining.h
QTfrontend/team.cpp
QTfrontend/ui_hwform.cpp
--- a/QTfrontend/CMakeLists.txt	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/CMakeLists.txt	Mon May 09 16:56:29 2011 +0200
@@ -140,6 +140,26 @@
     gameuiconfig.h
     gamecfgwidget.h
     pages.h
+    pagenet.h
+    pagemultiplayer.h
+    pagenetserver.h
+    pageingame.h
+    pagetraining.h
+    pageeditteam.h
+    pageoptions.h
+    pagemain.h
+    pageinfo.h
+    pagesingleplayer.h
+    pagenettype.h
+    pageconnecting.h
+    pagedrawmap.h
+    pagecampaign.h
+    pagenetgame.h
+    pageeditteam.h
+    pageroomslist.h
+    pageadmin.h
+    pagescheme.h
+    pageselectweapon.h
     SquareLabel.h
     hedgehogerWidget.h
     hwmap.h
--- a/QTfrontend/gameuiconfig.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/gameuiconfig.cpp	Mon May 09 16:56:29 2011 +0200
@@ -25,7 +25,8 @@
 
 #include "gameuiconfig.h"
 #include "hwform.h"
-#include "pages.h"
+#include "pageoptions.h"
+#include "pagenetserver.h"
 #include "hwconsts.h"
 #include "fpsedit.h"
 
--- a/QTfrontend/hwform.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/hwform.cpp	Mon May 09 16:56:29 2011 +0200
@@ -45,7 +45,24 @@
 #include "teamselect.h"
 #include "selectWeapon.h"
 #include "gameuiconfig.h"
-#include "pages.h"
+#include "pageinfo.h"
+#include "pagetraining.h"
+#include "pagesingleplayer.h"
+#include "pageselectweapon.h"
+#include "pageadmin.h"
+#include "pagecampaign.h"
+#include "pagescheme.h"
+#include "pagenetgame.h"
+#include "pageroomslist.h"
+#include "pageconnecting.h"
+#include "pageoptions.h"
+#include "pageeditteam.h"
+#include "pagemultiplayer.h"
+#include "pagenet.h"
+#include "pagemain.h"
+#include "pagenetserver.h"
+#include "pagedrawmap.h"
+#include "pagenettype.h"
 #include "statsPage.h"
 #include "hwconsts.h"
 #include "newnetclient.h"
--- a/QTfrontend/newnetclient.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/newnetclient.cpp	Mon May 09 16:56:29 2011 +0200
@@ -31,7 +31,7 @@
 #include "misc.h"
 /* only to get the ignoreList from the chat widget */
 #include "hwform.h"
-#include "pages.h"
+#include "pageroomslist.h"
 #include "chatwidget.h"
 
 char delimeter='\n';
--- a/QTfrontend/pageadmin.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageadmin.cpp	Mon May 09 16:56:29 2011 +0200
@@ -23,7 +23,7 @@
 #include <QPushButton>
 #include <QTextBrowser>
 
-#include "pages.h"
+#include "pageadmin.h"
 #include "chatwidget.h"
 
 PageAdmin::PageAdmin(QWidget* parent) :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageadmin.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,57 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_ADMIN_H
+#define PAGE_ADMIN_H
+
+#include "pages.h"
+
+class PageAdmin : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageAdmin(QWidget* parent = 0);
+
+    QPushButton * BtnBack;
+    QPushButton * pbClearAccountsCache;
+
+private:
+    QLineEdit * leServerMessageNew;
+    QLineEdit * leServerMessageOld;
+    QPushButton * pbSetSM;
+    QPushButton * pbAsk;
+    QSpinBox * sbProtocol;
+    QTextBrowser * tb;
+
+private slots:
+    void smChanged();
+
+public slots:
+    void serverMessageNew(const QString & str);
+    void serverMessageOld(const QString & str);
+    void protocol(int proto);
+
+signals:
+    void setServerMessageNew(const QString & str);
+    void setServerMessageOld(const QString & str);
+    void setProtocol(int proto);
+    void askServerVars();
+};
+
+#endif
--- a/QTfrontend/pagecampaign.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagecampaign.cpp	Mon May 09 16:56:29 2011 +0200
@@ -20,7 +20,7 @@
 #include <QPushButton>
 #include <QComboBox>
 
-#include "pages.h"
+#include "pagecampaign.h"
 
 PageCampaign::PageCampaign(QWidget* parent) : AbstractPage(parent)
 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagecampaign.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,37 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_CAMPAIGN_H
+#define PAGE_CAMPAIGN_H
+
+#include "pages.h"
+
+class PageCampaign : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageCampaign(QWidget* parent = 0);
+
+    QPushButton *BtnStartCampaign;
+    QPushButton *BtnBack;
+    QComboBox   *CBSelect;
+    QComboBox   *CBTeam;
+};
+
+#endif
--- a/QTfrontend/pageconnecting.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageconnecting.cpp	Mon May 09 16:56:29 2011 +0200
@@ -19,7 +19,7 @@
 #include <QGridLayout>
 #include <QLabel>
 
-#include "pages.h"
+#include "pageconnecting.h"
 
 PageConnecting::PageConnecting(QWidget* parent) :
     AbstractPage(parent)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageconnecting.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,35 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_CONNECTING_H
+#define PAGE_CONNECTING_H
+
+#include "pages.h"
+
+class PageConnecting : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageConnecting(QWidget* parent = 0);
+
+signals:
+    void cancelConnection();
+};
+
+#endif
--- a/QTfrontend/pagedrawmap.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagedrawmap.cpp	Mon May 09 16:56:29 2011 +0200
@@ -20,7 +20,7 @@
 #include <QPushButton>
 #include <QFileDialog>
 
-#include "pages.h"
+#include "pagedrawmap.h"
 #include "drawmapwidget.h"
 
 PageDrawMap::PageDrawMap(QWidget* parent) : AbstractPage(parent)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagedrawmap.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,44 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+
+#ifndef PAGE_DRAWMAP_H
+#define PAGE_DRAWMAP_H
+
+#include "pages.h"
+
+class DrawMapWidget;
+
+class PageDrawMap : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageDrawMap(QWidget* parent = 0);
+
+    QPushButton * BtnBack;
+
+    DrawMapWidget * drawMapWidget;
+
+private slots:
+    void load();
+    void save();
+};
+
+#endif
+
--- a/QTfrontend/pageeditteam.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageeditteam.cpp	Mon May 09 16:56:29 2011 +0200
@@ -26,7 +26,7 @@
 #include <QToolBox>
 #include <QApplication>
 
-#include "pages.h"
+#include "pageeditteam.h"
 #include "sdlkeys.h"
 #include "hwconsts.h"
 #include "SquareLabel.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageeditteam.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,65 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_EDITTEAM_H
+#define PAGE_EDITTEAM_H
+
+#include "pages.h"
+
+class SquareLabel;
+
+class PageEditTeam : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageEditTeam(QWidget* parent, SDLInteraction * sdli);
+    QSignalMapper* signalMapper;
+    QGroupBox *GBoxHedgehogs;
+    QGroupBox *GBoxTeam;
+    QGroupBox *GBoxFort;
+    QComboBox *CBFort;
+    SquareLabel *FortPreview;
+    QComboBox *CBGrave;
+    QComboBox *CBFlag;
+    QComboBox *CBTeamLvl;
+    QComboBox *CBVoicepack;
+    QGroupBox *GBoxBinds;
+    QToolBox *BindsBox;
+    QPushButton *BtnTeamDiscard;
+    QPushButton *BtnTeamSave;
+    QPushButton * BtnTestSound;
+    QLineEdit * TeamNameEdit;
+    QLineEdit * HHNameEdit[8];
+    QComboBox * HHHats[8];
+    QPushButton * randButton[8];
+    QComboBox * CBBind[BINDS_NUMBER];
+    QPushButton * randTeamButton;
+
+private:
+    SDLInteraction * mySdli;
+
+public slots:
+    void CBFort_activated(const QString & gravename);
+
+private slots:
+    void testSound();
+};
+
+#endif
+
--- a/QTfrontend/pageinfo.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageinfo.cpp	Mon May 09 16:56:29 2011 +0200
@@ -19,7 +19,7 @@
 #include <QGridLayout>
 #include <QPushButton>
 
-#include "pages.h"
+#include "pageinfo.h"
 #include "about.h"
 
 PageInfo::PageInfo(QWidget* parent) : AbstractPage(parent)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageinfo.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,38 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_INFO_H
+#define PAGE_INFO_H
+
+#include "pages.h"
+
+class About;
+
+class PageInfo : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageInfo(QWidget* parent = 0);
+
+    QPushButton *BtnBack;
+    About *about;
+};
+
+#endif
+
--- a/QTfrontend/pageingame.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageingame.cpp	Mon May 09 16:56:29 2011 +0200
@@ -18,7 +18,7 @@
 
 #include <QLabel>
 
-#include "pages.h"
+#include "pageingame.h"
 
 PageInGame::PageInGame(QWidget* parent) :
   AbstractPage(parent)
@@ -26,3 +26,4 @@
     QLabel * label = new QLabel(this);
     label->setText("In game...");
 }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageingame.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,33 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_INGAME_H
+#define PAGE_INGAME_H
+
+#include "pages.h"
+
+class PageInGame : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageInGame(QWidget* parent = 0);
+};
+
+#endif
+
--- a/QTfrontend/pagemain.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagemain.cpp	Mon May 09 16:56:29 2011 +0200
@@ -21,7 +21,7 @@
 #include <QLabel>
 #include <QTime>
 
-#include "pages.h"
+#include "pagemain.h"
 #include "hwconsts.h"
 
 PageMain::PageMain(QWidget* parent) :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagemain.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,40 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_MAIN_H
+#define PAGE_MAIN_H
+
+#include "pages.h"
+
+class PageMain : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageMain(QWidget* parent = 0);
+
+    QPushButton *BtnSinglePlayer;
+    QPushButton *BtnNet;
+    QPushButton *BtnSetup;
+    QPushButton *BtnInfo;
+    QPushButton *BtnExit;
+    QLabel *mainNote;
+};
+
+#endif
+
--- a/QTfrontend/pagemultiplayer.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagemultiplayer.cpp	Mon May 09 16:56:29 2011 +0200
@@ -19,7 +19,7 @@
 #include <QGridLayout>
 #include <QPushButton>
 
-#include "pages.h"
+#include "pagemultiplayer.h"
 #include "gamecfgwidget.h"
 #include "teamselect.h"
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagemultiplayer.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,45 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_MULTIPLAYER_H
+#define PAGE_MULTIPLAYER_H
+
+#include "pages.h"
+
+class GameCFGWidget;
+class TeamSelWidget;
+
+class PageMultiplayer : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageMultiplayer(QWidget* parent = 0);
+
+    QPushButton *BtnBack;
+    GameCFGWidget *gameCFG;
+    TeamSelWidget *teamsSelect;
+    QPushButton *BtnStartMPGame;
+
+signals:
+    void SetupClicked();
+};
+
+#endif
+
+
--- a/QTfrontend/pagenet.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagenet.cpp	Mon May 09 16:56:29 2011 +0200
@@ -23,7 +23,7 @@
 #include <QMessageBox>
 #include <QHeaderView>
 
-#include "pages.h"
+#include "pagenet.h"
 #include "hwconsts.h"
 #include "netudpwidget.h"
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagenet.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,53 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_NET_H
+#define PAGE_NET_H
+
+#include "pages.h"
+
+class PageNet : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageNet(QWidget* parent = 0);
+
+    QPushButton* BtnUpdateSList;
+    QTableView * tvServersList;
+    QPushButton * BtnBack;
+    QPushButton * BtnNetConnect;
+    QPushButton * BtnNetSvrStart;
+    QPushButton * BtnSpecifyServer;
+
+private:
+    QGroupBox * ConnGroupBox;
+    QGridLayout * GBClayout;
+
+private slots:
+    void slotConnect();
+
+public slots:
+    void updateServersList();
+
+signals:
+    void connectClicked(const QString & host, quint16 port);
+};
+
+#endif
+
--- a/QTfrontend/pagenetgame.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagenetgame.cpp	Mon May 09 16:56:29 2011 +0200
@@ -22,7 +22,7 @@
 #include <QMenu>
 #include <QMessageBox>
 
-#include "pages.h"
+#include "pagenetgame.h"
 #include "gamecfgwidget.h"
 #include "teamselect.h"
 #include "chatwidget.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagenetgame.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,58 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_NETGAME_H
+#define PAGE_NETGAME_H
+
+#include "pages.h"
+class HWChatWidget;
+
+class PageNetGame : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageNetGame(QWidget* parent, QSettings * config, SDLInteraction * sdli);
+
+    QPushButton *BtnBack;
+    QPushButton *BtnGo;
+    QPushButton *BtnMaster;
+    QPushButton *BtnStart;
+    QPushButton *BtnUpdate;
+
+    QLineEdit * leRoomName;
+
+    QAction * restrictJoins;
+    QAction * restrictTeamAdds;
+
+    HWChatWidget* pChatWidget;
+
+    TeamSelWidget* pNetTeamsWidget;
+    GameCFGWidget* pGameCFG;
+
+public slots:
+    void setReadyStatus(bool isReady);
+    void onUpdateClick();
+    void setMasterMode(bool isMaster);
+
+signals:
+    void SetupClicked();
+    void askForUpdateRoomName(const QString &);
+};
+
+#endif
--- a/QTfrontend/pagenetserver.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagenetserver.cpp	Mon May 09 16:56:29 2011 +0200
@@ -23,7 +23,7 @@
 #include <QLineEdit>
 #include <QSpinBox>
 
-#include "pages.h"
+#include "pagenetserver.h"
 
 PageNetServer::PageNetServer(QWidget* parent) : AbstractPage(parent)
 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagenetserver.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,43 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_NETSERVER_H
+#define PAGE_NETSERVER_H
+
+#include "pages.h"
+
+class PageNetServer : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageNetServer(QWidget* parent = 0);
+
+    QPushButton *BtnBack;
+    QPushButton *BtnStart;
+    QPushButton *BtnDefault;
+    QLabel *labelSD;
+    QLineEdit *leServerDescr;
+    QLabel *labelPort;
+    QSpinBox *sbPort;
+
+private slots:
+    void setDefaultPort();
+};
+
+#endif
--- a/QTfrontend/pagenettype.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagenettype.cpp	Mon May 09 16:56:29 2011 +0200
@@ -19,7 +19,7 @@
 #include <QGridLayout>
 #include <QPushButton>
 
-#include "pages.h"
+#include "pagenettype.h"
 
 PageNetType::PageNetType(QWidget* parent) : AbstractPage(parent)
 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagenettype.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,37 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_NETTYPE_H
+#define PAGE_NETTYPE_H
+
+#include "pages.h"
+
+
+class PageNetType : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageNetType(QWidget* parent = 0);
+
+    QPushButton * BtnBack;
+    QPushButton * BtnLAN;
+    QPushButton * BtnOfficialServer;
+};
+
+#endif
--- a/QTfrontend/pageoptions.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageoptions.cpp	Mon May 09 16:56:29 2011 +0200
@@ -28,7 +28,7 @@
 #include <QTableWidget>
 #include <QSlider>
 
-#include "pages.h"
+#include "pageoptions.h"
 #include "hwconsts.h"
 #include "fpsedit.h"
 #include "igbox.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageoptions.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,89 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_OPTIONS_H
+#define PAGE_OPTIONS_H
+
+#include "pages.h"
+
+class FPSEdit;
+
+class PageOptions : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageOptions(QWidget* parent = 0);
+
+    QCheckBox *WeaponTooltip;
+    QPushButton *WeaponNew;
+    QPushButton *WeaponEdit;
+    QPushButton *WeaponDelete;
+    QComboBox *WeaponsName;
+    QPushButton *SchemeNew;
+    QPushButton *SchemeEdit;
+    QPushButton *SchemeDelete;
+    QComboBox *SchemesName;
+
+    QComboBox *CBLanguage;
+
+    QPushButton *BtnBack;
+    IconedGroupBox *teamsBox;
+    QPushButton *BtnNewTeam;
+    QPushButton *BtnEditTeam;
+    QPushButton *BtnDeleteTeam;
+    QPushButton *BtnAssociateFiles;
+    QLabel *LblNoEditTeam;
+    QComboBox *CBTeamName;
+    IconedGroupBox *AGGroupBox;
+    QComboBox *CBResolution;
+    QComboBox *CBStereoMode;
+    QCheckBox *CBEnableSound;
+    QCheckBox *CBEnableFrontendSound;
+    QCheckBox *CBEnableMusic;
+    QCheckBox *CBEnableFrontendMusic;
+    QCheckBox *CBFullscreen;
+    QCheckBox *CBFrontendFullscreen;
+    QCheckBox *CBShowFPS;
+    QCheckBox *CBAltDamage;
+    QCheckBox *CBNameWithDate;
+#ifdef __APPLE__
+    QCheckBox *CBAutoUpdate;
+#endif
+
+    FPSEdit *fpsedit;
+    QPushButton *BtnSaveOptions;
+    QLabel *labelNN;
+    QSpinBox * volumeBox;
+    QLineEdit *editNetNick;
+    QSlider *SLQuality;
+    QCheckBox *CBFrontendEffects;
+
+private:
+    bool previousFullscreenValue;
+    int previousResolutionIndex;
+    int previousQuality;
+
+private slots:
+    void forceFullscreen(int index);
+    void setFullscreen(void);
+    void trimNetNick();
+};
+
+#endif
+
--- a/QTfrontend/pageroomslist.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageroomslist.cpp	Mon May 09 16:56:29 2011 +0200
@@ -26,7 +26,7 @@
 #include <QTableWidget>
 
 #include "ammoSchemeModel.h"
-#include "pages.h"
+#include "pageroomslist.h"
 #include "hwconsts.h"
 #include "chatwidget.h"
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageroomslist.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,54 @@
+
+#ifndef PAGE_ROOMLIST_H
+#define PAGE_ROOMLIST_H
+
+#include "pages.h"
+
+class HWChatWidget;
+
+class PageRoomsList : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageRoomsList(QWidget* parent, QSettings * config, SDLInteraction * sdli);
+
+    QLineEdit * roomName;
+    QLineEdit * searchText;
+    QTableWidget * roomsList;
+    QPushButton * BtnBack;
+    QPushButton * BtnCreate;
+    QPushButton * BtnJoin;
+    QPushButton * BtnRefresh;
+    QPushButton * BtnAdmin;
+    QPushButton * BtnClear;
+    QComboBox * CBState;
+    QComboBox * CBRules;
+    QComboBox * CBWeapons;
+    HWChatWidget * chatWidget;
+
+private:
+    bool gameInLobby;
+    QString gameInLobbyName;
+    QStringList listFromServer;
+    AmmoSchemeModel * ammoSchemeModel;
+
+public slots:
+    void setRoomsList(const QStringList & list);
+    void setAdmin(bool);
+
+private slots:
+    void onCreateClick();
+    void onJoinClick();
+    void onRefreshClick();
+    void onClearClick();
+    void onJoinConfirmation(const QString &);
+
+signals:
+    void askForCreateRoom(const QString &);
+    void askForJoinRoom(const QString &);
+    void askForRoomList();
+    void askJoinConfirmation(const QString &);
+};
+
+#endif
--- a/QTfrontend/pages.h	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pages.h	Mon May 09 16:56:29 2011 +0200
@@ -50,19 +50,6 @@
 class QSettings;
 class QSlider;
 
-class GameCFGWidget;
-class TeamSelWidget;
-class DemosList;
-class SquareLabel;
-class About;
-class FPSEdit;
-class HWChatWidget;
-class SelWeaponWidget;
-class IconedGroupBox;
-class FreqSpinBox;
-
-class DrawMapWidget;
-
 class AbstractPage : public QWidget
 {
     Q_OBJECT
@@ -136,485 +123,4 @@
   QFont * font14;
 };
 
-class PageMain : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageMain(QWidget* parent = 0);
-
-    QPushButton *BtnSinglePlayer;
-    QPushButton *BtnNet;
-    QPushButton *BtnSetup;
-    QPushButton *BtnInfo;
-    QPushButton *BtnExit;
-    QLabel *mainNote;
-};
-
-class PageEditTeam : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageEditTeam(QWidget* parent, SDLInteraction * sdli);
-    QSignalMapper* signalMapper;
-    QGroupBox *GBoxHedgehogs;
-    QGroupBox *GBoxTeam;
-    QGroupBox *GBoxFort;
-    QComboBox *CBFort;
-    SquareLabel *FortPreview;
-    QComboBox *CBGrave;
-    QComboBox *CBFlag;
-    QComboBox *CBTeamLvl;
-    QComboBox *CBVoicepack;
-    QGroupBox *GBoxBinds;
-    QToolBox *BindsBox;
-    QPushButton *BtnTeamDiscard;
-    QPushButton *BtnTeamSave;
-    QPushButton * BtnTestSound;
-    QLineEdit * TeamNameEdit;
-    QLineEdit * HHNameEdit[8];
-    QComboBox * HHHats[8];
-    QPushButton * randButton[8];
-    QComboBox * CBBind[BINDS_NUMBER];
-    QPushButton * randTeamButton;
-
-private:
-    SDLInteraction * mySdli;
-
-public slots:
-    void CBFort_activated(const QString & gravename);
-
-private slots:
-    void testSound();
-};
-
-class PageMultiplayer : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageMultiplayer(QWidget* parent = 0);
-
-    QPushButton *BtnBack;
-    GameCFGWidget *gameCFG;
-    TeamSelWidget *teamsSelect;
-    QPushButton *BtnStartMPGame;
-
-signals:
-    void SetupClicked();
-};
-
-class PageOptions : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageOptions(QWidget* parent = 0);
-
-    QCheckBox *WeaponTooltip;
-    QPushButton *WeaponNew;
-    QPushButton *WeaponEdit;
-    QPushButton *WeaponDelete;
-    QComboBox *WeaponsName;
-    QPushButton *SchemeNew;
-    QPushButton *SchemeEdit;
-    QPushButton *SchemeDelete;
-    QComboBox *SchemesName;
-
-    QComboBox *CBLanguage;
-
-    QPushButton *BtnBack;
-    IconedGroupBox *teamsBox;
-    QPushButton *BtnNewTeam;
-    QPushButton *BtnEditTeam;
-    QPushButton *BtnDeleteTeam;
-    QPushButton *BtnAssociateFiles;
-    QLabel *LblNoEditTeam;
-    QComboBox *CBTeamName;
-    IconedGroupBox *AGGroupBox;
-    QComboBox *CBResolution;
-    QComboBox *CBStereoMode;
-    QCheckBox *CBEnableSound;
-    QCheckBox *CBEnableFrontendSound;
-    QCheckBox *CBEnableMusic;
-    QCheckBox *CBEnableFrontendMusic;
-    QCheckBox *CBFullscreen;
-    QCheckBox *CBFrontendFullscreen;
-    QCheckBox *CBShowFPS;
-    QCheckBox *CBAltDamage;
-    QCheckBox *CBNameWithDate;
-#ifdef __APPLE__
-    QCheckBox *CBAutoUpdate;
-#endif
-
-    FPSEdit *fpsedit;
-    QPushButton *BtnSaveOptions;
-    QLabel *labelNN;
-    QSpinBox * volumeBox;
-    QLineEdit *editNetNick;
-    QSlider *SLQuality;
-    QCheckBox *CBFrontendEffects;
-
-private:
-    bool previousFullscreenValue;
-    int previousResolutionIndex;
-    int previousQuality;
-
-private slots:
-    void forceFullscreen(int index);
-    void setFullscreen(void);
-    void trimNetNick();
-};
-
-class PageNet : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageNet(QWidget* parent = 0);
-
-    QPushButton* BtnUpdateSList;
-    QTableView * tvServersList;
-    QPushButton * BtnBack;
-    QPushButton * BtnNetConnect;
-    QPushButton * BtnNetSvrStart;
-    QPushButton * BtnSpecifyServer;
-
-private:
-    QGroupBox * ConnGroupBox;
-    QGridLayout * GBClayout;
-
-private slots:
-    void slotConnect();
-
-public slots:
-    void updateServersList();
-
-signals:
-    void connectClicked(const QString & host, quint16 port);
-};
-
-class PageNetServer : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageNetServer(QWidget* parent = 0);
-
-    QPushButton *BtnBack;
-    QPushButton *BtnStart;
-    QPushButton *BtnDefault;
-    QLabel *labelSD;
-    QLineEdit *leServerDescr;
-    QLabel *labelPort;
-    QSpinBox *sbPort;
-
-private slots:
-    void setDefaultPort();
-};
-
-class PageNetGame : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageNetGame(QWidget* parent, QSettings * config, SDLInteraction * sdli);
-
-    QPushButton *BtnBack;
-    QPushButton *BtnGo;
-    QPushButton *BtnMaster;
-    QPushButton *BtnStart;
-    QPushButton *BtnUpdate;
-
-    QLineEdit * leRoomName;
-
-    QAction * restrictJoins;
-    QAction * restrictTeamAdds;
-
-    HWChatWidget* pChatWidget;
-
-    TeamSelWidget* pNetTeamsWidget;
-    GameCFGWidget* pGameCFG;
-
-public slots:
-    void setReadyStatus(bool isReady);
-    void onUpdateClick();
-    void setMasterMode(bool isMaster);
-
-signals:
-    void SetupClicked();
-    void askForUpdateRoomName(const QString &);
-};
-
-class PageInfo : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageInfo(QWidget* parent = 0);
-
-    QPushButton *BtnBack;
-    About *about;
-};
-
-class PageSinglePlayer : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageSinglePlayer(QWidget* parent = 0);
-
-    QPushButton *BtnSimpleGamePage;
-    QPushButton *BtnTrainPage;
-    QPushButton *BtnCampaignPage;
-    QPushButton *BtnMultiplayer;
-    QPushButton *BtnLoad;
-    QPushButton *BtnDemos;
-    QPushButton *BtnBack;
-    GameCFGWidget *gameCFG;
-};
-
-class PageTraining : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageTraining(QWidget* parent = 0);
-
-    QPushButton *BtnStartTrain;
-    QPushButton *BtnBack;
-    QComboBox   *CBSelect;
-};
-
-class PageCampaign : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageCampaign(QWidget* parent = 0);
-
-    QPushButton *BtnStartCampaign;
-    QPushButton *BtnBack;
-    QComboBox   *CBSelect;
-    QComboBox   *CBTeam;
-};
-
-class PageSelectWeapon : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageSelectWeapon(QWidget* parent = 0);
-
-    QPushButton *BtnSave;
-    QPushButton *BtnDefault;
-    QPushButton *BtnDelete;
-    QPushButton *BtnNew;
-    QPushButton *BtnCopy;
-    QPushButton *BtnBack;
-    SelWeaponWidget* pWeapons;
-    QComboBox* selectWeaponSet;
-};
-
-class PageInGame : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageInGame(QWidget* parent = 0);
-};
-
-class PageRoomsList : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageRoomsList(QWidget* parent, QSettings * config, SDLInteraction * sdli);
-
-    QLineEdit * roomName;
-    QLineEdit * searchText;
-    QTableWidget * roomsList;
-    QPushButton * BtnBack;
-    QPushButton * BtnCreate;
-    QPushButton * BtnJoin;
-    QPushButton * BtnRefresh;
-    QPushButton * BtnAdmin;
-    QPushButton * BtnClear;
-    QComboBox * CBState;
-    QComboBox * CBRules;
-    QComboBox * CBWeapons;
-    HWChatWidget * chatWidget;
-
-private:
-    bool gameInLobby;
-    QString gameInLobbyName;
-    QStringList listFromServer;
-    AmmoSchemeModel * ammoSchemeModel;
-
-public slots:
-    void setRoomsList(const QStringList & list);
-    void setAdmin(bool);
-
-private slots:
-    void onCreateClick();
-    void onJoinClick();
-    void onRefreshClick();
-    void onClearClick();
-    void onJoinConfirmation(const QString &);
-
-signals:
-    void askForCreateRoom(const QString &);
-    void askForJoinRoom(const QString &);
-    void askForRoomList();
-    void askJoinConfirmation(const QString &);
-};
-
-class PageConnecting : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageConnecting(QWidget* parent = 0);
-
-signals:
-    void cancelConnection();
-};
-
-class PageScheme : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageScheme(QWidget* parent = 0);
-
-    QPushButton * BtnBack;
-    QPushButton * BtnCopy;
-    QPushButton * BtnNew;
-    QPushButton * BtnDelete;
-    QPushButton * BtnSave;
-    QComboBox * selectScheme;
-
-    void setModel(QAbstractItemModel * model);
-
-public slots:
-    void newRow();
-    void copyRow();
-    void deleteRow();
-
-private:
-    QDataWidgetMapper * mapper;
-    ToggleButtonWidget * TBW_mode_Forts;
-    ToggleButtonWidget * TBW_teamsDivide;
-    ToggleButtonWidget * TBW_solid;
-    ToggleButtonWidget * TBW_border;
-    ToggleButtonWidget * TBW_lowGravity;
-    ToggleButtonWidget * TBW_laserSight;
-    ToggleButtonWidget * TBW_invulnerable;
-    ToggleButtonWidget * TBW_resethealth;
-    ToggleButtonWidget * TBW_vampiric;
-    ToggleButtonWidget * TBW_karma;
-    ToggleButtonWidget * TBW_artillery;
-    ToggleButtonWidget * TBW_randomorder;
-    ToggleButtonWidget * TBW_king;
-    ToggleButtonWidget * TBW_placehog;
-    ToggleButtonWidget * TBW_sharedammo;
-    ToggleButtonWidget * TBW_disablegirders;
-    ToggleButtonWidget * TBW_disablelandobjects;
-    ToggleButtonWidget * TBW_aisurvival;
-    ToggleButtonWidget * TBW_infattack;
-    ToggleButtonWidget * TBW_resetweps;
-    ToggleButtonWidget * TBW_perhogammo;
-    ToggleButtonWidget * TBW_nowind;
-    ToggleButtonWidget * TBW_morewind;
-    ToggleButtonWidget * TBW_tagteam;
-
-    QSpinBox * SB_DamageModifier;
-    QSpinBox * SB_TurnTime;
-    QSpinBox * SB_InitHealth;
-    QSpinBox * SB_SuddenDeath;
-    QSpinBox * SB_WaterRise;
-    QSpinBox * SB_HealthDecrease;
-    FreqSpinBox * SB_CaseProb;
-    QSpinBox * SB_HealthCrates;
-    QSpinBox * SB_CrateHealth;
-    QSpinBox * SB_MinesTime;
-    QSpinBox * SB_Mines;
-    QSpinBox * SB_MineDuds;
-    QSpinBox * SB_Explosives;
-    QSpinBox * SB_RopeModifier;
-    QSpinBox * SB_GetAwayTime;
-    QLineEdit * LE_name;
-
-    QGroupBox * gbGameModes;
-    QGroupBox * gbBasicSettings;
-
-private slots:
-    void schemeSelected(int);
-
-};
-
-class PageAdmin : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageAdmin(QWidget* parent = 0);
-
-    QPushButton * BtnBack;
-    QPushButton * pbClearAccountsCache;
-
-private:
-    QLineEdit * leServerMessageNew;
-    QLineEdit * leServerMessageOld;
-    QPushButton * pbSetSM;
-    QPushButton * pbAsk;
-    QSpinBox * sbProtocol;
-    QTextBrowser * tb;
-
-private slots:
-    void smChanged();
-
-public slots:
-    void serverMessageNew(const QString & str);
-    void serverMessageOld(const QString & str);
-    void protocol(int proto);
-
-signals:
-    void setServerMessageNew(const QString & str);
-    void setServerMessageOld(const QString & str);
-    void setProtocol(int proto);
-    void askServerVars();
-};
-
-
-class PageNetType : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageNetType(QWidget* parent = 0);
-
-    QPushButton * BtnBack;
-    QPushButton * BtnLAN;
-    QPushButton * BtnOfficialServer;
-};
-
-
-class PageDrawMap : public AbstractPage
-{
-    Q_OBJECT
-
-public:
-    PageDrawMap(QWidget* parent = 0);
-
-    QPushButton * BtnBack;
-
-    DrawMapWidget * drawMapWidget;
-
-private slots:
-    void load();
-    void save();
-};
-
 #endif // PAGES_H
--- a/QTfrontend/pagescheme.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagescheme.cpp	Mon May 09 16:56:29 2011 +0200
@@ -27,7 +27,7 @@
 #include <QSpinBox>
 
 #include "ammoSchemeModel.h"
-#include "pages.h"
+#include "pagescheme.h"
 #include "misc.h"
 
 PageScheme::PageScheme(QWidget* parent) :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagescheme.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,99 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_SCHEME_H
+#define PAGE_SCHEME_H
+
+#include "pages.h"
+
+class FreqSpinBox;
+
+class PageScheme : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageScheme(QWidget* parent = 0);
+
+    QPushButton * BtnBack;
+    QPushButton * BtnCopy;
+    QPushButton * BtnNew;
+    QPushButton * BtnDelete;
+    QPushButton * BtnSave;
+    QComboBox * selectScheme;
+
+    void setModel(QAbstractItemModel * model);
+
+public slots:
+    void newRow();
+    void copyRow();
+    void deleteRow();
+
+private:
+    QDataWidgetMapper * mapper;
+    ToggleButtonWidget * TBW_mode_Forts;
+    ToggleButtonWidget * TBW_teamsDivide;
+    ToggleButtonWidget * TBW_solid;
+    ToggleButtonWidget * TBW_border;
+    ToggleButtonWidget * TBW_lowGravity;
+    ToggleButtonWidget * TBW_laserSight;
+    ToggleButtonWidget * TBW_invulnerable;
+    ToggleButtonWidget * TBW_resethealth;
+    ToggleButtonWidget * TBW_vampiric;
+    ToggleButtonWidget * TBW_karma;
+    ToggleButtonWidget * TBW_artillery;
+    ToggleButtonWidget * TBW_randomorder;
+    ToggleButtonWidget * TBW_king;
+    ToggleButtonWidget * TBW_placehog;
+    ToggleButtonWidget * TBW_sharedammo;
+    ToggleButtonWidget * TBW_disablegirders;
+    ToggleButtonWidget * TBW_disablelandobjects;
+    ToggleButtonWidget * TBW_aisurvival;
+    ToggleButtonWidget * TBW_infattack;
+    ToggleButtonWidget * TBW_resetweps;
+    ToggleButtonWidget * TBW_perhogammo;
+    ToggleButtonWidget * TBW_nowind;
+    ToggleButtonWidget * TBW_morewind;
+    ToggleButtonWidget * TBW_tagteam;
+
+    QSpinBox * SB_DamageModifier;
+    QSpinBox * SB_TurnTime;
+    QSpinBox * SB_InitHealth;
+    QSpinBox * SB_SuddenDeath;
+    QSpinBox * SB_WaterRise;
+    QSpinBox * SB_HealthDecrease;
+    FreqSpinBox * SB_CaseProb;
+    QSpinBox * SB_HealthCrates;
+    QSpinBox * SB_CrateHealth;
+    QSpinBox * SB_MinesTime;
+    QSpinBox * SB_Mines;
+    QSpinBox * SB_MineDuds;
+    QSpinBox * SB_Explosives;
+    QSpinBox * SB_RopeModifier;
+    QSpinBox * SB_GetAwayTime;
+    QLineEdit * LE_name;
+
+    QGroupBox * gbGameModes;
+    QGroupBox * gbBasicSettings;
+
+private slots:
+    void schemeSelected(int);
+
+};
+
+#endif
--- a/QTfrontend/pageselectweapon.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pageselectweapon.cpp	Mon May 09 16:56:29 2011 +0200
@@ -20,7 +20,7 @@
 #include <QPushButton>
 #include <QComboBox>
 
-#include "pages.h"
+#include "pageselectweapon.h"
 #include "hwconsts.h"
 #include "selectWeapon.h"
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pageselectweapon.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,43 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_SELECTWEAPON_H
+#define PAGE_SELECTWEAPON_H
+
+#include "pages.h"
+
+class SelWeaponWidget;
+
+class PageSelectWeapon : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageSelectWeapon(QWidget* parent = 0);
+
+    QPushButton *BtnSave;
+    QPushButton *BtnDefault;
+    QPushButton *BtnDelete;
+    QPushButton *BtnNew;
+    QPushButton *BtnCopy;
+    QPushButton *BtnBack;
+    SelWeaponWidget* pWeapons;
+    QComboBox* selectWeaponSet;
+};
+
+#endif
--- a/QTfrontend/pagesingleplayer.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagesingleplayer.cpp	Mon May 09 16:56:29 2011 +0200
@@ -19,7 +19,7 @@
 #include <QGridLayout>
 #include <QPushButton>
 
-#include "pages.h"
+#include "pagesingleplayer.h"
 #include "gamecfgwidget.h"
 
 PageSinglePlayer::PageSinglePlayer(QWidget* parent) : AbstractPage(parent)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagesingleplayer.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,44 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_SINGLE_PLAYER_H
+#define PAGE_SINGLE_PLAYER_H
+
+#include "pages.h"
+
+class GameCFGWidget;
+
+class PageSinglePlayer : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageSinglePlayer(QWidget* parent = 0);
+
+    QPushButton *BtnSimpleGamePage;
+    QPushButton *BtnTrainPage;
+    QPushButton *BtnCampaignPage;
+    QPushButton *BtnMultiplayer;
+    QPushButton *BtnLoad;
+    QPushButton *BtnDemos;
+    QPushButton *BtnBack;
+    GameCFGWidget *gameCFG;
+};
+
+#endif
+
--- a/QTfrontend/pagetraining.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/pagetraining.cpp	Mon May 09 16:56:29 2011 +0200
@@ -20,7 +20,7 @@
 #include <QPushButton>
 #include <QComboBox>
 
-#include "pages.h"
+#include "pagetraining.h"
 #include "hwconsts.h"
 
 PageTraining::PageTraining(QWidget* parent) : AbstractPage(parent)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/pagetraining.h	Mon May 09 16:56:29 2011 +0200
@@ -0,0 +1,37 @@
+/*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2006-2011 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
+ */
+
+#ifndef PAGE_TRAINING_H
+#define PAGE_TRAINING_H
+
+#include "pages.h"
+
+class PageTraining : public AbstractPage
+{
+    Q_OBJECT
+
+public:
+    PageTraining(QWidget* parent = 0);
+
+    QPushButton *BtnStartTrain;
+    QPushButton *BtnBack;
+    QComboBox   *CBSelect;
+};
+
+#endif
+
--- a/QTfrontend/team.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/team.cpp	Mon May 09 16:56:29 2011 +0200
@@ -25,7 +25,7 @@
 #include <QSettings>
 #include "team.h"
 #include "hwform.h"
-#include "pages.h"
+#include "pageeditteam.h"
 #include "hwconsts.h"
 #include "hats.h"
 
--- a/QTfrontend/ui_hwform.cpp	Sun May 08 21:15:42 2011 +0400
+++ b/QTfrontend/ui_hwform.cpp	Mon May 09 16:56:29 2011 +0200
@@ -23,7 +23,25 @@
 
 #include "ui_hwform.h"
 #include "hwform.h"
-#include "pages.h"
+#include "pagenet.h"
+#include "pagetraining.h"
+#include "pagenetserver.h"
+#include "pageoptions.h"
+#include "pageingame.h"
+#include "pagescheme.h"
+#include "pagenettype.h"
+#include "pageroomslist.h"
+#include "pageinfo.h"
+#include "pagenetgame.h"
+#include "pageeditteam.h"
+#include "pagedrawmap.h"
+#include "pageadmin.h"
+#include "pageconnecting.h"
+#include "pagemultiplayer.h"
+#include "pagesingleplayer.h"
+#include "pageselectweapon.h"
+#include "pagecampaign.h"
+#include "pagemain.h"
 #include "statsPage.h"
 #include "playrecordpage.h"
 #include "hwconsts.h"