Diffstat (limited to 'noncore/games/solitaire/canvascardwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/games/solitaire/canvascardwindow.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/noncore/games/solitaire/canvascardwindow.cpp b/noncore/games/solitaire/canvascardwindow.cpp index 4c365a5..e1c021e 100644 --- a/noncore/games/solitaire/canvascardwindow.cpp +++ b/noncore/games/solitaire/canvascardwindow.cpp | |||
@@ -18,12 +18,14 @@ | |||
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "canvascardwindow.h" | 21 | #include "canvascardwindow.h" |
22 | #include "patiencecardgame.h" | 22 | #include "patiencecardgame.h" |
23 | #include "freecellcardgame.h" | 23 | #include "freecellcardgame.h" |
24 | #include "chicanecardgame.h" | ||
25 | #include "harpcardgame.h" | ||
24 | 26 | ||
25 | #include <qpe/resource.h> | 27 | #include <qpe/resource.h> |
26 | 28 | ||
27 | #include <qmainwindow.h> | 29 | #include <qmainwindow.h> |
28 | #include <qpopupmenu.h> | 30 | #include <qpopupmenu.h> |
29 | #include <qstyle.h> | 31 | #include <qstyle.h> |
@@ -56,12 +58,14 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) | |||
56 | #ifdef _PATIENCE_USE_ACCELS_ | 58 | #ifdef _PATIENCE_USE_ACCELS_ |
57 | QPEMenuBar* menu = menuBar(); | 59 | QPEMenuBar* menu = menuBar(); |
58 | 60 | ||
59 | QPopupMenu* file = new QPopupMenu; | 61 | QPopupMenu* file = new QPopupMenu; |
60 | file->insertItem(tr("Patience"), this, SLOT(initPatience()), CTRL+Key_F); | 62 | file->insertItem(tr("Patience"), this, SLOT(initPatience()), CTRL+Key_F); |
61 | file->insertItem(tr("Freecell"), this, SLOT(initFreecell()), CTRL+Key_F); | 63 | file->insertItem(tr("Freecell"), this, SLOT(initFreecell()), CTRL+Key_F); |
64 | file->insertItem(tr("Chicane"), this, SLOT(initChicane()), CTRL+Key_F); | ||
65 | file->insertItem(tr("Harp"), this, SLOT(initHarp()), CTRL+Key_F); | ||
62 | menu->insertItem(tr("&Game"), file); | 66 | menu->insertItem(tr("&Game"), file); |
63 | 67 | ||
64 | menu->insertSeparator(); | 68 | menu->insertSeparator(); |
65 | 69 | ||
66 | settings = new QPopupMenu; | 70 | settings = new QPopupMenu; |
67 | settings->insertItem(tr("&Change Card Backs"), this, SLOT(changeCardBacks()), Key_F2); | 71 | settings->insertItem(tr("&Change Card Backs"), this, SLOT(changeCardBacks()), Key_F2); |
@@ -78,12 +82,14 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) | |||
78 | #else | 82 | #else |
79 | QMenuBar* menu = menuBar(); | 83 | QMenuBar* menu = menuBar(); |
80 | 84 | ||
81 | QPopupMenu* file = new QPopupMenu; | 85 | QPopupMenu* file = new QPopupMenu; |
82 | file->insertItem(tr("Patience"), this, SLOT(initPatience())); | 86 | file->insertItem(tr("Patience"), this, SLOT(initPatience())); |
83 | file->insertItem(tr("Freecell"), this, SLOT(initFreecell())); | 87 | file->insertItem(tr("Freecell"), this, SLOT(initFreecell())); |
88 | file->insertItem(tr("Chicane"), this, SLOT(initChicane())); | ||
89 | file->insertItem(tr("Harp"), this, SLOT(initHarp())); | ||
84 | menu->insertItem(tr("Play"), file); | 90 | menu->insertItem(tr("Play"), file); |
85 | 91 | ||
86 | menu->insertSeparator(); | 92 | menu->insertSeparator(); |
87 | 93 | ||
88 | settings = new QPopupMenu; | 94 | settings = new QPopupMenu; |
89 | settings->setCheckable(TRUE); | 95 | settings->setCheckable(TRUE); |
@@ -115,12 +121,28 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) | |||
115 | cardGame = new FreecellCardGame( &canvas, snapOn, this ); | 121 | cardGame = new FreecellCardGame( &canvas, snapOn, this ); |
116 | setCaption(tr("Freecell")); | 122 | setCaption(tr("Freecell")); |
117 | setCentralWidget(cardGame); | 123 | setCentralWidget(cardGame); |
118 | //cardGame->newGame(); // Until we know how to handle reading freecell config | 124 | //cardGame->newGame(); // Until we know how to handle reading freecell config |
119 | cardGame->readConfig( cfg ); | 125 | cardGame->readConfig( cfg ); |
120 | setCardBacks(); | 126 | setCardBacks(); |
127 | } else if ( gameType == 2 ) { | ||
128 | cardGame = new ChicaneCardGame( &canvas, snapOn, this ); | ||
129 | cardGame->setNumberToDraw(1); | ||
130 | setCaption(tr("Chicane")); | ||
131 | setCentralWidget(cardGame); | ||
132 | //cardGame->newGame(); // Until we know how to handle reading freecell config | ||
133 | cardGame->readConfig( cfg ); | ||
134 | setCardBacks(); | ||
135 | } else if ( gameType == 3 ) { | ||
136 | cardGame = new HarpCardGame( &canvas, snapOn, this ); | ||
137 | cardGame->setNumberToDraw(1); | ||
138 | setCaption(tr("Harp")); | ||
139 | setCentralWidget(cardGame); | ||
140 | //cardGame->newGame(); // Until we know how to handle reading freecell config | ||
141 | cardGame->readConfig( cfg ); | ||
142 | setCardBacks(); | ||
121 | } else { | 143 | } else { |
122 | // Probably there isn't a config file or it is broken | 144 | // Probably there isn't a config file or it is broken |
123 | // Start a new game | 145 | // Start a new game |
124 | initPatience(); | 146 | initPatience(); |
125 | } | 147 | } |
126 | 148 | ||
@@ -178,12 +200,43 @@ void CanvasCardWindow::initFreecell() | |||
178 | setCentralWidget(cardGame); | 200 | setCentralWidget(cardGame); |
179 | cardGame->newGame(); | 201 | cardGame->newGame(); |
180 | setCardBacks(); | 202 | setCardBacks(); |
181 | } | 203 | } |
182 | 204 | ||
183 | 205 | ||
206 | void CanvasCardWindow::initChicane() | ||
207 | { | ||
208 | // Create New Game | ||
209 | if ( cardGame ) { | ||
210 | delete cardGame; | ||
211 | } | ||
212 | cardGame = new ChicaneCardGame( &canvas, snapOn, this ); | ||
213 | cardGame->setNumberToDraw(1); | ||
214 | gameType = 2; | ||
215 | setCaption(tr("Chicane")); | ||
216 | setCentralWidget(cardGame); | ||
217 | cardGame->newGame(); | ||
218 | setCardBacks(); | ||
219 | } | ||
220 | |||
221 | void CanvasCardWindow::initHarp() | ||
222 | { | ||
223 | // Create New Game | ||
224 | if ( cardGame ) { | ||
225 | delete cardGame; | ||
226 | } | ||
227 | cardGame = new HarpCardGame( &canvas, snapOn, this ); | ||
228 | cardGame->setNumberToDraw(1); | ||
229 | gameType = 3; | ||
230 | setCaption(tr("Harp")); | ||
231 | setCentralWidget(cardGame); | ||
232 | cardGame->newGame(); | ||
233 | setCardBacks(); | ||
234 | } | ||
235 | |||
236 | |||
184 | void CanvasCardWindow::snapToggle() | 237 | void CanvasCardWindow::snapToggle() |
185 | { | 238 | { |
186 | snapOn = !snapOn; | 239 | snapOn = !snapOn; |
187 | settings->setItemChecked(snap_id, snapOn); | 240 | settings->setItemChecked(snap_id, snapOn); |
188 | cardGame->toggleSnap(); | 241 | cardGame->toggleSnap(); |
189 | } | 242 | } |