QTfrontend/ui_hwform.cpp
author unc0rr
Sun, 02 Dec 2012 01:25:11 +0400
changeset 8178 8bd087478b48
parent 7235 baa69bd025d9
child 8179 a1ffcb559f99
permissions -rw-r--r--
Fix QSettings problems: - Reopen file in ReadOnly mode if it was open in ReadWrite mode and is being read. This is needed for stupid QSettings which opens file in ReadWrite mode just to call readAll() on it. - Implement setSize(0)
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
6952
7f70f37bbf08 license header year range adjustments
sheepluva
parents: 6700
diff changeset
     3
 * Copyright (c) 2004-2012 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"
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
    30
#include "pagefeedback.h"
5204
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    31
#include "pageingame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    32
#include "pagescheme.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    33
#include "pagenettype.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    34
#include "pageroomslist.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    35
#include "pageinfo.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    36
#include "pagenetgame.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    37
#include "pageeditteam.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    38
#include "pagedrawmap.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    39
#include "pageadmin.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    40
#include "pageconnecting.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    41
#include "pagemultiplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    42
#include "pagesingleplayer.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    43
#include "pageselectweapon.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    44
#include "pagecampaign.h"
e1a5f4d5d86a split pages.h into several header files
koda
parents: 4976
diff changeset
    45
#include "pagemain.h"
5205
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    46
#include "pagegamestats.h"
78138ae93820 some headers cleanup and rename of stats and playrecord pages for consistency
koda
parents: 5204
diff changeset
    47
#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
    48
#include "pagedata.h"
7235
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 6952
diff changeset
    49
#include "pagevideos.h"
1542
b755ddb0bae8 Show version info in caption
unc0rr
parents: 1311
diff changeset
    50
#include "hwconsts.h"
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    51
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    52
void Ui_HWForm::setupUi(HWForm *HWForm)
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
    SetupFonts();
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    55
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    56
    HWForm->setObjectName(QString::fromUtf8("HWForm"));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    57
    HWForm->resize(QSize(640, 480).expandedTo(HWForm->minimumSizeHint()));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    58
    HWForm->setMinimumSize(QSize(720, 450));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    59
    HWForm->setWindowTitle(QMainWindow::tr("Hedgewars %1").arg(*cVersionString));
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    60
    centralWidget = new QWidget(HWForm);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    61
    centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
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
    SetupPages(centralWidget, HWForm);
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
    HWForm->setCentralWidget(centralWidget);
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
    Pages->setCurrentIndex(0);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    68
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    69
    QMetaObject::connectSlotsByName(HWForm);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    70
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    71
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    72
void Ui_HWForm::SetupFonts()
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    73
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    74
    font14 = new QFont("MS Shell Dlg", 14);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    75
}
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    76
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 1950
diff changeset
    77
