summaryrefslogtreecommitdiff
path: root/noncore/games/solitaire/canvascardwindow.cpp
Unidiff
Diffstat (limited to 'noncore/games/solitaire/canvascardwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/solitaire/canvascardwindow.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/noncore/games/solitaire/canvascardwindow.cpp b/noncore/games/solitaire/canvascardwindow.cpp
index dec5591..c12344a 100644
--- a/noncore/games/solitaire/canvascardwindow.cpp
+++ b/noncore/games/solitaire/canvascardwindow.cpp
@@ -28,79 +28,80 @@
28#include <qpe/resource.h> 28#include <qpe/resource.h>
29 29
30#include <qmainwindow.h> 30#include <qmainwindow.h>
31#include <qpopupmenu.h> 31#include <qpopupmenu.h>
32#include <qstyle.h> 32#include <qstyle.h>
33 33
34 34
35CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) : 35CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) :
36 QMainWindow(parent, name, f), canvas(230, 260), snapOn(TRUE), cardBack(4), gameType(0), 36 QMainWindow(parent, name, f), canvas(230, 260), snapOn(TRUE), cardBack(4), gameType(0),
37 cardGame(NULL) 37 cardGame(NULL)
38{ 38{
39 setIcon( Resource::loadPixmap( "cards" ) ); 39 setIcon( Resource::loadPixmap( "cards" ) );
40 setCaption(tr("Patience"));
40 41
41 // Create Playing Area for Games 42 // Create Playing Area for Games
42 if ( QPixmap::defaultDepth() < 12 ) { 43 if ( QPixmap::defaultDepth() < 12 ) {
43// canvas.setBackgroundColor(QColor(0x51, 0x74, 0x6B)); 44// canvas.setBackgroundColor(QColor(0x51, 0x74, 0x6B));
44// canvas.setBackgroundColor(QColor(0x20, 0xb0, 0x50)); 45// canvas.setBackgroundColor(QColor(0x20, 0xb0, 0x50));
45 canvas.setBackgroundColor(QColor(0x08, 0x98, 0x2D)); 46 canvas.setBackgroundColor(QColor(0x08, 0x98, 0x2D));
46 } else { 47 } else {
47 QPixmap bg; 48 QPixmap bg;
48 bg.convertFromImage( Resource::loadImage( "table_pattern" ), ThresholdDither ); 49 bg.convertFromImage( Resource::loadImage( "table_pattern" ), ThresholdDither );
49 canvas.setBackgroundPixmap(bg); 50 canvas.setBackgroundPixmap(bg);
50 } 51 }
51 52
52#if defined( QT_QWS_CASSIOPEIA ) 53#if defined( QT_QWS_CASSIOPEIA )
53 canvas.setAdvancePeriod(70); 54 canvas.setAdvancePeriod(70);
54#else 55#else
55 canvas.setAdvancePeriod(30); 56 canvas.setAdvancePeriod(30);
56#endif 57#endif
57 58
58 59
59#ifdef _PATIENCE_USE_ACCELS_ 60#ifdef _PATIENCE_USE_ACCELS_
60 QMenuBar* menu = menuBar(); 61 QMenuBar* menu = menuBar();
61 62
62 QPopupMenu* file = new QPopupMenu; 63 QPopupMenu* file = new QPopupMenu;
63 file->insertItem(tr("Patience"), this, SLOT(initPatience()), CTRL+Key_F); 64 file->insertItem(tr("Patience"), this, SLOT(initPatience()), CTRL+Key_F);
64 file->insertItem(tr("Freecell"), this, SLOT(initFreecell()), CTRL+Key_F); 65 file->insertItem(tr("Freecell"), this, SLOT(initFreecell()), CTRL+Key_F);
65 file->insertItem(tr("Chicane"), this, SLOT(initChicane()), CTRL+Key_F); 66 file->insertItem(tr("Chicane"), this, SLOT(initChicane()), CTRL+Key_F);
66 file->insertItem(tr("Harp"), this, SLOT(initHarp()), CTRL+Key_F); 67 file->insertItem(tr("Harp"), this, SLOT(initHarp()), CTRL+Key_F);
67 file->insertItem(tr("Teeclub"), this, SLOT(initTeeclub()), CTRL+Key_F); 68 file->insertItem(tr("Teeclub"), this, SLOT(initTeeclub()), CTRL+Key_F);
68 menu->insertItem(tr("&Game"), file); 69 menu->insertItem(tr("&Game"), file);
69 70
70 menu->insertSeparator(); 71 menu->insertSeparator();
71 72
72 settings = new QPopupMenu; 73 settings = new QPopupMenu;
73 settings->insertItem(tr("&Change card backs"), this, SLOT(changeCardBacks()), Key_F2); 74 settings->insertItem(tr("&Change card backs"), this, SLOT(changeCardBacks()), Key_F2);
74 snap_id = settings->insertItem(tr("&Snap to position"), this, SLOT(snapToggle()), Key_F3); 75 snap_id = settings->insertItem(tr("&Snap to position"), this, SLOT(snapToggle()), Key_F3);
75 settings->setCheckable(TRUE); 76 settings->setCheckable(TRUE);
76 menu->insertItem(tr("&Settings"),settings); 77 menu->insertItem(tr("&Settings"),settings);
77 78
78 menu->insertSeparator(); 79 menu->insertSeparator();
79 80
80 QPopupMenu* help = new QPopupMenu; 81 QPopupMenu* help = new QPopupMenu;
81 help->insertItem(tr("&About"), this, SLOT(help()), Key_F1); 82 help->insertItem(tr("&About"), this, SLOT(help()), Key_F1);
82 help->setItemChecked(dbf_id, TRUE); 83 help->setItemChecked(dbf_id, TRUE);
83 menu->insertItem(tr("&Help"),help); 84 menu->insertItem(tr("&Help"),help);
84#else 85#else
85 QMenuBar* menu = menuBar(); 86 QMenuBar* menu = menuBar();
86 87
87 QPopupMenu* file = new QPopupMenu; 88 QPopupMenu* file = new QPopupMenu;
88 file->insertItem(tr("Patience"), this, SLOT(initPatience())); 89 file->insertItem(tr("Patience"), this, SLOT(initPatience()));
89 file->insertItem(tr("Freecell"), this, SLOT(initFreecell())); 90 file->insertItem(tr("Freecell"), this, SLOT(initFreecell()));
90 file->insertItem(tr("Chicane"), this, SLOT(initChicane())); 91 file->insertItem(tr("Chicane"), this, SLOT(initChicane()));
91 file->insertItem(tr("Harp"), this, SLOT(initHarp())); 92 file->insertItem(tr("Harp"), this, SLOT(initHarp()));
92 file->insertItem(tr("Teeclub"), this, SLOT(initTeeclub())); 93 file->insertItem(tr("Teeclub"), this, SLOT(initTeeclub()));
93 menu->insertItem(tr("Play"), file); 94 menu->insertItem(tr("Play"), file);
94 95
95 menu->insertSeparator(); 96 menu->insertSeparator();
96 97
97 settings = new QPopupMenu; 98 settings = new QPopupMenu;
98 settings->setCheckable(TRUE); 99 settings->setCheckable(TRUE);
99 settings->insertItem(tr("Change card backs"), this, SLOT(changeCardBacks())); 100 settings->insertItem(tr("Change card backs"), this, SLOT(changeCardBacks()));
100 snap_id = settings->insertItem(tr("Snap to position"), this, SLOT(snapToggle())); 101 snap_id = settings->insertItem(tr("Snap to position"), this, SLOT(snapToggle()));
101 QString m; 102 QString m;
102 103
103 drawId = settings->insertItem(tr("Turn one card"), this, SLOT(drawnToggle())); 104 drawId = settings->insertItem(tr("Turn one card"), this, SLOT(drawnToggle()));
104 menu->insertItem(tr("Settings"),settings); 105 menu->insertItem(tr("Settings"),settings);
105 settings->setCheckable(TRUE); 106 settings->setCheckable(TRUE);
106 107
@@ -109,25 +110,25 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f)
109 menu->show(); 110 menu->show();
110 111
111 Config cfg( "Patience" ); 112 Config cfg( "Patience" );
112 cfg.setGroup( "GlobalSettings" ); 113 cfg.setGroup( "GlobalSettings" );
113 snapOn = cfg.readBoolEntry( "SnapOn", TRUE); 114 snapOn = cfg.readBoolEntry( "SnapOn", TRUE);
114 settings->setItemChecked(snap_id, snapOn); 115 settings->setItemChecked(snap_id, snapOn);
115 116
116 gameType = cfg.readNumEntry( "GameType", -1 ); 117 gameType = cfg.readNumEntry( "GameType", -1 );
117 drawThree = cfg.readBoolEntry( "DrawThree", FALSE); 118 drawThree = cfg.readBoolEntry( "DrawThree", FALSE);
118 if ( gameType == 0 ) { 119 if ( gameType == 0 ) {
119 cardGame = new PatienceCardGame( &canvas, snapOn, this ); 120 cardGame = new PatienceCardGame( &canvas, snapOn, this );
120 cardGame->setNumberToDraw(drawThree ? 3 : 1); 121 cardGame->setNumberToDraw(drawThree ? 3 : 1);
121 122
122 setCaption(tr("Patience")); 123 setCaption(tr("Patience"));
123 setCentralWidget(cardGame); 124 setCentralWidget(cardGame);
124 cardGame->readConfig( cfg ); 125 cardGame->readConfig( cfg );
125 setCardBacks(); 126 setCardBacks();
126 } else if ( gameType == 1 ) { 127 } else if ( gameType == 1 ) {
127 cardGame = new FreecellCardGame( &canvas, snapOn, this ); 128 cardGame = new FreecellCardGame( &canvas, snapOn, this );
128 setCaption(tr("Freecell")); 129 setCaption(tr("Freecell"));
129 setCentralWidget(cardGame); 130 setCentralWidget(cardGame);
130 //cardGame->newGame(); // Until we know how to handle reading freecell config 131 //cardGame->newGame(); // Until we know how to handle reading freecell config
131 cardGame->readConfig( cfg ); 132 cardGame->readConfig( cfg );
132 setCardBacks(); 133 setCardBacks();
133 } else if ( gameType == 2 ) { 134 } else if ( gameType == 2 ) {
@@ -177,25 +178,25 @@ CanvasCardWindow::~CanvasCardWindow()
177 178
178 179
179void CanvasCardWindow::resizeEvent(QResizeEvent *) 180void CanvasCardWindow::resizeEvent(QResizeEvent *)
180{ 181{
181 QSize s = centralWidget()->size(); 182 QSize s = centralWidget()->size();
182 int fw = style().defaultFrameWidth(); 183 int fw = style().defaultFrameWidth();
183 canvas.resize( s.width() - fw - 2, s.height() - fw - 2); 184 canvas.resize( s.width() - fw - 2, s.height() - fw - 2);
184} 185}
185 186
186 187
187void CanvasCardWindow::initPatience() 188void CanvasCardWindow::initPatience()
188{ 189{
189 // Create New Game 190 // Create New Game
190 if ( cardGame ) 191 if ( cardGame )
191 delete cardGame; 192 delete cardGame;
192 cardGame = new PatienceCardGame( &canvas, snapOn, this ); 193 cardGame = new PatienceCardGame( &canvas, snapOn, this );
193 cardGame->setNumberToDraw(drawThree ? 3 : 1); 194 cardGame->setNumberToDraw(drawThree ? 3 : 1);
194 gameType = 0; 195 gameType = 0;
195 setCaption(tr("Patience")); 196 setCaption(tr("Patience"));
196 setCentralWidget(cardGame); 197 setCentralWidget(cardGame);
197 cardGame->newGame(); 198 cardGame->newGame();
198 setCardBacks(); 199 setCardBacks();
199 updateDraw(); 200 updateDraw();
200} 201}
201 202
@@ -244,31 +245,31 @@ void CanvasCardWindow::initHarp()
244 cardGame->newGame(); 245 cardGame->newGame();
245 setCardBacks(); 246 setCardBacks();
246} 247}
247 248
248 249
249void CanvasCardWindow::initTeeclub() 250void CanvasCardWindow::initTeeclub()
250{ 251{
251 // Create New Game 252 // Create New Game
252 if ( cardGame ) { 253 if ( cardGame ) {
253 delete cardGame; 254 delete cardGame;
254 } 255 }
255 cardGame = new TeeclubCardGame( &canvas, snapOn, this ); 256 cardGame = new TeeclubCardGame( &canvas, snapOn, this );
256 cardGame->setNumberToDraw(1); 257 cardGame->setNumberToDraw(1);
257 gameType = 4; 258 gameType = 4;
258 setCaption(tr("Teeclub")); 259 setCaption(tr("Teeclub"));
259 setCentralWidget(cardGame); 260 setCentralWidget(cardGame);
260 cardGame->newGame(); 261 cardGame->newGame();
261 setCardBacks(); 262 setCardBacks();
262} 263}
263 264
264 265
265void CanvasCardWindow::snapToggle() 266void CanvasCardWindow::snapToggle()
266{ 267{
267 snapOn = !snapOn; 268 snapOn = !snapOn;
268 settings->setItemChecked(snap_id, snapOn); 269 settings->setItemChecked(snap_id, snapOn);
269 cardGame->toggleSnap(); 270 cardGame->toggleSnap();
270} 271}
271 272
272 273
273void CanvasCardWindow::drawnToggle() 274void CanvasCardWindow::drawnToggle()
274{ 275{