Disable connect to core dialog if not disconnected.
authorHannah von Reth <vonreth@kde.org>
Tue, 3 Nov 2015 14:22:07 +0000 (15:22 +0100)
committerHannah von Reth <vonreth@kde.org>
Tue, 3 Nov 2015 14:22:07 +0000 (15:22 +0100)
src/qtui/mainpage.cpp

index a0e5f11..15f83a8 100644 (file)
@@ -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) {