QTfrontend/ui_hwform.cpp
author nemo
Sun, 14 Aug 2011 23:52:45 -0400
changeset 5569 8313952b2811
parent 5567 44c9a577b082
child 6165 6fe3e922246e
permissions -rw-r--r--
suggestion of mikade's - delete old mines if the collision array shows signs of filling up. This is kind of an edge case, esp now that array is up to 1024, but should prevent (easiest) way to crash by collision array overflow (endless mines/minestrikes).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 883
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4500
diff changeset
     3
 * Copyright (c) 2006-2011 Andrey Korotaev <unC0Rr@gmail.com>
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     4
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     8
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    12
 * GNU General Public License for more details.
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    13
 *
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    15
 * along with this program; if not, write to the Free Software
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    17
 */
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    18
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    19
#include <QVBoxLayout>
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    20
#include <QGridLayout>
471
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    21
#include <QMainWindow>
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    22
#include <QStackedLayout>
e1eb64ba5e9c Small cleanup, faster compilation as a result
unc0rr
parents: 306
diff changeset
    23
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    24
#include "ui_hwform.h"
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    25
#include "hwform.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    26
#include "pagenet.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    27
#include "pagetraining.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    28
#include "pagenetserver.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    29
#include "pageoptions.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    30
#include "pageingame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    31
#include "pagescheme.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    32
#include "pagenettype.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    33
#include "pageroomslist.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    34
#include "pageinfo.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    35
#include "pagenetgame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    36
#include "pageeditteam.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    37
#include "pagedrawmap.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    38
#include "pageadmin.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    39
#include "pageconnecting.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    40
#include "pagemultiplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    41
#include "pagesingleplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    42
#include "pageselectweapon.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    43
#include "pagecampaign.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    44
#include "pagemain.h"
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    45
#include "pagegamestats.h"
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    46
#include "pageplayrecord.h"
5567
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
    47
#include "pagedata.h"
1542
b755ddb0bae8 Show version info in caption
unc0rr
parents: 1311
diff changeset
    48
#include "hwconsts.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    49
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    50
void Ui_HWForm::setupUi(HWForm *HWForm)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    51
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    52
    SetupFonts();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    53
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    54
    HWForm->setObjectName(QString::fromUtf8("HWForm"));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    55
    HWForm->resize(QSize(640, 480).expandedTo(HWForm->minimumSizeHint()));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    56
    HWForm->setMinimumSize(QSize(720, 450));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    57
    HWForm->setWindowTitle(QMainWindow::tr("Hedgewars %1").arg(*cVersionString));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    58
    centralWidget = new QWidget(HWForm);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    59
    centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    60
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    61
    SetupPages(centralWidget, HWForm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    62
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    63
    HWForm->setCentralWidget(centralWidget);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    64
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    65
    Pages->setCurrentIndex(0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    66
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    67
    QMetaObject::connectSlotsByName(HWForm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    68
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    69
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
void Ui_HWForm::SetupFonts()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    72
    font14 = new QFont("MS Shell Dlg", 14);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    73
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    74
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    75
void Ui_HWForm::SetupPages(QWidget *Parent, HWForm *HWForm)
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    76
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    77
    Pages = new QStackedLayout(Parent);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    78
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    79
    pageEditTeam = new PageEditTeam(Parent, &HWForm->sdli);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    80
    Pages->addWidget(pageEditTeam);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    81
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    82
    pageOptions = new PageOptions();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    83
    Pages->addWidget(pageOptions);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    84
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    85
    pageMultiplayer = new PageMultiplayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    86
    Pages->addWidget(pageMultiplayer);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    87
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    88
    pagePlayDemo = new PagePlayDemo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    89
    Pages->addWidget(pagePlayDemo);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    90
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    91
    pageNet = new PageNet();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    92
    Pages->addWidget(pageNet);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    93
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    94
    pageNetGame = new PageNetGame(Parent, HWForm->gameSettings, &HWForm->sdli);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    95
    Pages->addWidget(pageNetGame);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    96
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    97
    pageInfo = new PageInfo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    98
    Pages->addWidget(pageInfo);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
    99
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   100
    pageMain = new PageMain();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   101
    Pages->addWidget(pageMain);
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 187
diff changeset
   102
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   103
    pageGameStats = new PageGameStats();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   104
    Pages->addWidget(pageGameStats);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   105
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   106
    pageSinglePlayer = new PageSinglePlayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   107
    Pages->addWidget(pageSinglePlayer);
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   108
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   109
    pageTraining = new PageTraining();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   110
    Pages->addWidget(pageTraining);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 587
diff changeset
   111
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   112
    pageSelectWeapon = new PageSelectWeapon();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   113
    Pages->addWidget(pageSelectWeapon);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 600
diff changeset
   114
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   115
    pageNetServer = new PageNetServer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   116
    Pages->addWidget(pageNetServer);
686
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 646
diff changeset
   117
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   118
    pageInGame = new PageInGame();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   119
    Pages->addWidget(pageInGame);
1311
49beb1221c0b - Add stub page for rooms list
unc0rr
parents: 1158
diff changeset
   120
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   121
    pageRoomsList = new PageRoomsList(Parent, HWForm->gameSettings, &HWForm->sdli);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   122
    Pages->addWidget(pageRoomsList);
1800
f1df2eb32a16 "connecting" page
unc0rr
parents: 1644
diff changeset
   123
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   124
    pageConnecting = new PageConnecting();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   125
    Pages->addWidget(pageConnecting);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1800
diff changeset
   126
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   127
    pageScheme = new PageScheme();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   128
    Pages->addWidget(pageScheme);
1905
b1ec8db513f2 - Use QCryptographicHash for md5
unc0rr
parents: 1884
diff changeset
   129
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   130
    pageAdmin = new PageAdmin();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   131
    Pages->addWidget(pageAdmin);
1950
09ad18a1be11 Implement two buttons
unc0rr
parents: 1905
diff changeset
   132
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   133
    pageNetType = new PageNetType();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   134
    Pages->addWidget(pageNetType);
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   135
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   136
    pageCampaign = new PageCampaign();
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   137
    Pages->addWidget(pageCampaign);
4500
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   138
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   139
    pageDrawMap = new PageDrawMap();
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   140
    Pages->addWidget(pageDrawMap);
5567
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   141
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   142
    pageDataDownload = new PageDataDownload();
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   143
    Pages->addWidget(pageDataDownload);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   144
}