# HG changeset patch # User sheepluva # Date 1335368688 -7200 # Node ID c305d31642ac1f0faca6c314956c427e135d758f # Parent 9562ace1514116364dd3c3218460a6fc3b1a4d26 reimplement auto-kick for ignored players (it was temporarily removed during refactoring) diff -r 9562ace15141 -r c305d31642ac QTfrontend/ui/page/pagenetgame.cpp --- a/QTfrontend/ui/page/pagenetgame.cpp Wed Apr 25 08:23:48 2012 +0200 +++ b/QTfrontend/ui/page/pagenetgame.cpp Wed Apr 25 17:44:48 2012 +0200 @@ -40,6 +40,7 @@ pChatWidget = new HWChatWidget(this, m_gameSettings, true); pChatWidget->setShowReady(true); // show status bulbs by default pChatWidget->setShowFollow(false); // don't show follow in nicks' context menus + pChatWidget->setIgnoreListKick(true); // kick ignored players automatically pageLayout->addWidget(pChatWidget, 2, 0, 1, 2); pageLayout->setRowStretch(1, 100); pageLayout->setRowStretch(2, 100); diff -r 9562ace15141 -r c305d31642ac QTfrontend/ui/widget/chatwidget.cpp --- a/QTfrontend/ui/widget/chatwidget.cpp Wed Apr 25 08:23:48 2012 +0200 +++ b/QTfrontend/ui/widget/chatwidget.cpp Wed Apr 25 17:44:48 2012 +0200 @@ -247,6 +247,7 @@ this->notify = notify; m_isAdmin = false; + m_autoKickEnabled = false; if(gameSettings->value("frontend/sound", true).toBool()) { @@ -399,6 +400,11 @@ } } +void HWChatWidget::setIgnoreListKick(bool enabled) +{ + m_autoKickEnabled = enabled; +} + void HWChatWidget::loadList(QStringList & list, const QString & file) { list.clear(); @@ -636,6 +642,13 @@ void HWChatWidget::nickAdded(const QString & nick, bool notifyNick) { bool isIgnored = ignoreList.contains(nick, Qt::CaseInsensitive); + + if (isIgnored && m_isAdmin && m_autoKickEnabled) + { + emit kick(nick); + return; + } + QListWidgetItem * item = new ListWidgetNickItem(nick, friendsList.contains(nick, Qt::CaseInsensitive), isIgnored); updateNickItem(item); chatNicks->addItem(item); diff -r 9562ace15141 -r c305d31642ac QTfrontend/ui/widget/chatwidget.h --- a/QTfrontend/ui/widget/chatwidget.h Wed Apr 25 08:23:48 2012 +0200 +++ b/QTfrontend/ui/widget/chatwidget.h Wed Apr 25 17:44:48 2012 +0200 @@ -72,6 +72,7 @@ HWChatWidget(QWidget* parent, QSettings * gameSettings, bool notify); void loadLists(const QString & nick); void saveLists(const QString & nick); + void setIgnoreListKick(bool enabled); ///< automatically kick people on ignore list (if possible) void setShowReady(bool s); void setShowFollow(bool enabled); QStringList ignoreList, friendsList; @@ -143,6 +144,7 @@ QList m_highlights; ///< regular expressions used for highlighting bool notify; bool showReady; + bool m_autoKickEnabled; private slots: void returnPressed();