[atlantik-cvs] CVS: kdegames/atlantik/libatlantikui portfolioview.cpp, 1.56, 1.56.2.1 portfolioview.h, 1.26, 1.26.2.1

[email protected] Sat, 15 Nov 2003 14:36:07 +0100 (CET)
Newsgroups gmane.comp.kde.devel.atlantik
Message-ID <[email protected]>
Update of /home/kde/kdegames/atlantik/libatlantikui
In directory office:/tmp/cvs-serv18420/libatlantikui

Modified Files:
      Tag: atlantik_3_3_branch
	portfolioview.cpp portfolioview.h 
Log Message:
kickplayer support

Index: portfolioview.cpp
===================================================================
RCS file: /home/kde/kdegames/atlantik/libatlantikui/portfolioview.cpp,v
retrieving revision 1.56
retrieving revision 1.56.2.1
diff -u -d -r1.56 -r1.56.2.1
--- portfolioview.cpp	14 Jul 2003 04:07:34 -0000	1.56
+++ portfolioview.cpp	15 Nov 2003 13:36:03 -0000	1.56.2.1
@@ -236,13 +236,25 @@
 
 void PortfolioView::mousePressEvent(QMouseEvent *e)
 {
-	if (e->button()==RightButton && !m_player->isSelf() && portfolioEstateMap.size())
+	Player *playerSelf = m_atlanticCore->playerSelf();
+
+	if ( e->button()==RightButton && (m_player != playerSelf) )
 	{
 		KPopupMenu *rmbMenu = new KPopupMenu(this);
 		rmbMenu->insertTitle(m_player->name());
 
-		// Start trade
-		rmbMenu->insertItem(i18n("Request Trade with %1").arg(m_player->name()), 0);
+		if ( portfolioEstateMap.size() )
+		{
+			// Start trade
+			rmbMenu->insertItem(i18n("Request Trade with %1").arg(m_player->name()), 0);
+		}
+		else
+		{
+			// Kick player
+			rmbMenu->insertItem(i18n("Boot player %1 to lounge").arg(m_player->name()), 0);
+			if ( !playerSelf->master() )
+				rmbMenu->setItemEnabled(0, false);
+		}
 
 		connect(rmbMenu, SIGNAL(activated(int)), this, SLOT(slotMenuAction(int)));
 		QPoint g = QCursor::pos();
@@ -255,7 +267,10 @@
 	switch (item)
 	{
 	case 0:
-		emit newTrade(m_player);
+		if ( portfolioEstateMap.size() )
+			emit newTrade(m_player);
+		else
+			emit kickPlayer(m_player);
 		break;
 	}
 }

Index: portfolioview.h
===================================================================
RCS file: /home/kde/kdegames/atlantik/libatlantikui/portfolioview.h,v
retrieving revision 1.26
retrieving revision 1.26.2.1
diff -u -d -r1.26 -r1.26.2.1
--- portfolioview.h	23 Jun 2003 03:05:25 -0000	1.26
+++ portfolioview.h	15 Nov 2003 13:36:03 -0000	1.26.2.1
@@ -47,6 +47,7 @@
 
 signals:
 	void newTrade(Player *player);
+	void kickPlayer(Player *player);
 	void estateClicked(Estate *);
 
 private slots: