Version: 0.16 AND cvs (using KDE KDE 3.4.0) Installed from: Compiled From Sources Compiler: gcc-3.4.3-20050110 OS: Linux using the /cycle command in one channel seems to cycle all channels. every channel tab disappears and comes back slowly, taking a lot of time to resync the channels
There is a reason for /cycle not being in Changelog ;)
CVS commit by cartman: Make /cycle work correctly. Somehow someone managed to find a bug in this undocumented feature :-) BUG:103181 M +9 -4 channel.cpp 1.313 M +2 -3 channel.h 1.113 M +0 -8 outputfilter.cpp 1.150 M +1 -2 outputfilter.h 1.65 --- kdeextragear-2/konversation/konversation/channel.cpp #1.312:1.313 @@ -331,5 +331,4 @@ void Channel::setServer(Server *server) setIdentity(server->getIdentity()); - connect(server->getOutputFilter(),SIGNAL(cycleChannel()),this,SLOT(cycleChannel())); } @@ -752,8 +751,14 @@ void Channel::channelTextEntered() channelInput->clear(); - if(line.lower()=="/clear") + if(line.lower().stripWhiteSpace() == "/clear") { textView->clear(); - else - if(!line.isEmpty()) sendChannelText(line); + } + else if(line.lower().stripWhiteSpace() == "/cycle") { + cycleChannel(); + } + else { + if(!line.isEmpty()) + sendChannelText(line); + } } --- kdeextragear-2/konversation/konversation/channel.h #1.112:1.113 @@ -216,7 +216,4 @@ class Channel : public ChatWindow void refreshModeButtons(); - // Connected to OutputFilter::cycleChannel - void cycleChannel(); - ///Request a delayed nicklist sorting void requestNickListSort(); @@ -235,4 +232,6 @@ class Channel : public ChatWindow virtual void childAdjustFocus(); + void cycleChannel(); + int nicks; int ops; --- kdeextragear-2/konversation/konversation/outputfilter.cpp #1.149:1.150 @@ -189,6 +189,4 @@ namespace Konversation { else if(command == "charset") parseCharset(parameter); - else if(command == "cycle") parseCycle(); - // Forward unknown commands to server else { @@ -1276,10 +1274,4 @@ namespace Konversation { } - void OutputFilter::parseCycle() - { - emit cycleChannel(); - } - - } --- kdeextragear-2/konversation/konversation/outputfilter.h #1.64:1.65 @@ -81,5 +81,4 @@ namespace Konversation void reconnectServer(); void connectToServer(const QString& server, const QString& port, const QString& password); - void cycleChannel(); public slots:
commit 22a85118d31ef23e8e6cc7ace3a773752cb6690b Author: İsmail Dönmez <ismail@kde.org> Date: Fri Apr 8 09:54:19 2005 +0000 Make /cycle work correctly. Somehow someone managed to find a bug in this undocumented feature :-) BUG:103181 svn path=/trunk/kdeextragear-2/konversation/; revision=404000 diff --git a/konversation/channel.cpp b/konversation/channel.cpp index 19dac61..865daeb 100644 --- a/konversation/channel.cpp +++ b/konversation/channel.cpp @@ -330,7 +330,6 @@ void Channel::setServer(Server *server) { refreshModeButtons(); setIdentity(server->getIdentity()); - connect(server->getOutputFilter(),SIGNAL(cycleChannel()),this,SLOT(cycleChannel())); } Channel::~Channel() @@ -751,10 +750,16 @@ void Channel::channelTextEntered() QString line = channelInput->text(); channelInput->clear(); - if(line.lower()=="/clear") + if(line.lower().stripWhiteSpace() == "/clear") { textView->clear(); - else - if(!line.isEmpty()) sendChannelText(line); + } + else if(line.lower().stripWhiteSpace() == "/cycle") { + cycleChannel(); + } + else { + if(!line.isEmpty()) + sendChannelText(line); + } } void Channel::sendChannelText(const QString& sendLine) diff --git a/konversation/channel.h b/konversation/channel.h index 26726f8..188516f 100644 --- a/konversation/channel.h +++ b/konversation/channel.h @@ -215,9 +215,6 @@ class Channel : public ChatWindow */ void refreshModeButtons(); - // Connected to OutputFilter::cycleChannel - void cycleChannel(); - ///Request a delayed nicklist sorting void requestNickListSort(); @@ -233,6 +230,8 @@ class Channel : public ChatWindow void fastAddNickname(ChannelNickPtr channelnick); /** Called from ChatWindow adjustFocus */ virtual void childAdjustFocus(); + + void cycleChannel(); int nicks; int ops; diff --git a/konversation/outputfilter.cpp b/konversation/outputfilter.cpp index c586c42..02fab77 100644 --- a/konversation/outputfilter.cpp +++ b/konversation/outputfilter.cpp @@ -188,8 +188,6 @@ namespace Konversation { else if(command == "charset") parseCharset(parameter); - else if(command == "cycle") parseCycle(); - // Forward unknown commands to server else { result.toServer = inputLine.mid(1); @@ -1275,12 +1273,6 @@ namespace Konversation { m_server->getIdentity()->setCodecName(shortName); } - void OutputFilter::parseCycle() - { - emit cycleChannel(); - } - - } #include "outputfilter.moc" diff --git a/konversation/outputfilter.h b/konversation/outputfilter.h index c391b52..ed55568 100644 --- a/konversation/outputfilter.h +++ b/konversation/outputfilter.h @@ -80,8 +80,7 @@ namespace Konversation void multiServerCommand(const QString& command, const QString& parameter); void reconnectServer(); void connectToServer(const QString& server, const QString& port, const QString& password); - void cycleChannel(); - + public slots: void setCommandChar(); OutputFilterResult execBan(const QString& mask,const QString& channels);