summaryrefslogtreecommitdiffstats
path: root/konquest/gameenddlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'konquest/gameenddlg.cpp')
-rw-r--r--konquest/gameenddlg.cpp76
1 files changed, 76 insertions, 0 deletions
diff --git a/konquest/gameenddlg.cpp b/konquest/gameenddlg.cpp
new file mode 100644
index 00000000..d999c375
--- /dev/null
+++ b/konquest/gameenddlg.cpp
@@ -0,0 +1,76 @@
+#include <tqlabel.h>
+#include <tqlayout.h>
+#include <tqslider.h>
+#include <tqvbox.h>
+
+#include <tdeapplication.h>
+#include <tdeconfig.h>
+#include <tdelocale.h>
+#include <kstdguiitem.h>
+
+#include "gameenddlg.h"
+#include "gameenddlg.moc"
+
+GameEndDlg::GameEndDlg( TQWidget *parent )
+ : KDialogBase( i18n("Out of Turns"),
+ KDialogBase::Yes|KDialogBase::No, KDialogBase::Yes, KDialogBase::No,
+ parent, "end_game_dialog", true, true )
+{
+ TQVBox *page = makeVBoxMainWidget();
+
+ // Create controls
+ TQLabel *label1 = new TQLabel( i18n("This is the last turn.\nDo you wish to add extra turns?")+"\n\n", page );
+ label1->setAlignment( AlignCenter );
+
+ turnCountLbl = new TQLabel( page );
+ turnCount = new TQSlider( 1, 40, 1, 5, Qt::Horizontal, page );
+
+ KGuiItem addTurns(i18n("&Add Turns"), TQString(), TQString(),
+ i18n("Add the specified number of turns to the game and continue playing."));
+ KGuiItem gameOver(i18n("&Game Over"), TQString(), TQString(),
+ i18n("Terminate the current game."));
+
+ setButtonGuiItem(KDialogBase::Yes, addTurns);
+ setButtonGuiItem(KDialogBase::No, gameOver);
+
+ init();
+
+ connect( turnCount, TQT_SIGNAL(valueChanged( int )), this, TQT_SLOT(turnCountChange( int )) );
+}
+
+GameEndDlg::~GameEndDlg()
+{
+}
+
+void
+GameEndDlg::init()
+{
+ TDEConfig *config = kapp->config();
+ config->setGroup("Game");
+ int turns = config->readNumEntry("ExtraTurns", 10);
+ turnCount->setValue(turns);
+ turnCountChange(turns);
+}
+
+void
+GameEndDlg::slotYes()
+{
+ TDEConfig *config = kapp->config();
+ config->setGroup("Game");
+ config->writeEntry("ExtraTurns", extraTurns());
+ config->sync();
+ KDialogBase::slotYes();
+}
+
+int
+GameEndDlg::extraTurns()
+{
+ return turnCount->value();
+}
+
+void
+GameEndDlg::turnCountChange( int newTurnCount )
+{
+ TQString newLbl = i18n("Extra turns: %1").arg( newTurnCount );
+ turnCountLbl->setText( newLbl);
+}