summaryrefslogtreecommitdiffstats
path: root/konquest/mainwin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'konquest/mainwin.cpp')
-rw-r--r--konquest/mainwin.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/konquest/mainwin.cpp b/konquest/mainwin.cpp
new file mode 100644
index 00000000..3ec192d7
--- /dev/null
+++ b/konquest/mainwin.cpp
@@ -0,0 +1,77 @@
+#include <config.h>
+
+#include <tqpushbutton.h>
+
+#include <tdeapplication.h>
+#include <tdelocale.h>
+#include <tdeglobal.h>
+#include <tdemenubar.h>
+#include <tdetoolbar.h>
+#include <kiconloader.h>
+#include <tdeaction.h>
+#include <kstdaction.h>
+#include <kstdgameaction.h>
+
+#include "version.h"
+#include "gamecore.h"
+#include "mainwin.h"
+#include "mainwin.moc"
+#include "gameboard.h"
+
+// KonquestMainWindow
+
+
+MainWindow::MainWindow()
+{
+ setCaption( i18n("Galactic Conquest") );
+
+ setupGameBoard();
+ setupTDEAction();
+ setupGUI();
+}
+
+MainWindow::~MainWindow()
+{
+}
+
+void
+MainWindow::setupTDEAction()
+{
+ KStdGameAction::gameNew( gameBoard, TQ_SLOT( startNewGame() ), actionCollection() );
+ KStdGameAction::quit( this, TQ_SLOT( close() ), actionCollection() );
+ endAction = KStdGameAction::end( gameBoard, TQ_SLOT( shutdownGame() ), actionCollection() );
+ endAction->setEnabled(false);
+
+ //AB: there is no icon for disabled - TDEToolBar::insertButton shows the
+ //different state - TDEAction not :-(
+ measureAction = new TDEAction( i18n("&Measure Distance"), "ruler", 0, gameBoard, TQ_SLOT( measureDistance() ), actionCollection(), "game_measure" );
+ measureAction->setEnabled(false);
+ standingAction = new TDEAction( i18n("&Show Standings"), "help", 0, gameBoard, TQ_SLOT( showScores() ), actionCollection(), "game_scores" );
+ standingAction->setEnabled(false);
+ fleetAction = new TDEAction( i18n("&Fleet Overview"), "launch", 0, gameBoard, TQ_SLOT( showFleets() ), actionCollection(), "game_fleets" );
+ fleetAction->setEnabled(false);
+ toolBar()->setBarPos( TDEToolBar::Left );
+ toolBar()->setMovingEnabled( false );
+}
+
+void
+MainWindow::setupGameBoard()
+{
+ gameBoard = new GameBoard( this );
+ setCentralWidget(gameBoard);
+
+ connect( gameBoard, TQ_SIGNAL( newGameState( GameState )), this, TQ_SLOT( gameStateChange( GameState ) ) );
+}
+
+
+void
+MainWindow::gameStateChange( GameState newState )
+{
+ endAction->setEnabled( gameBoard->isGameInProgress() );
+ measureAction->setEnabled( newState==SOURCE_PLANET );
+ standingAction->setEnabled( newState==SOURCE_PLANET );
+ fleetAction->setEnabled( newState==SOURCE_PLANET );
+}
+
+
+