void Ui_HWForm::SetupPages(QWidget *Parent, HWForm *HWForm)
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
    Pages = new QStackedLayout(Parent);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    80
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 5567
diff changeset
    81
    pageEditTeam = new PageEditTeam(Parent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    82
    Pages->addWidget(pageEditTeam);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    83
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    84
    pageOptions = new PageOptions();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    85
    Pages->addWidget(pageOptions);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    86
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    87
    pageMultiplayer = new PageMultiplayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    88
    Pages->addWidget(pageMultiplayer);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    89
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    90
    pagePlayDemo = new PagePlayDemo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    91
    Pages->addWidget(pagePlayDemo);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    92
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    93
    pageNet = new PageNet();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    94
    Pages->addWidget(pageNet);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    95
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 5567
diff changeset
    96
    pageNetGame = new PageNetGame(Parent, HWForm->gameSettings);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    97
    Pages->addWidget(pageNetGame);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
    98
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
    99
    pageInfo = new PageInfo();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   100
    Pages->addWidget(pageInfo);
187
96c3154efee5 "About" page, not yet filled with content
unc0rr
parents: 184
diff changeset
   101
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   102
    pageMain = new PageMain();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   103
    Pages->addWidget(pageMain);
306
7b61834edcf6 - Better blowtorch
unc0rr
parents: 187
diff changeset
   104
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   105
    pageGameStats = new PageGameStats();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   106
    Pages->addWidget(pageGameStats);
586
ecb6347dfeca Prepare to new page 'Training'
unc0rr
parents: 585
diff changeset
   107
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   108
    pageSinglePlayer = new PageSinglePlayer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   109
    Pages->addWidget(pageSinglePlayer);
587
74db4115064a More work on Training mode
unc0rr
parents: 586
diff changeset
   110
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   111
    pageTraining = new PageTraining();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   112
    Pages->addWidget(pageTraining);
600
f6e5f4e122db Select weapon scheme page
unc0rr
parents: 587
diff changeset
   113
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   114
    pageSelectWeapon = new PageSelectWeapon();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   115
    Pages->addWidget(pageSelectWeapon);
646
ed610c2cd0a4 Some work on network widgets
unc0rr
parents: 600
diff changeset
   116
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   117
    pageNetServer = new PageNetServer();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   118
    Pages->addWidget(pageNetServer);
686
494b5880989a - Header cleanup in game.cpp
unc0rr
parents: 646
diff changeset
   119
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   120
    pageInGame = new PageInGame();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   121
    Pages->addWidget(pageInGame);
1311
49beb1221c0b - Add stub page for rooms list
unc0rr
parents: 1158
diff changeset
   122
6165
6fe3e922246e moving and renaming SDLs.*, making it a singleton; cleaning up class responsibilties wrt SDLInteraction; some comments
sheepluva
parents: 5567
diff changeset
   123
    pageRoomsList = new PageRoomsList(Parent, HWForm->gameSettings);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   124
    Pages->addWidget(pageRoomsList);
1800
f1df2eb32a16 "connecting" page
unc0rr
parents: 1644
diff changeset
   125
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   126
    pageConnecting = new PageConnecting();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   127
    Pages->addWidget(pageConnecting);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1800
diff changeset
   128
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   129
    pageScheme = new PageScheme();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   130
    Pages->addWidget(pageScheme);
1905
b1ec8db513f2 - Use QCryptographicHash for md5
unc0rr
parents: 1884
diff changeset
   131
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   132
    pageAdmin = new PageAdmin();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   133
    Pages->addWidget(pageAdmin);
1950
09ad18a1be11 Implement two buttons
unc0rr
parents: 1905
diff changeset
   134
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   135
    pageNetType = new PageNetType();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2773
diff changeset
   136
    Pages->addWidget(pageNetType);
3760
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   137
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   138
    pageCampaign = new PageCampaign();
d30f1ba768d7 Frontend:
smaxx
parents: 3236
diff changeset
   139
    Pages->addWidget(pageCampaign);
4500
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   140
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   141
    pageDrawMap = new PageDrawMap();
22d06b4be225 Add a stub for draw map page
unc0rr
parents: 3760
diff changeset
   142
    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
   143
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   144
    pageDataDownload = new PageDataDownload();
44c9a577b082 Tiny bit of progress on download page - hooked it up to "Info" button for now.
nemo
parents: 5205
diff changeset
   145
    Pages->addWidget(pageDataDownload);
6561
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
   146
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
   147
    pageFeedback = new PageFeedback();
b2165583cdf5 GCI task: feedback is important
valnut
parents: 6165
diff changeset
   148
    Pages->addWidget(pageFeedback);
7235
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 6952
diff changeset
   149
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 6952
diff changeset
   150
    pageVideos = new PageVideos();
baa69bd025d9 1. Implement new page in frontend with options for video recording.
Stepan777 <stepik-777@mail.ru>
parents: 6952
diff changeset
   151
    Pages->addWidget(pageVideos);
184
f97a7a3dc8f6 - Update more headers
unc0rr
parents: 183
diff changeset
   152
}