[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kmahjongg/qgraphic] /: Move GameView initialization to contructor.
From: Christian Krippendorf <Coding () Christian-Krippendorf ! de>
Date: 2013-01-03 17:37:21
Message-ID: 20130103173721.6A7E8A6091 () git ! kde ! org
[Download RAW message or body]
Git commit 2ba6450e213e1a8760acc3b62cd63b8f620efb71 by Christian Krippendorf.
Committed on 03/01/2013 at 18:34.
Pushed by krippendorf into branch 'qgraphic'.
Move GameView initialization to contructor.
M +31 -24 kmahjongg.cpp
M +2 -0 kmahjongg.h
http://commits.kde.org/kmahjongg/2ba6450e213e1a8760acc3b62cd63b8f620efb71
diff --git a/kmahjongg.cpp b/kmahjongg.cpp
index c52746e..0132748 100644
--- a/kmahjongg.cpp
+++ b/kmahjongg.cpp
@@ -93,9 +93,18 @@ KMahjongg::KMahjongg(QWidget *parent)
setMinimumSize(320, 320);
// init board widget
- // For new don't set a GameData object, as we don't got any board layout informations.
m_pGameScene = new GameScene();
+ // load the layout
+ loadLayout();
+
+ // init game data
+ m_pGameData = new GameData(m_pBoardLayout->board());
+
+ // init view and add to window
+ m_pGameView = new GameView(m_pGameScene, m_pGameData, this);
+ setCentralWidget(m_pGameView);
+
// Initialize boardEditor
boardEditor = new Editor();
boardEditor->setModal(false);
@@ -109,11 +118,20 @@ KMahjongg::KMahjongg(QWidget *parent)
gameTimer = new KGameClock(this);
connect(gameTimer, SIGNAL(timeChanged(QString)), this, SLOT(displayTime(QString)));
+ connect(m_pGameView, SIGNAL(statusTextChanged(QString, long)),
+ SLOT(showStatusText(QString, long)));
+ connect(m_pGameView, SIGNAL(itemNumberChanged(int, int, int)),
+ SLOT(showItemNumber(int, int, int)));
+ connect(m_pGameView, SIGNAL(gameOver(unsigned short, unsigned short)), this,
+ SLOT(gameOver(unsigned short, unsigned short)));
+
mFinished = false;
bDemoModeActive = false;
loadSettings();
+
+ startNewGame();
}
KMahjongg::~KMahjongg()
@@ -254,35 +272,24 @@ void KMahjongg::showSettings()
dialog->show();
}
+void KMahjongg::loadLayout()
+{
+ if (!m_pBoardLayout->load(Prefs::layout())) {
+ kDebug() << "Error loading the layout. Try to load the default layout.";
+
+ m_pBoardLayout->loadDefault();
+ }
+}
+
void KMahjongg::loadSettings()
{
// Just load the new layout, if it is not already set.
if (m_pBoardLayout->path() != Prefs::layout()) {
- if (!m_pBoardLayout->load(Prefs::layout())) {
- kDebug() << "Error loading the layout. Try to load the default layout.";
+ loadLayout();
- m_pBoardLayout->loadDefault();
- }
-
- GameData *pGameDataOld = m_pGameData;
+ delete m_pGameData;
m_pGameData = new GameData(m_pBoardLayout->board());
-
- if (m_pGameView == NULL) {
- m_pGameView = new GameView(m_pGameScene, m_pGameData, this);
-
- connect(m_pGameView, SIGNAL(statusTextChanged(QString, long)),
- SLOT(showStatusText(QString, long)));
- connect(m_pGameView, SIGNAL(itemNumberChanged(int, int, int)),
- SLOT(showItemNumber(int, int, int)));
- connect(m_pGameView, SIGNAL(gameOver(unsigned short, unsigned short)), this,
- SLOT(gameOver(unsigned short, unsigned short)));
-
- setCentralWidget(m_pGameView);
- } else {
- m_pGameView->setGameData(m_pGameData);
- }
-
- delete pGameDataOld;
+ m_pGameView->setGameData(m_pGameData);
startNewGame();
}
diff --git a/kmahjongg.h b/kmahjongg.h
index 740add3..fb2879d 100644
--- a/kmahjongg.h
+++ b/kmahjongg.h
@@ -132,6 +132,8 @@ private slots:
void slotBoardEditor();
private:
+ void loadLayout();
+
unsigned long gameElapsedTime;
bool bDemoModeActive;
bool mFinished;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic