[Konversation-devel] [Bug 113327] Channel modes not reset when disconnected

Eli MacKenzie argonel at sympatico.ca
Wed Jan 11 05:49:30 CET 2006


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=113327         
argonel sympatico ca changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From argonel sympatico ca  2006-01-11 05:49 -------
SVN commit 496715 by argonel:

clear modes on rejoin

BUG:113327


 M  +30 -0     channel.cpp  
 M  +1 -0      channel.h  
 M  +3 -0      inputfilter.cpp  


--- trunk/extragear/network/konversation/src/channel.cpp #496714:496715
 @ -1671,6 +1671,36  @
     updateModeWidgets(mode,plus,parameter);
 }
 
+void Channel::clearModeList()
+{
+    m_modeList.clear();
+    modeT->setOn(0);
+    modeT->setDown(0);
+
+    modeN->setOn(0);
+    modeN->setDown(0);
+
+    modeS->setOn(0);
+    modeS->setDown(0);
+
+    modeI->setOn(0);
+    modeI->setDown(0);
+
+    modeP->setOn(0);
+    modeP->setDown(0);
+
+    modeM->setOn(0);
+    modeM->setDown(0);
+
+    modeK->setOn(0);
+    modeK->setDown(0);
+
+    modeL->setOn(0);
+    modeL->setDown(0);
+    limit->clear();
+    emit modesChanged();
+}
+
 void Channel::updateModeWidgets(char mode, bool plus, const QString &parameter)
 {
     ModeButton* widget=0;
--- trunk/extragear/network/konversation/src/channel.h #496714:496715
 @ -118,6 +118,7  @
         void setTopic(const QString& nickname,const QString& topic);
         void setTopicAuthor(const QString& author);
 
+        void clearModeList();
         /** get the list of modes that this channel has - e.g. {+l,+s,-m}
          *   return All the modes that this channel has
          */
--- trunk/extragear/network/konversation/src/inputfilter.cpp #496714:496715
 @ -467,6 +467,7  @
             */
             // Join the channel
             server->joinChannel(channelName, sourceHostmask);
+            server->getChannelByName(channelName)->clearModeList();
             // Request modes for the channel
             server->queue("MODE "+channelName);
             // Upon JOIN we're going to receive some NAMES input from the server which
 @ -694,6 +695,8  @
                 // This is the string the user will see
                 QString modesAre(QString::null);
                 QString message = i18n("Channel modes: ") + modeString;
+                kdDebug() << "channel: " << parameterList[1] << endl;
+                //server->getChannelByName(parameterList[1])->clearModeList();
 
                 for(unsigned int index=0;index<modeString.length();index++)
                 {


More information about the Konversation-devel mailing list