QTfrontend/ui/widget/chatwidget.cpp
changeset 6929 c305d31642ac
parent 6928 9562ace15141
child 6930 d187ea93fc4f
equal deleted inserted replaced
6928:9562ace15141 6929:c305d31642ac
   245 {
   245 {
   246     this->gameSettings = gameSettings;
   246     this->gameSettings = gameSettings;
   247     this->notify = notify;
   247     this->notify = notify;
   248 
   248 
   249     m_isAdmin = false;
   249     m_isAdmin = false;
       
   250     m_autoKickEnabled = false;
   250 
   251 
   251     if(gameSettings->value("frontend/sound", true).toBool())
   252     if(gameSettings->value("frontend/sound", true).toBool())
   252     {
   253     {
   253         QStringList vpList =
   254         QStringList vpList =
   254              QStringList() << "Classic" << "Default" << "Mobster" << "Russian";
   255              QStringList() << "Classic" << "Default" << "Mobster" << "Russian";
   397         if (chatNicks->actions().contains(acFollow))
   398         if (chatNicks->actions().contains(acFollow))
   398             chatNicks->removeAction(acFollow);
   399             chatNicks->removeAction(acFollow);
   399     }
   400     }
   400 }
   401 }
   401 
   402 
       
   403 void HWChatWidget::setIgnoreListKick(bool enabled)
       
   404 {
       
   405     m_autoKickEnabled = enabled;
       
   406 }
       
   407 
   402 void HWChatWidget::loadList(QStringList & list, const QString & file)
   408 void HWChatWidget::loadList(QStringList & list, const QString & file)
   403 {
   409 {
   404     list.clear();
   410     list.clear();
   405     QFile txt(cfgdir->absolutePath() + "/" + file);
   411     QFile txt(cfgdir->absolutePath() + "/" + file);
   406     if(!txt.open(QIODevice::ReadOnly))
   412     if(!txt.open(QIODevice::ReadOnly))
   634 }
   640 }
   635 
   641 
   636 void HWChatWidget::nickAdded(const QString & nick, bool notifyNick)
   642 void HWChatWidget::nickAdded(const QString & nick, bool notifyNick)
   637 {
   643 {
   638     bool isIgnored = ignoreList.contains(nick, Qt::CaseInsensitive);
   644     bool isIgnored = ignoreList.contains(nick, Qt::CaseInsensitive);
       
   645 
       
   646     if (isIgnored && m_isAdmin && m_autoKickEnabled)
       
   647     {
       
   648         emit kick(nick);
       
   649         return;
       
   650     }
       
   651 
   639     QListWidgetItem * item = new ListWidgetNickItem(nick, friendsList.contains(nick, Qt::CaseInsensitive), isIgnored);
   652     QListWidgetItem * item = new ListWidgetNickItem(nick, friendsList.contains(nick, Qt::CaseInsensitive), isIgnored);
   640     updateNickItem(item);
   653     updateNickItem(item);
   641     chatNicks->addItem(item);
   654     chatNicks->addItem(item);
   642 
   655 
   643     if ((!isIgnored) && (nick != m_userNick)) // don't auto-complete own name
   656     if ((!isIgnored) && (nick != m_userNick)) // don't auto-complete own name