[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegames/kbattleship/src
From: Paolo Capriotti <paolo.capriotti () GMAIL ! COM>
Date: 2007-06-21 15:30:26
Message-ID: 1182439826.568125.15761.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 678510 by capriotti:
Added support for a global centered welcome screen.
It looks ugly, though, so it's disabled for now.
M +5 -1 playfield.cpp
M +33 -2 seaview.cpp
M +2 -0 seaview.h
M +1 -1 simplemenu.cpp
--- trunk/KDE/kdegames/kbattleship/src/playfield.cpp #678509:678510
@@ -73,6 +73,10 @@
void PlayField::setupController()
{
+ // remove welcome screen
+ m_sea->screen(Sea::Player(0))->fadeOut();
+ m_sea->screen(Sea::Player(1))->fadeOut();
+
delete m_controller;
m_controller = new GeneralController(this, m_player);
connect(m_controller, SIGNAL(gameOver(Sea::Player)),
@@ -96,7 +100,7 @@
m_chat->hide();
m_sea->screen(Sea::Player(0))->show();
-// m_sea->screen(Sea::Player(1))->show();
+ m_sea->screen(Sea::Player(1))->show();
m_menu = new SimpleMenu(this, m_sea->screen(Sea::Player(0)));
connect(m_menu, SIGNAL(done()), this, SLOT(setupController()));
--- trunk/KDE/kdegames/kbattleship/src/seaview.cpp #678509:678510
@@ -34,11 +34,17 @@
m_renderer = new KBSRenderer(KStandardDirs::locate("appdata", "pictures/default_theme.svgz"));
m_renderer->resize(tileSize());
+ // create screen
+ m_screen = new WelcomeScreen(this, font());
+ m_screen->hide();
+
// create fields
m_fields[0] = new BattleFieldView(this, m_renderer, "background", GRID_SIZE);
+ m_fields[0]->stackUnder(m_screen);
m_fields[0]->show();
connect(m_fields[0]->screen(), SIGNAL(clicked(Button*)), this, SLOT(buttonClicked(Button*)));
m_fields[1] = new BattleFieldView(this, m_renderer, "background2", GRID_SIZE);
+ m_fields[1]->stackUnder(m_screen);
m_fields[1]->show();
connect(m_fields[1]->screen(), SIGNAL(clicked(Button*)), this, SLOT(buttonClicked(Button*)));
@@ -71,6 +77,10 @@
m_fields[1]->moveTo(m_fields[0]->size().width() + ts, 0);
m_fields[1]->update();
+ m_screen->moveTo(0, 0);
+ m_screen->resize(QSize(m_fields[1]->pos().x() + m_fields[1]->size().width(),
+ m_fields[0]->size().height()));
+
// m_labels[0]->resize(QSize(m_fields[0]->size().width(), LABEL_HEIGHT));
// m_labels[0]->moveTo(m_fields[0]->pos().x(), m_fields[0]->size().height() + 10);
// m_labels[1]->resize(QSize(m_fields[1]->size().width(), LABEL_HEIGHT));
@@ -100,6 +110,10 @@
void SeaView::mousePressEvent(QMouseEvent* e)
{
+ if (m_screen->active()) {
+ m_screen->onMousePress(e->pos());
+ }
+
int f = fieldAt(e->pos());
if (f == -1) {
return;
@@ -124,6 +138,10 @@
void SeaView::mouseReleaseEvent(QMouseEvent* e)
{
+ if (m_screen->active()) {
+ m_screen->onMouseRelease(e->pos());
+ }
+
int f = fieldAt(e->pos());
if (f == -1) {
return;
@@ -138,6 +156,10 @@
void SeaView::leaveEvent(QEvent*)
{
+ if (m_screen->active()) {
+ m_screen->onMouseLeave();
+ }
+
if (m_last_f != -1) {
BattleFieldView* field = m_fields[m_last_f];
field->onMouseLeave();
@@ -148,6 +170,10 @@
void SeaView::mouseMoveEvent(QMouseEvent* e)
{
+ if (m_screen->active()) {
+ m_screen->onMouseMove(e->pos());
+ }
+
// send mouse move info to the welcome screen
int f = fieldAt(e->pos());
if (m_last_f != -1 && m_last_f != f) {
@@ -263,11 +289,16 @@
return QSize(100, 400);
}
-WelcomeScreen* SeaView::screen(Sea::Player p) const
+WelcomeScreen* SeaView::globalScreen() const
{
- return m_fields[p]->screen();
+ return m_screen;
}
+WelcomeScreen* SeaView::screen(Sea::Player player) const
+{
+ return m_fields[player]->screen();
+}
+
void SeaView::buttonClicked(Button* button)
{
Q_UNUSED( button );
--- trunk/KDE/kdegames/kbattleship/src/seaview.h #678509:678510
@@ -27,6 +27,7 @@
static const unsigned int GRID_SIZE = 10;
static const unsigned int LABEL_HEIGHT = 0;
+ WelcomeScreen* m_screen;
BattleFieldView* m_fields[2];
EntityLabel* m_labels[2];
@@ -52,6 +53,7 @@
void sink(Sea::Player p, const Coord& c, Ship* ship);
void clear();
+ WelcomeScreen* globalScreen() const;
WelcomeScreen* screen(Sea::Player player) const;
virtual QSize sizeHint() const;
--- trunk/KDE/kdegames/kbattleship/src/simplemenu.cpp #678509:678510
@@ -38,7 +38,7 @@
void SimpleMenu::finalize(State state)
{
m_state = state;
- m_screen->fadeOut();
+// m_screen->fadeOut();
emit done();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic