X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=64b6d5d6f1f574f3b73808c789ae70243da959e5;hb=11dfb84f7dbbecf8c979dc6287993868cb205f93;hp=6d8aa6bb47af1838d4354de3b31bf9a9df24d005;hpb=8379f6f725cf8ed2fdad1a19bd10743436c2d086;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 6d8aa6bb..64b6d5d6 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -197,8 +197,6 @@ void MainWin::init() connect(Client::coreConnection(), SIGNAL(handleSslErrors(const QSslSocket *, bool *, bool *)), SLOT(handleSslErrors(const QSslSocket *, bool *, bool *))); #endif - connect(this, SIGNAL(changePassword(QString)), Client::instance(), SLOT(changePassword(QString))); - // Setup Dock Areas setDockNestingEnabled(true); setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); @@ -1088,6 +1086,18 @@ void MainWin::setConnectedState() connect(Client::backlogManager(), SIGNAL(messagesProcessed(const QString &)), this, SLOT(showStatusBarMessage(const QString &))); } + disconnect(this, SIGNAL(changePassword(QString)), Client::instance(), SLOT(changePassword(QString))); + if (Client::internalCore()) { + coll->action("ChangePassword")->setVisible(false); + } + else if((Client::coreFeatures() & Quassel::PasswordChange)) { + connect(this, SIGNAL(changePassword(QString)), Client::instance(), SLOT(changePassword(QString))); + coll->action("ChangePassword")->setEnabled(true); + } + else { + coll->action("ChangePassword")->setEnabled(false); + } + // _viewMenu->setEnabled(true); if (!Client::internalCore()) statusBar()->showMessage(tr("Connected to core.")); @@ -1188,6 +1198,7 @@ void MainWin::setDisconnectedState() coll->action("ConnectCore")->setEnabled(true); coll->action("DisconnectCore")->setEnabled(false); coll->action("CoreInfo")->setEnabled(false); + coll->action("ChangePassword")->setEnabled(false); //_viewMenu->setEnabled(false); statusBar()->showMessage(tr("Not connected to core.")); if (_msgProcessorStatusWidget)