X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainpage.cpp;fp=src%2Fqtui%2Fmainpage.cpp;h=15f83a89e7c0d12c4494e489f05e8b714831d179;hp=a0e5f1178b4543fa8f1076b8b308e69d64a3e3f1;hb=ba4218e0fc6775c96b76100712e6d705b197154e;hpb=66e6d26b38fb6e4528654e6525d205e9e9ca3243 diff --git a/src/qtui/mainpage.cpp b/src/qtui/mainpage.cpp index a0e5f117..15f83a89 100644 --- a/src/qtui/mainpage.cpp +++ b/src/qtui/mainpage.cpp @@ -38,6 +38,15 @@ MainPage::MainPage(QWidget *parent) : QWidget(parent) if (Quassel::runMode() != Quassel::Monolithic) { QPushButton *connectButton = new QPushButton(QIcon::fromTheme("network-connect"), tr("Connect to Core...")); + connectButton->setEnabled(Client::coreConnection()->state() == CoreConnection::Disconnected); + + connect(Client::coreConnection(), &CoreConnection::stateChanged, [connectButton](CoreConnection::ConnectionState state){ + if (state == CoreConnection::Disconnected) { + connectButton->setEnabled(true); + } else { + connectButton->setDisabled(true); + } + }); connect(connectButton, &QPushButton::clicked, [this](){ CoreConnectDlg dlg(this); if (dlg.exec() == QDialog::Accepted) {