/*** public static methods ***/
-
-QList<Network *> Client::networks() {
- return instance()->_networks.values();
-}
-
-Network *Client::network(uint networkid) {
- if(instance()->_networks.contains(networkid))
- return instance()->_networks[networkid];
- else
- return 0;
-}
-
QList<BufferInfo> Client::allBufferInfos() {
QList<BufferInfo> bufferids;
foreach(Buffer *buffer, buffers()) {
if(!buff) {
Client *client = Client::instance();
buff = new Buffer(id, client);
-
- connect(buff, SIGNAL(userInput(BufferInfo, QString)),
- client, SLOT(userInput(BufferInfo, QString)));
connect(buff, SIGNAL(destroyed()),
client, SLOT(bufferDestroyed()));
client->_buffers[id.uid()] = buff;
return instance()->_syncedToCore;
}
+/*** Network handling ***/
+
+QList<NetworkId> Client::networkIds() {
+ return instance()->_networks.keys();
+}
+
+const Network * Client::network(NetworkId networkid) {
+ if(instance()->_networks.contains(networkid)) return instance()->_networks[networkid];
+ else return 0;
+}
+
/*** Identity handling ***/
QList<IdentityId> Client::identityIds() {
}
/*** ***/
-
-void Client::fakeInput(uint bufferUid, QString message) {
- Buffer *buff = buffer(bufferUid);
- if(!buff)
- qWarning() << "No Buffer with uid" << bufferUid << "can't send Input" << message;
- else
- emit instance()->sendInput(buff->bufferInfo(), message);
-}
-
-void Client::fakeInput(BufferInfo bufferInfo, QString message) {
- fakeInput(bufferInfo, message);
+void Client::userInput(BufferInfo bufferInfo, QString message) {
+ emit instance()->sendInput(bufferInfo, message);
}
/*** core connection stuff ***/
// Clear internal data. Hopefully nothing relies on it at this point.
_networkModel->clear();
- QHash<BufferId, Buffer *>::iterator bufferIter = _buffers.begin();
- while(bufferIter != _buffers.end()) {
- Buffer *buffer = bufferIter.value();
- disconnect(buffer, SIGNAL(destroyed()), this, 0);
- bufferIter = _buffers.erase(bufferIter);
- buffer->deleteLater();
- }
- Q_ASSERT(_buffers.isEmpty());
-
-
QHash<NetworkId, Network*>::iterator netIter = _networks.begin();
while(netIter != _networks.end()) {
Network *net = netIter.value();
}
Q_ASSERT(_networks.isEmpty());
+ QHash<BufferId, Buffer *>::iterator bufferIter = _buffers.begin();
+ while(bufferIter != _buffers.end()) {
+ Buffer *buffer = bufferIter.value();
+ disconnect(buffer, SIGNAL(destroyed()), this, 0);
+ bufferIter = _buffers.erase(bufferIter);
+ buffer->deleteLater();
+ }
+ Q_ASSERT(_buffers.isEmpty());
+
QHash<IdentityId, Identity*>::iterator idIter = _identities.begin();
while(idIter != _identities.end()) {
Identity *id = idIter.value();
networkModel()->attachNetwork(net);
connect(net, SIGNAL(destroyed()), instance(), SLOT(networkDestroyed()));
instance()->_networks[net->networkId()] = net;
+ emit instance()->networkAdded(net->networkId());
//if(net->networkId() == 1) net->requestConnect(); // FIXME
}
void Client::recvMessage(const Message &msg) {
Buffer *b = buffer(msg.buffer());
-
-// Buffer::ActivityLevel level = Buffer::OtherActivity;
-// if(msg.type() == Message::Plain || msg.type() == Message::Notice){
-// level |= Buffer::NewMessage;
-// }
-// if(msg.flags() & Message::Highlight){
-// level |= Buffer::Highlight;
-// }
-// emit bufferActivity(level, b);
-
b->appendMsg(msg);
+ networkModel()->updateBufferActivity(msg);
}
void Client::recvStatusMsg(QString /*net*/, QString /*msg*/) {
foreach(QVariant v, msgs) {
Message msg = v.value<Message>();
b->prependMsg(msg);
+ // networkModel()->updateBufferActivity(msg);
if(!layoutQueue.contains(b)) layoutQueue.append(b);
}
if(layoutQueue.count() && !layoutTimer->isActive()) layoutTimer->start();
return instance()->mainUi->layoutMsg(msg);
}
-void Client::userInput(BufferInfo id, QString msg) {
- emit sendInput(id, msg);
-}
-