| Summary: | Channel modes not reset when disconnected | ||
|---|---|---|---|
| Product: | [Applications] konversation | Reporter: | Michael Kreitzer <mrgrim> |
| Component: | general | Assignee: | Konversation Bugs <konversation-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
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++)
{
|