20 #include <QHBoxLayout> |
20 #include <QHBoxLayout> |
21 #include <QPushButton> |
21 #include <QPushButton> |
22 #include <QAction> |
22 #include <QAction> |
23 #include <QMenu> |
23 #include <QMenu> |
24 #include <QMessageBox> |
24 #include <QMessageBox> |
|
25 #include <QSettings> |
25 |
26 |
26 #include "pagenetgame.h" |
27 #include "pagenetgame.h" |
27 #include "gamecfgwidget.h" |
28 #include "gamecfgwidget.h" |
28 #include "teamselect.h" |
29 #include "teamselect.h" |
29 #include "chatwidget.h" |
30 #include "chatwidget.h" |
54 leRoomName->setFixedHeight(30); |
55 leRoomName->setFixedHeight(30); |
55 leRoomName->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
56 leRoomName->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
56 roomConfigLayout->addWidget(leRoomName, 100); |
57 roomConfigLayout->addWidget(leRoomName, 100); |
57 |
58 |
58 QLabel * lblRoomName = new QLabel(tr("Room name: "), leRoomName); |
59 QLabel * lblRoomName = new QLabel(tr("Room name: "), leRoomName); |
59 lblRoomName->setStyleSheet("font: 12px; font-weight: bold;"); |
60 lblRoomName->setFont(QFont("Arial", 12, QFont::Black)); |
60 lblRoomName->setStyleSheet(QString("font: 12px; font-weight: bold; background: none; margin-left: -%1px; margin-top: 8px;").arg(lblRoomName->width() - 20)); |
61 QFontMetrics lblMetrics(lblRoomName->font()); |
61 leRoomName->setStyleSheet(QString("font: 12px; border-right: 0; padding-left: %1px; padding-bottom: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px;").arg(lblRoomName->width() - 14)); |
62 int lblRoomNameWidth = lblMetrics.width(lblRoomName->text()); |
|
63 lblRoomName->setStyleSheet(QString("background: none; margin-left: -%1px; margin-top: 6px;").arg(lblRoomNameWidth + 12)); |
|
64 leRoomName->setFont(QFont("Arial", 12, QFont::Normal)); |
|
65 leRoomName->setStyleSheet(QString("HistoryLineEdit, QLabel { border-right: 0; padding-left: %1px; padding-bottom: 2px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; }").arg(lblRoomNameWidth + 16)); |
62 |
66 |
63 BtnUpdate = new QPushButton(); |
67 BtnUpdate = new QPushButton(); |
64 BtnUpdate->setEnabled(false); |
68 BtnUpdate->setEnabled(false); |
65 BtnUpdate->setText(tr("Update")); |
69 BtnUpdate->setText(tr("Update")); |
66 BtnUpdate->setFixedHeight(leRoomName->height() - 0); |
70 BtnUpdate->setFixedHeight(leRoomName->height() - 0); |
186 { |
190 { |
187 int oldHeight = event->oldSize().height(); |
191 int oldHeight = event->oldSize().height(); |
188 int newHeight = event->size().height(); |
192 int newHeight = event->size().height(); |
189 |
193 |
190 if (newHeight < cutoffHeight && oldHeight >= cutoffHeight) |
194 if (newHeight < cutoffHeight && oldHeight >= cutoffHeight) |
|
195 { |
191 pGameCFG->setTabbed(true); |
196 pGameCFG->setTabbed(true); |
|
197 } |
192 else if (newHeight >= cutoffHeight && oldHeight < cutoffHeight) |
198 else if (newHeight >= cutoffHeight && oldHeight < cutoffHeight) |
|
199 { |
193 pGameCFG->setTabbed(false); |
200 pGameCFG->setTabbed(false); |
|
201 } |
194 } |
202 } |
195 |
203 |
196 void PageNetGame::displayError(const QString & message) |
204 void PageNetGame::displayError(const QString & message) |
197 { |
205 { |
198 chatWidget->displayError(message); |
206 chatWidget->displayError(message); |
225 |
233 |
226 void PageNetGame::onUpdateClick() |
234 void PageNetGame::onUpdateClick() |
227 { |
235 { |
228 if (!leRoomName->text().trimmed().isEmpty()) |
236 if (!leRoomName->text().trimmed().isEmpty()) |
229 { |
237 { |
230 emit askForUpdateRoomName(leRoomName->text()); |
238 m_gameSettings->setValue("frontend/lastroomname", leRoomName->text()); |
231 leRoomName->rememberCurrentText(); |
239 leRoomName->rememberCurrentText(); |
232 BtnUpdate->setEnabled(false); |
240 BtnUpdate->setEnabled(false); |
|
241 emit askForUpdateRoomName(leRoomName->text()); |
233 } |
242 } |
234 else |
243 else |
235 { |
244 { |
236 leRoomName->clear(); |
245 leRoomName->clear(); |
237 QMessageBox roomMsg(this); |
246 QMessageBox roomMsg(this); |
238 roomMsg.setIcon(QMessageBox::Warning); |
247 roomMsg.setIcon(QMessageBox::Warning); |
239 roomMsg.setWindowTitle(QMessageBox::tr("Netgame - Error")); |
248 roomMsg.setWindowTitle(QMessageBox::tr("Netgame - Error")); |
240 roomMsg.setText(QMessageBox::tr("Please enter room name")); |
249 roomMsg.setText(QMessageBox::tr("Please enter room name")); |
241 roomMsg.setWindowModality(Qt::WindowModal); |
250 roomMsg.setWindowModality(Qt::WindowModal); |
242 roomMsg.exec(); |
251 roomMsg.exec(); |
|
252 leRoomName->setFocus(); |
243 } |
253 } |
244 } |
254 } |
245 |
255 |
246 |
256 |
247 void PageNetGame::setRoomName(const QString & roomName) |
257 void PageNetGame::setRoomName(const QString & roomName) |
257 BtnMaster->setVisible(isMaster); |
267 BtnMaster->setVisible(isMaster); |
258 BtnStart->setVisible(isMaster); |
268 BtnStart->setVisible(isMaster); |
259 BtnUpdate->setVisible(isMaster); |
269 BtnUpdate->setVisible(isMaster); |
260 leRoomName->setVisible(isMaster); |
270 leRoomName->setVisible(isMaster); |
261 lblRoomNameReadOnly->setVisible(!isMaster); |
271 lblRoomNameReadOnly->setVisible(!isMaster); |
|
272 pGameCFG->setMaster(isMaster); |
|
273 repaint(); |
262 } |
274 } |
263 |
275 |
264 void PageNetGame::setUser(const QString & nickname) |
276 void PageNetGame::setUser(const QString & nickname) |
265 { |
277 { |
266 chatWidget->setUser(nickname); |
278 chatWidget->setUser(nickname); |
267 } |
279 } |
|
280 |
|
281 void PageNetGame::setSettings(QSettings *settings) |
|
282 { |
|
283 m_gameSettings = settings; |
|
284 } |