Summary: | Channel modes not reset when disconnected | ||
---|---|---|---|
Product: | [Applications] konversation | Reporter: | Michael Kreitzer <mrgrim> |
Component: | general | Assignee: | Konversation Developers <konversation-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Michael Kreitzer
2005-09-26 00:30:22 UTC
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 ¶meter) { 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++) { |