X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.cpp;h=ba9d0c82b5ed099cd6fe6e3e0bfde198ee0d8b19;hb=65d501eda2929fb301f74c8640cdc07d36acfda0;hp=4ccb5b5dd9fc7ea451b8e0d317044a220ab5ff07;hpb=770b7ef54b03f3ebd1e29a58b4757505e1809b2d;p=quassel.git diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 4ccb5b5d..ba9d0c82 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -143,6 +143,13 @@ void BufferItem::attachIrcChannel(IrcChannel *ircChannel) { this, SLOT(userModeChanged(IrcUser *))); connect(ircChannel, SIGNAL(ircUserModeRemoved(IrcUser *, QString)), this, SLOT(userModeChanged(IrcUser *))); + + if(!ircChannel->ircUsers().isEmpty()) { + qWarning() << "Channel" << ircChannel->name() << "has already users which is quite surprising :)"; + foreach(IrcUser *ircUser, ircChannel->ircUsers()) { + join(ircUser); + } + } emit dataChanged(); } @@ -226,6 +233,17 @@ void BufferItem::removeUserFromCategory(IrcUser *ircUser) { break; } } + + + if(!success) { + qDebug() << "didn't find User:" << ircUser << (quint64)ircUser; + qDebug() << "==== Childlist for Item:" << this << id() << bufferName() << "===="; + for(int i = 0; i < childCount(); i++) { + categoryItem = qobject_cast(child(i)); + categoryItem->dumpChildList(); + } + qDebug() << "==== End Of Childlist for Item:" << this << id() << bufferName() << "===="; + } Q_ASSERT(success); int totalusers = 0; @@ -273,8 +291,16 @@ quint64 NetworkItem::id() const { return _networkId.toInt(); } +void NetworkItem::setActive(bool connected) { + Q_UNUSED(connected); + emit dataChanged(); +} + bool NetworkItem::isActive() const { - return _network; + if(_network) + return _network->isConnected(); + else + return false; } QString NetworkItem::networkName() const { @@ -310,6 +336,9 @@ void NetworkItem::attachNetwork(Network *network) { this, SLOT(setCurrentServer(QString))); connect(network, SIGNAL(ircChannelAdded(QString)), this, SLOT(attachIrcChannel(QString))); + connect(network, SIGNAL(connectedSet(bool)), + this, SLOT(setActive(bool))); + // FIXME: connect this and that... emit dataChanged();