summaryrefslogtreecommitdiff
path: root/noncore/games/solitaire/canvascardwindow.cpp
authortille <tille>2002-06-28 14:56:10 (UTC)
committer tille <tille>2002-06-28 14:56:10 (UTC)
commitab413257c3a23f535e99f8f61468382c73bc4adb (patch) (side-by-side diff)
tree63834da1738157e52b67550d4e71058c6710f1ff /noncore/games/solitaire/canvascardwindow.cpp
parentd4626cc76127b7022c8555ea11afbb289714c851 (diff)
downloadopie-ab413257c3a23f535e99f8f61468382c73bc4adb.zip
opie-ab413257c3a23f535e99f8f61468382c73bc4adb.tar.gz
opie-ab413257c3a23f535e99f8f61468382c73bc4adb.tar.bz2
cmader <chris@mediakreativwerk.de> impl. 2 new games
Diffstat (limited to 'noncore/games/solitaire/canvascardwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/solitaire/canvascardwindow.cpp53
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
@@ -21,6 +21,8 @@
#include "canvascardwindow.h"
#include "patiencecardgame.h"
#include "freecellcardgame.h"
+#include "chicanecardgame.h"
+#include "harpcardgame.h"
#include <qpe/resource.h>
@@ -59,6 +61,8 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
QPopupMenu* file = new QPopupMenu;
file->insertItem(tr("Patience"), this, SLOT(initPatience()), CTRL+Key_F);
file->insertItem(tr("Freecell"), this, SLOT(initFreecell()), CTRL+Key_F);
+ file->insertItem(tr("Chicane"), this, SLOT(initChicane()), CTRL+Key_F);
+ file->insertItem(tr("Harp"), this, SLOT(initHarp()), CTRL+Key_F);
menu->insertItem(tr("&Game"), file);
menu->insertSeparator();
@@ -81,6 +85,8 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
QPopupMenu* file = new QPopupMenu;
file->insertItem(tr("Patience"), this, SLOT(initPatience()));
file->insertItem(tr("Freecell"), this, SLOT(initFreecell()));
+ file->insertItem(tr("Chicane"), this, SLOT(initChicane()));
+ file->insertItem(tr("Harp"), this, SLOT(initHarp()));
menu->insertItem(tr("Play"), file);
menu->insertSeparator();
@@ -118,6 +124,22 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
//cardGame->newGame(); // Until we know how to handle reading freecell config
cardGame->readConfig( cfg );
setCardBacks();
+ } else if ( gameType == 2 ) {
+ cardGame = new ChicaneCardGame( &canvas, snapOn, this );
+ cardGame->setNumberToDraw(1);
+ setCaption(tr("Chicane"));
+ setCentralWidget(cardGame);
+ //cardGame->newGame(); // Until we know how to handle reading freecell config
+ cardGame->readConfig( cfg );
+ setCardBacks();
+ } else if ( gameType == 3 ) {
+ cardGame = new HarpCardGame( &canvas, snapOn, this );
+ cardGame->setNumberToDraw(1);
+ setCaption(tr("Harp"));
+ setCentralWidget(cardGame);
+ //cardGame->newGame(); // Until we know how to handle reading freecell config
+ cardGame->readConfig( cfg );
+ setCardBacks();
} else {
// Probably there isn't a config file or it is broken
// Start a new game
@@ -181,6 +203,37 @@ void CanvasCardWindow::initFreecell()
}
+void CanvasCardWindow::initChicane()
+{
+ // Create New Game
+ if ( cardGame ) {
+ delete cardGame;
+ }
+ cardGame = new ChicaneCardGame( &canvas, snapOn, this );
+ cardGame->setNumberToDraw(1);
+ gameType = 2;
+ setCaption(tr("Chicane"));
+ setCentralWidget(cardGame);
+ cardGame->newGame();
+ setCardBacks();
+}
+
+void CanvasCardWindow::initHarp()
+{
+ // Create New Game
+ if ( cardGame ) {
+ delete cardGame;
+ }
+ cardGame = new HarpCardGame( &canvas, snapOn, this );
+ cardGame->setNumberToDraw(1);
+ gameType = 3;
+ setCaption(tr("Harp"));
+ setCentralWidget(cardGame);
+ cardGame->newGame();
+ setCardBacks();
+}
+
+
void CanvasCardWindow::snapToggle()
{
snapOn = !snapOn;