From 9a0c6ef6200effc6e933d8b3515938f42318dcb7 Mon Sep 17 00:00:00 2001
From: Christian Klinger
Date: Mon, 9 May 2016 17:13:28 +0200
Subject: added "Disconnect"-Button (closes #2764).
---
gui/client/connect.ui | 89 +++++++++++++++---------------
src/client/connectwindow/connectwindow.cpp | 8 +++
src/client/connectwindow/connectwindow.h | 1 +
src/client/toolbar/toolbar.cpp | 13 ++++-
src/client/toolbar/toolbar.h | 1 +
5 files changed, 66 insertions(+), 46 deletions(-)
diff --git a/gui/client/connect.ui b/gui/client/connect.ui
index a108fe8..8adfd2b 100644
--- a/gui/client/connect.ui
+++ b/gui/client/connect.ui
@@ -10,7 +10,7 @@
0
0
512
- 92
+ 150
@@ -29,47 +29,27 @@
false
- 1
+ 0
0
-
- 0
-
-
- 0
-
-
- 0
-
-
+
0
-
- Session Name:
+ Automatically selected session
-
-
-
- 0
- 0
-
-
-
-
- 14
-
-
-
-
+
+ true
@@ -95,18 +75,32 @@
+
+
+ -
+
+
+ Advanced Options
+
+
+
-
+
+
+ Specify Session Name
+
+
+
+ -
+
+
+
+
+
+
+
-
- 0
-
-
- 0
-
-
- 0
-
-
+
0
-
@@ -154,15 +148,9 @@
-
-
+
- Hide
-
-
- false
-
-
- false
+ Advanced...
@@ -179,6 +167,19 @@
+ -
+
+
+ Cancel
+
+
+ false
+
+
+ false
+
+
+
diff --git a/src/client/connectwindow/connectwindow.cpp b/src/client/connectwindow/connectwindow.cpp
index 6fd92e6..818cbd2 100644
--- a/src/client/connectwindow/connectwindow.cpp
+++ b/src/client/connectwindow/connectwindow.cpp
@@ -40,6 +40,7 @@ ConnectWindow::ConnectWindow(QWidget *parent) : QWidget(parent)
// Set actions of buttons
connect(_ui->btn_connection, SIGNAL(clicked()), this, SLOT(onBtnConnection()));
connect(_ui->btn_hide, SIGNAL(clicked()), this, SLOT(onBtnHide()));
+ connect(_ui->btn_advanced, SIGNAL(clicked()), this, SLOT(onBtnAdvanced()));
// React on discovery signal
connect(&_serverDiscovery, SIGNAL(serverDetected(QString,quint16,QByteArray,QByteArray,bool)),
@@ -291,3 +292,10 @@ void ConnectWindow::onConnectionDisconnected()
connectToSession(_currentSession, _currentIp);
}
}
+void ConnectWindow::onBtnAdvanced() {
+ if (_ui->stackedWidget->currentIndex()== 1) {
+ _ui->stackedWidget->setCurrentIndex(0);
+ } else {
+ _ui->stackedWidget->setCurrentIndex(1);
+ }
+}
diff --git a/src/client/connectwindow/connectwindow.h b/src/client/connectwindow/connectwindow.h
index bc8a4ba..9daa420 100644
--- a/src/client/connectwindow/connectwindow.h
+++ b/src/client/connectwindow/connectwindow.h
@@ -78,6 +78,7 @@ protected:
protected slots:
void doShow();
void onBtnConnection();
+ void onBtnAdvanced();
void onBtnHide();
void onConnectionStateChange(ConnectWindow::ConnectionState state);
diff --git a/src/client/toolbar/toolbar.cpp b/src/client/toolbar/toolbar.cpp
index 964561e..64fc5dc 100644
--- a/src/client/toolbar/toolbar.cpp
+++ b/src/client/toolbar/toolbar.cpp
@@ -104,9 +104,13 @@ void Toolbar::init()
/* Setup menu */
_menu = new QMenu(this);
- _acnDisconnect = new QAction(tr("Set &session ID"), this);
+ _acnConnect = new QAction(tr("&Connect..."), this);
+ _acnDisconnect = new QAction(tr("&Disconnect"), this);
+ _acnDisconnect->setEnabled(false);
_acnAbout= new QAction(tr("&What's this?"), this);
_acnQuit = new QAction(tr("&Quit"), this);
+
+ _menu->addAction(_acnConnect);
_menu->addAction(_acnDisconnect);
_menu->addSeparator();
_menu->addAction(_acnAbout);
@@ -116,7 +120,7 @@ void Toolbar::init()
// Connect the signals
connect(_menu, SIGNAL(aboutToHide()), this, SLOT(hideBar()));
- connect(_acnDisconnect, SIGNAL(triggered()), _connectWindow, SLOT(doShow()));
+ connect(_acnConnect, SIGNAL(triggered()), _connectWindow, SLOT(doShow()));
connect(_acnAbout, SIGNAL(triggered()), this, SLOT(showAboutDialog()));
connect(_acnQuit, SIGNAL(triggered()), this, SLOT(exit()));
@@ -298,6 +302,8 @@ void Toolbar::onDisconnected()
*/
void Toolbar::onConnected(ServerConnection* connection)
{
+
+ this->_acnConnect->setEnabled(false);
_ui->lblStatus->setStyleSheet("color:green");
_ui->lblStatus->setText(tr("Online"));
//
@@ -322,6 +328,9 @@ void Toolbar::onDoDisconnect()
{
if (_connection != NULL)
_connection->disconnectFromServer();
+
+ this->_acnConnect->setEnabled(true);
+ this->_acnDisconnect->setEnabled(false);
}
/***************************************************************************//**
diff --git a/src/client/toolbar/toolbar.h b/src/client/toolbar/toolbar.h
index 27849cf..c3c727c 100644
--- a/src/client/toolbar/toolbar.h
+++ b/src/client/toolbar/toolbar.h
@@ -39,6 +39,7 @@ private:
Ui::Toolbar *_ui;
QMenu *_menu;
QAction *_acnDisconnect;
+ QAction *_acnConnect;
QAction *_acnAbout;
QAction *_acnQuit;
ConnectWindow *_connectWindow;
--
cgit v1.2.3-55-g7522