[X2Go-Commits] [x2goclient] 01/01: Display state of broker connection in status bar.

git-admin at x2go.org git-admin at x2go.org
Mon May 11 18:26:14 CEST 2020


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goclient.

commit a77b1494e96388ed725e2b16037ab5321deb65aa
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date:   Mon May 11 11:25:55 2020 -0500

    Display state of broker connection in status bar.
---
 debian/changelog         |  1 +
 src/httpbrokerclient.cpp |  8 ++++++++
 src/onmainwindow.cpp     | 28 ++++++++++++++++++++++++----
 src/onmainwindow.h       |  1 +
 4 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index dc66d51..9625ac9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ x2goclient (4.1.2.3-0x2go1) UNRELEASED; urgency=medium
     - Set correct aspect ratio for x2go and ON logos.
     - Download alternative resource files from http server.
     - Support for PNG background images.
+    - Display state of broker connection in status bar.
 
   [ Ryan Schmidt ]
   * New upstream version (4.1.2.3):
diff --git a/src/httpbrokerclient.cpp b/src/httpbrokerclient.cpp
index 2589f5f..da08fed 100644
--- a/src/httpbrokerclient.cpp
+++ b/src/httpbrokerclient.cpp
@@ -37,6 +37,7 @@
 #include <QTemporaryFile>
 #include <QInputDialog>
 #include "InteractionDialog.h"
+#include <QStatusBar>
 
 
 HttpBrokerClient::HttpBrokerClient ( ONMainWindow* wnd, ConfigFile* cfg )
@@ -414,12 +415,14 @@ void HttpBrokerClient::slotEventSent(bool success, QString answer, int)
     if(!success)
     {
         x2goDebug<<answer;
+        mainWindow->setBrokerStatus(tr("Disconnected from broker: ")+answer, true);
         QMessageBox::critical(0,tr("Error"),answer);
         emit fatalHttpError();
         return;
     }
     if(!checkAccess(answer))
         return;
+    mainWindow->setBrokerStatus(tr("Connected to broker"));
     x2goDebug<<"event sent:"<<answer;
     if(answer.indexOf("SUSPEND")!=-1)
     {
@@ -591,8 +594,12 @@ void HttpBrokerClient::slotListSessions(bool success, QString answer, int)
         emit fatalHttpError();
         return;
     }
+
     if(!checkAccess(answer))
         return;
+
+    mainWindow->setBrokerStatus(tr("Connected to broker"));
+
     createIniFile(answer);
     emit sessionsLoaded();
 }
@@ -632,6 +639,7 @@ void HttpBrokerClient::slotRequestFinished ( QNetworkReply*  reply )
     if(reply->error() != QNetworkReply::NoError)
     {
         x2goDebug<<"Broker HTTP request failed with error: "<<reply->errorString();
+        mainWindow->setBrokerStatus(tr("Disconnected from broker: ")+reply->errorString(), true);
         if(reply == eventRequest)
         {
             reply->deleteLater();
diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp
index fd8c46c..e61a631 100644
--- a/src/onmainwindow.cpp
+++ b/src/onmainwindow.cpp
@@ -316,6 +316,9 @@ void ONMainWindow::initUI()
 
     trayIconInit();
 
+    if(brokerMode)
+        statusBar()->show();
+
 
     if ( embedMode )
     {
@@ -1101,6 +1104,7 @@ void ONMainWindow::slotGetBrokerAuth()
     config.brokerAuthenticated = false;
     bBrokerLogout->setEnabled (false);
 
+    statusBar()->showMessage(config.brokerurl);
     if(config.brokerUser.length()>0)
     {
         login->setText(config.brokerUser);
@@ -1112,6 +1116,17 @@ void ONMainWindow::slotGetBrokerAuth()
         slotSessEnter();
 }
 
+void ONMainWindow::setBrokerStatus(const QString& text, bool error)
+{
+    QPalette p=statusBar()->palette();
+    if(error)
+        p.setColor(QPalette::WindowText, QColor(204,54,54));
+    else
+        p.setColor(QPalette::WindowText, QColor(22,103,39));
+    statusBar()->setPalette(p);
+    statusBar()->showMessage(text);
+}
+
 
 void ONMainWindow::trayIconInit()
 {
@@ -7032,8 +7047,11 @@ void ONMainWindow::setStatStatus ( QString status )
     }
     if ( !embedMode || !proxyWinEmbedded )
     {
-        statusBar()->showMessage ( "");
-        statusBar()->hide();
+        if(!brokerMode)
+        {
+            statusBar()->showMessage ( "");
+            statusBar()->hide();
+        }
         QString srv;
         if ( brokerMode )
         {
@@ -13024,7 +13042,8 @@ void ONMainWindow::slotEmbedToolBar()
         statusLabel=new QLabel;
         stb->addWidget ( statusLabel );
 #ifndef Q_OS_WIN
-        statusBar()->hide();
+        if(!brokerMode)
+            statusBar()->hide();
 #endif
     }
     else
@@ -13195,7 +13214,8 @@ QSize ONMainWindow::getEmbedAreaSize()
         statusBar()->show();
     QSize sz=bgFrame->size();
 //     sz.setHeight(sz.height()-statusBar()->size().height());
-    statusBar()->hide();
+    if(!brokerMode)
+        statusBar()->hide();
     return sz;
 }
 
diff --git a/src/onmainwindow.h b/src/onmainwindow.h
index fec31de..b2ebae6 100644
--- a/src/onmainwindow.h
+++ b/src/onmainwindow.h
@@ -570,6 +570,7 @@ public:
     void setEmbedSessionActionsEnabled ( bool enable );
     bool startSshd (key_types key_type = RSA_KEY_TYPE);
     QSize getEmbedAreaSize();
+    void setBrokerStatus(const QString& text, bool error=false);
 #ifdef Q_OS_WIN
     static QString cygwinPath ( const QString& winPath );
     void startXOrg(std::size_t start_offset = 0);

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git


More information about the x2go-commits mailing list