#include "bufferviewmanager.h"
#include "clientbacklogmanager.h"
#include "clientirclisthelper.h"
-#include "identity.h"
+#include "clientidentity.h"
#include "ircchannel.h"
#include "ircuser.h"
#include "message.h"
p->attachSignal(this, SIGNAL(sendInput(BufferInfo, QString)));
p->attachSignal(this, SIGNAL(requestNetworkStates()));
- p->attachSignal(this, SIGNAL(requestCreateIdentity(const Identity &)), SIGNAL(createIdentity(const Identity &)));
+ p->attachSignal(this, SIGNAL(requestCreateIdentity(const Identity &, const QVariantMap &)), SIGNAL(createIdentity(const Identity &, const QVariantMap &)));
p->attachSignal(this, SIGNAL(requestRemoveIdentity(IdentityId)), SIGNAL(removeIdentity(IdentityId)));
p->attachSlot(SIGNAL(identityCreated(const Identity &)), this, SLOT(coreIdentityCreated(const Identity &)));
p->attachSlot(SIGNAL(identityRemoved(IdentityId)), this, SLOT(coreIdentityRemoved(IdentityId)));
return instance()->_identities.keys();
}
-const Identity * Client::identity(IdentityId id) {
+const Identity *Client::identity(IdentityId id) {
if(instance()->_identities.contains(id)) return instance()->_identities[id];
else return 0;
}
-void Client::createIdentity(const Identity &id) {
- emit instance()->requestCreateIdentity(id);
+void Client::createIdentity(const CertIdentity &id) {
+ QVariantMap additional;
+#ifdef HAVE_SSL
+ additional["KeyPem"] = id.sslKey().toPem();
+ additional["CertPem"] = id.sslCert().toPem();
+#endif
+ emit instance()->requestCreateIdentity(id, additional);
}
void Client::updateIdentity(IdentityId id, const QVariantMap &ser) {
}
Q_ASSERT(_networks.isEmpty());
- QHash<IdentityId, Identity*>::iterator idIter = _identities.begin();
+ QHash<IdentityId, Identity *>::iterator idIter = _identities.begin();
while(idIter != _identities.end()) {
+ emit identityRemoved(idIter.key());
Identity *id = idIter.value();
- emit identityRemoved(id->id());
idIter = _identities.erase(idIter);
id->deleteLater();
}
bufferSyncer()->requestRemoveBuffer(id);
}
+void Client::renameBuffer(BufferId bufferId, const QString &newName) {
+ if(!bufferSyncer())
+ return;
+ bufferSyncer()->requestRenameBuffer(bufferId, newName);
+}
+
void Client::bufferRemoved(BufferId bufferId) {
// select a sane buffer (status buffer)
/* we have to manually select a buffer because otherwise inconsitent changes