[prev in list] [next in list] [prev in thread] [next in thread] 

List:       atlantik-devel
Subject:    [atlantik-cvs] CVS: kdegames/atlantik/client atlantik.cpp, 1.166,
From:       kde () office ! kde ! org
Date:       2004-06-27 16:04:46
Message-ID: 40DEF01E.mailHG11MVIR () office ! kde ! org
[Download RAW message or body]

Update of /home/kde/kdegames/atlantik/client
In directory office:/tmp/cvs-serv539/client

Modified Files:
	atlantik.cpp atlantik.h main.h 
Log Message:
Backport from development tree:

Warn on intended close/quit, if user confirms, properly withdraw from game
first. Avoids that other players have to wait three minutes for the
reconnection timeout to expire.


Index: atlantik.cpp
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/atlantik.cpp,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -d -r1.166 -r1.167
--- atlantik.cpp	29 May 2004 12:08:58 -0000	1.166
+++ atlantik.cpp	27 Jun 2004 16:04:43 -0000	1.167
@@ -28,6 +28,7 @@
 #include <kcmdlineargs.h>
 #include <kconfig.h>
 #include <klocale.h>
+#include <kmessagebox.h>
 #include <knotifyclient.h>
 #include <knotifydialog.h>
 #include <kstatusbar.h>
@@ -803,3 +804,22 @@
 
 	return 0;
 }
+
+void Atlantik::closeEvent(QCloseEvent *e)
+{
+	Game *gameSelf = m_atlanticCore->gameSelf();
+	Player *playerSelf = m_atlanticCore->playerSelf();
+
+	int result = KMessageBox::Yes;
+	if ( gameSelf && !playerSelf->isBankrupt() )
+		result = KMessageBox::warningYesNo( this, i18n("You are currently part of an \
active game. Are you sure you want to close Atlantik? If you do, you forfeit the \
game."), i18n("Close and Forfeit?") ); +
+	if ( result == KMessageBox::Yes )
+	{
+		if ( m_atlantikNetwork )
+			m_atlantikNetwork->leaveGame();
+
+		saveMainWindowSettings(kapp->config(), "AtlantikMainWindow");
+		KMainWindow::closeEvent(e);
+	}
+}

Index: atlantik.h
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/atlantik.h,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- atlantik.h	23 Jun 2004 12:08:03 -0000	1.67
+++ atlantik.h	27 Jun 2004 16:04:43 -0000	1.68
@@ -223,6 +223,9 @@
 	void jailPay();
 	void jailRoll();
 
+protected:
+	void closeEvent(QCloseEvent *);
+
 private:
 	void initEventLog();
 	void initNetworkObject();

Index: main.h
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/main.h,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- main.h	22 Jun 2004 18:42:17 -0000	1.48
+++ main.h	27 Jun 2004 16:04:43 -0000	1.49
@@ -18,7 +18,7 @@
 #define ATLANTIK_MAIN_H
 
 #define	ATLANTIK_VERSION 070
-#define	ATLANTIK_VERSION_STRING "0.7.0 (CVS >= 20040622)"
+#define	ATLANTIK_VERSION_STRING "0.7.0 (CVS >= 20040627)"
 
 #define ATLANTIK_VERSION_MAJOR 0
 #define ATLANTIK_VERSION_MINOR 7

_______________________________________________
atlantik-cvs mailing list
atlantik-cvs@kde.org
https://mail.kde.org/mailman/listinfo/atlantik-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic