From a5946e1727ece21a271d1f73da447c04e59eab8d Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 22 Mar 2017 18:31:55 +0100 Subject: [PATCH] refs #911, load indicator for login component --- src/blackgui/components/dblogincomponent.cpp | 10 +++++++++- src/blackgui/components/dblogincomponent.h | 6 ++++-- src/blackgui/components/dblogincomponent.ui | 3 +++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/blackgui/components/dblogincomponent.cpp b/src/blackgui/components/dblogincomponent.cpp index 19746ad9d..ec99a2641 100644 --- a/src/blackgui/components/dblogincomponent.cpp +++ b/src/blackgui/components/dblogincomponent.cpp @@ -40,6 +40,7 @@ namespace BlackGui { CDbLoginComponent::CDbLoginComponent(QWidget *parent) : QFrame(parent), + CLoadIndicatorEnabled(this), ui(new Ui::CDbLoginComponent) { Q_ASSERT_X(sGui, Q_FUNC_INFO, "Missing sGui"); @@ -55,7 +56,12 @@ namespace BlackGui const bool devEnv = sGui->isRunningInDeveloperEnvironment(); ui->comp_DebugSetup->setVisible(devEnv); - ui->lbl_DatabaseName->setText(sGui->getGlobalSetup().getDbHomePageUrl().toQString()); + + const QString dbUrl = sGui->getGlobalSetup().getDbHomePageUrl().toQString(); + ui->lbl_DatabaseName->setText("" + dbUrl + ""); + ui->lbl_DatabaseName->setTextFormat(Qt::RichText); + ui->lbl_DatabaseName->setTextInteractionFlags(Qt::TextBrowserInteraction); + ui->lbl_DatabaseName->setOpenExternalLinks(true); connect(ui->pb_Login, &QPushButton::clicked, this, &CDbLoginComponent::ps_onLoginClicked); connect(ui->pb_Logoff, &QPushButton::clicked, this, &CDbLoginComponent::ps_onLogoffClicked); @@ -104,6 +110,7 @@ namespace BlackGui { CLogMessage::preformatted(msgs); } + this->showLoading(5000); } void CDbLoginComponent::ps_onLogoffClicked() @@ -114,6 +121,7 @@ namespace BlackGui void CDbLoginComponent::ps_authenticationFinished(const CAuthenticatedUser &user, const CStatusMessageList &statusMsgs) { + this->hideLoading(); this->setUserInfo(user); if (statusMsgs.hasWarningOrErrorMessages()) { diff --git a/src/blackgui/components/dblogincomponent.h b/src/blackgui/components/dblogincomponent.h index 2442d7293..8cbe9727d 100644 --- a/src/blackgui/components/dblogincomponent.h +++ b/src/blackgui/components/dblogincomponent.h @@ -15,6 +15,7 @@ #include "blackcore/db/databaseauthentication.h" #include "blackcore/data/globalsetup.h" #include "blackgui/blackguiexport.h" +#include "blackgui/loadindicator.h" #include "blackmisc/statusmessagelist.h" #include @@ -30,7 +31,8 @@ namespace BlackGui /** * Login to DB */ - class BLACKGUI_EXPORT CDbLoginComponent : public QFrame + class BLACKGUI_EXPORT CDbLoginComponent : + public QFrame, public BlackGui::CLoadIndicatorEnabled { Q_OBJECT @@ -39,7 +41,7 @@ namespace BlackGui explicit CDbLoginComponent(QWidget *parent = nullptr); //! Destructor - ~CDbLoginComponent(); + virtual ~CDbLoginComponent(); //! DB user BlackMisc::Network::CAuthenticatedUser getDbUser() const; diff --git a/src/blackgui/components/dblogincomponent.ui b/src/blackgui/components/dblogincomponent.ui index e09cacbc6..3e59f34e9 100644 --- a/src/blackgui/components/dblogincomponent.ui +++ b/src/blackgui/components/dblogincomponent.ui @@ -210,6 +210,9 @@ Database URL will go here + + true +