-void Client::userInput(BufferId id, QString msg) {
- emit sendInput(id, msg);
-}
-
-void Client::setTopic(QString net, QString buf, QString topic) {
- BufferId id = bufferId(net, buf);
- if(!netConnected[id.network()]) return;
- Buffer *b = buffer(id);
- b->setTopic(topic);
- //if(!b->isActive()) {
- // b->setActive(true);
- // buffersUpdated();
- //}
-}
-
-void Client::addNick(QString net, QString nick, QVariantMap props) {
- if(!netConnected[net]) return;
- nicks[net][nick] = props;
- QVariantMap chans = props["Channels"].toMap();
- QStringList c = chans.keys();
- foreach(QString bufname, c) {
- buffer(bufferId(net, bufname))->addNick(nick, props);
- }
-}
-
-void Client::renameNick(QString net, QString oldnick, QString newnick) {
- if(!netConnected[net]) return;
- QStringList chans = nicks[net][oldnick]["Channels"].toMap().keys();
- foreach(QString c, chans) {
- buffer(bufferId(net, c))->renameNick(oldnick, newnick);
- }
- nicks[net][newnick] = nicks[net].take(oldnick);
-}
-
-void Client::updateNick(QString net, QString nick, QVariantMap props) {
- if(!netConnected[net]) return;
- QStringList oldchans = nicks[net][nick]["Channels"].toMap().keys();
- QStringList newchans = props["Channels"].toMap().keys();
- foreach(QString c, newchans) {
- if(oldchans.contains(c)) buffer(bufferId(net, c))->updateNick(nick, props);
- else buffer(bufferId(net, c))->addNick(nick, props);
- }
- foreach(QString c, oldchans) {
- if(!newchans.contains(c)) buffer(bufferId(net, c))->removeNick(nick);
- }
- nicks[net][nick] = props;
-}
-
-void Client::removeNick(QString net, QString nick) {
- if(!netConnected[net]) return;
- QVariantMap chans = nicks[net][nick]["Channels"].toMap();
- foreach(QString bufname, chans.keys()) {
- buffer(bufferId(net, bufname))->removeNick(nick);
- }
- nicks[net].remove(nick);
-}
-
-void Client::setOwnNick(QString net, QString nick) {
- if(!netConnected[net]) return;
- ownNick[net] = nick;
- foreach(BufferId id, buffers.keys()) {
- if(id.network() == net) {
- buffers[id]->setOwnNick(nick);
- }
- }
-}
-