author | llornkcor <llornkcor> | 2002-10-26 21:48:55 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-10-26 21:48:55 (UTC) |
commit | 995821ed8070504d482212b27d9f616a4eb07a3f (patch) (side-by-side diff) | |
tree | cb3ebda16107248544d4153743aacd73d2f81c19 | |
parent | ff2c581b50252714fb4621d088cbf0961ed23f2b (diff) | |
download | opie-995821ed8070504d482212b27d9f616a4eb07a3f.zip opie-995821ed8070504d482212b27d9f616a4eb07a3f.tar.gz opie-995821ed8070504d482212b27d9f616a4eb07a3f.tar.bz2 |
now remembers how many cards to turn
-rw-r--r-- | noncore/games/solitaire/canvascardwindow.cpp | 16 | ||||
-rw-r--r-- | noncore/games/solitaire/opie-solitaire.control | 0 |
2 files changed, 13 insertions, 3 deletions
diff --git a/noncore/games/solitaire/canvascardwindow.cpp b/noncore/games/solitaire/canvascardwindow.cpp index 450b4db..e836eb2 100644 --- a/noncore/games/solitaire/canvascardwindow.cpp +++ b/noncore/games/solitaire/canvascardwindow.cpp @@ -93,38 +93,41 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) menu->insertItem(tr("Play"), file); menu->insertSeparator(); settings = new QPopupMenu; settings->setCheckable(TRUE); settings->insertItem(tr("Change Card Backs"), this, SLOT(changeCardBacks())); snap_id = settings->insertItem(tr("Snap To Position"), this, SLOT(snapToggle())); QString m; drawId = settings->insertItem(tr("Turn One Card"), this, SLOT(drawnToggle())); menu->insertItem(tr("Settings"),settings); + settings->setCheckable(TRUE); #endif menu->show(); Config cfg( "Patience" ); cfg.setGroup( "GlobalSettings" ); snapOn = cfg.readBoolEntry( "SnapOn", TRUE); settings->setItemChecked(snap_id, snapOn); + gameType = cfg.readNumEntry( "GameType", -1 ); - drawThree = cfg.readBoolEntry( "DrawThree", TRUE); + drawThree = cfg.readBoolEntry( "DrawThree", FALSE); if ( gameType == 0 ) { cardGame = new PatienceCardGame( &canvas, snapOn, this ); cardGame->setNumberToDraw(drawThree ? 3 : 1); + setCaption(tr("Patience")); setCentralWidget(cardGame); cardGame->readConfig( cfg ); setCardBacks(); } else if ( gameType == 1 ) { cardGame = new FreecellCardGame( &canvas, snapOn, this ); setCaption(tr("Freecell")); setCentralWidget(cardGame); //cardGame->newGame(); // Until we know how to handle reading freecell config cardGame->readConfig( cfg ); setCardBacks(); } else if ( gameType == 2 ) { @@ -157,24 +160,25 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) updateDraw(); } CanvasCardWindow::~CanvasCardWindow() { if (cardGame) { Config cfg("Patience"); cfg.setGroup( "GlobalSettings" ); cfg.writeEntry( "GameType", gameType ); cfg.writeEntry( "SnapOn", snapOn ); cfg.writeEntry( "DrawThree", drawThree); + cfg.write(); cardGame->writeConfig( cfg ); delete cardGame; } } void CanvasCardWindow::resizeEvent(QResizeEvent *) { QSize s = centralWidget()->size(); int fw = style().defaultFrameWidth(); canvas.resize( s.width() - fw - 2, s.height() - fw - 2); } @@ -259,34 +263,40 @@ void CanvasCardWindow::initTeeclub() void CanvasCardWindow::snapToggle() { snapOn = !snapOn; settings->setItemChecked(snap_id, snapOn); cardGame->toggleSnap(); } void CanvasCardWindow::drawnToggle() { + drawThree=!drawThree; + Config cfg( "Patience" ); + cfg.setGroup( "GlobalSettings" ); cardGame->toggleCardsDrawn(); updateDraw(); + cfg.writeEntry( "DrawThree", drawThree); + cfg.write(); } void CanvasCardWindow::updateDraw() { - if(cardGame->cardsDrawn() == 3) + if(cardGame->cardsDrawn() == 3){ settings->changeItem(drawId, tr("Turn One Card")); - else + } else { settings->changeItem(drawId, tr("Turn Three Cards")); } +} void CanvasCardWindow::setCardBacks() { QCanvasItemList l = canvas.allItems(); for (QCanvasItemList::Iterator it = l.begin(); it != l.end(); ++it) { if ( (*it)->rtti() == canvasCardId ) ((CanvasCard *)(*it))->setCardBack( cardBack ); } } diff --git a/noncore/games/solitaire/opie-solitaire.control b/noncore/games/solitaire/opie-solitaire.control index f70fefa..4389360 100644 --- a/noncore/games/solitaire/opie-solitaire.control +++ b/noncore/games/solitaire/opie-solitaire.control |