+void InputWidget::connectMyIrcUser() {
+ const Network *network = currentNetwork();
+ if(network->me()) {
+ connect(network->me(), SIGNAL(nickSet(const QString &)), this, SLOT(updateNickSelector()));
+ connect(network->me(), SIGNAL(userModesSet(QString)), this, SLOT(updateNickSelector()));
+ connect(network->me(), SIGNAL(userModesAdded(QString)), this, SLOT(updateNickSelector()));
+ connect(network->me(), SIGNAL(userModesRemoved(QString)), this, SLOT(updateNickSelector()));
+ connect(network->me(), SIGNAL(awaySet(bool)), this, SLOT(updateNickSelector()));
+ disconnect(network, SIGNAL(myNickSet(const QString &)), this, SLOT(connectMyIrcUser()));
+ } else {
+ connect(network, SIGNAL(myNickSet(const QString &)), this, SLOT(connectMyIrcUser()));
+ }
+}
+
+void InputWidget::setIdentity(IdentityId identityId) {
+ if(_identityId == identityId)
+ return;
+
+ const Identity *previousIdentity = Client::identity(_identityId);
+ if(previousIdentity)
+ disconnect(previousIdentity, 0, this, 0);