Autokick ignored players from game room on join. Needs testing.
authornemo
Sun, 27 Feb 2011 11:32:48 -0500
changeset 4958 84afe376a3b3
parent 4956 48e1f9a04c28
child 4963 59c2489afcbd
Autokick ignored players from game room on join. Needs testing.
QTfrontend/chatwidget.h
QTfrontend/gameuiconfig.h
QTfrontend/newnetclient.cpp
--- a/QTfrontend/chatwidget.h	Sat Feb 26 15:56:11 2011 +0100
+++ b/QTfrontend/chatwidget.h	Sun Feb 27 11:32:48 2011 -0500
@@ -61,6 +61,7 @@
   void setShowReady(bool s);
   void setShowFollow(bool enabled);
   static const char* STYLE;
+  QStringList ignoreList, friendsList;
 
 private:
   void loadList(QStringList & list, const QString & file);
@@ -90,7 +91,6 @@
   QGridLayout mainLayout;
   QTextBrowser* chatText;
   QStringList chatStrings;
-  QStringList ignoreList, friendsList;
   QListWidget* chatNicks;
   QLineEdit* chatEditLine;
   QAction * acInfo;
--- a/QTfrontend/gameuiconfig.h	Sat Feb 26 15:56:11 2011 +0100
+++ b/QTfrontend/gameuiconfig.h	Sun Feb 27 11:32:48 2011 -0500
@@ -31,6 +31,7 @@
     Q_OBJECT
 
 public:
+    HWForm * Form;
     GameUIConfig(HWForm * FormWidgets, const QString & fileName);
     QStringList GetTeamsList();
     QRect vid_Resolution();
@@ -67,7 +68,6 @@
     void SaveOptions();
 
 private:
-    HWForm * Form;
     quint8 depth;
 };
 
--- a/QTfrontend/newnetclient.cpp	Sat Feb 26 15:56:11 2011 +0100
+++ b/QTfrontend/newnetclient.cpp	Sun Feb 27 11:32:48 2011 -0500
@@ -29,6 +29,10 @@
 #include "gamecfgwidget.h"
 #include "teamselect.h"
 #include "misc.h"
+/* only to get the ignoreList from the chat widget */
+#include "hwform.h"
+#include "pages.h"
+#include "chatwidget.h"
 
 char delimeter='\n';
 
@@ -398,8 +402,15 @@
                 if (isChief)
                     emit configAsked();
             }
-            emit nickAdded(lst[i], isChief && (lst[i] != mynick));
-            emit chatStringFromNet(tr("%1 *** %2 has joined the room").arg('\x03').arg(lst[i]));
+            if (lst[i] != mynick && isChief && config->Form->ui.pageRoomsList->chatWidget->ignoreList.contains(lst[i], Qt::CaseInsensitive))
+            {
+                kickPlayer(lst[i]);
+            }
+            else
+            {
+                emit nickAdded(lst[i], isChief && (lst[i] != mynick));
+                emit chatStringFromNet(tr("%1 *** %2 has joined the room").arg('\x03').arg(lst[i]));
+            }
         }
         return;
     }