diff options
| author | Treeki <treeki@gmail.com> | 2014-01-23 02:10:53 +0100 |
|---|---|---|
| committer | Treeki <treeki@gmail.com> | 2014-01-23 02:10:53 +0100 |
| commit | 07e35b82c6d9ba075d42f8b0401d0616fbfc929c (patch) | |
| tree | 1ea7673f552ecf961134f7a49ed9d2f02f256c8f | |
| parent | dba90fe669f7f8d89bc4e722be0c29decc9afde8 (diff) | |
| download | bounce4-07e35b82c6d9ba075d42f8b0401d0616fbfc929c.tar.gz bounce4-07e35b82c6d9ba075d42f8b0401d0616fbfc929c.zip | |
force user to leave channels when disconnected from server
Diffstat (limited to '')
| -rw-r--r-- | core.h | 2 | ||||
| -rw-r--r-- | ircserver.cpp | 3 | ||||
| -rw-r--r-- | window.cpp | 8 |
3 files changed, 13 insertions, 0 deletions
@@ -98,6 +98,8 @@ public: void handlePrivmsg(const UserRef &user, const char *str); char getEffectivePrefixChar(const char *nick) const; + + void disconnected(); }; diff --git a/ircserver.cpp b/ircserver.cpp index 7e20310..31cbd6d 100644 --- a/ircserver.cpp +++ b/ircserver.cpp @@ -73,6 +73,9 @@ void IRCServer::connectedEvent() { void IRCServer::disconnectedEvent() { printf("[IRCServer:%p] disconnectedEvent\n", this); status.pushMessage("Disconnected."); + + for (auto &i : channels) + i.second->disconnected(); } void IRCServer::lineReceivedEvent(char *line, int size) { printf("[%d] { %s }\n", size, line); @@ -356,3 +356,11 @@ char Channel::getEffectivePrefixChar(const char *nick) const { return 0; } + + +void Channel::disconnected() { + if (inChannel) { + inChannel = false; + pushMessage("You have been disconnected."); + } +} |
