From: Marcus Eggenberger Date: Wed, 11 Mar 2009 16:51:21 +0000 (+0100) Subject: fixes #580 - nick-dropdown is updated even if nickchange fails X-Git-Tag: 0.5-rc1~310 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=7d60f99585a77181280d3ddc526777e74c9412a1 fixes #580 - nick-dropdown is updated even if nickchange fails --- diff --git a/src/qtui/inputwidget.cpp b/src/qtui/inputwidget.cpp index 30cfcc7d..71f124c8 100644 --- a/src/qtui/inputwidget.cpp +++ b/src/qtui/inputwidget.cpp @@ -203,8 +203,11 @@ void InputWidget::updateNickSelector() const { return; IrcUser *me = net->me(); - if(me) - nicks[nickIdx] = net->myNick() + QString(" (+%1)").arg(me->userModes()); + if(me) { + nicks[nickIdx] = net->myNick(); + if(!me->userModes().isEmpty()) + nicks[nickIdx] += QString(" (+%1)").arg(me->userModes()); + } ui.ownNick->addItems(nicks); @@ -218,7 +221,11 @@ void InputWidget::changeNick(const QString &newNick) const { const Network *net = currentNetwork(); if(!net || net->isMyNick(newNick)) return; - sendText(QString("/NICK %1").arg(newNick)); + + // we reset the nick selecter as we have no confirmation yet, that this will succeed. + // if the action succeeds it will be properly updated anyways. + updateNickSelector(); + Client::userInput(BufferInfo::fakeStatusBuffer(net->networkId()), QString("/NICK %1").arg(newNick)); } void InputWidget::sendText(const QString &text) const {