diff --git a/src/apps/deskflow-gui/MainWindow.cpp b/src/apps/deskflow-gui/MainWindow.cpp index 04f81d276..0405c5513 100644 --- a/src/apps/deskflow-gui/MainWindow.cpp +++ b/src/apps/deskflow-gui/MainWindow.cpp @@ -69,6 +69,8 @@ MainWindow::MainWindow(ConfigScopes &configScopes, AppConfig &appConfig) m_tlsUtility(appConfig), m_trayIcon{new QSystemTrayIcon(this)}, m_guiDupeChecker{new QLocalServer(this)}, + m_lblSecurityStatus{new QLabel(this)}, + m_lblStatus{new QLabel(this)}, m_actionAbout{new QAction(this)}, m_actionClearSettings{new QAction(tr("Clear settings"), this)}, m_actionReportBug{new QAction(tr("Report a Bug"), this)}, @@ -128,9 +130,6 @@ MainWindow::MainWindow(ConfigScopes &configScopes, AppConfig &appConfig) ui->btnToggleLog->setFixedHeight(ui->lblLog->height() * 0.6); #endif - // Hide the security label - ui->lblConnectionSecurityStatus->setVisible(false); - ui->btnToggleLog->setStyleSheet(QStringLiteral("background:rgba(0,0,0,0);")); // Setup the Instance Checking @@ -219,9 +218,6 @@ void MainWindow::setupControls() ui->lblUpdate->setStyleSheet(kStyleNoticeLabel); ui->lblUpdate->hide(); - ui->lblNotice->setStyleSheet(kStyleNoticeLabel); - ui->lblNotice->hide(); - ui->lblIpAddresses->setText(tr("This computer's IP addresses: %1").arg(getIPAddresses())); if (m_appConfig.lastVersion() != kVersion) { @@ -234,6 +230,13 @@ void MainWindow::setupControls() ui->rbModeClient->setAttribute(Qt::WA_MacShowFocusRect, 0); #endif + + m_lblSecurityStatus->setVisible(false); + m_lblSecurityStatus->setFixedSize(QSize(24, 24)); + m_lblSecurityStatus->setScaledContents(true); + ui->statusBar->insertPermanentWidget(0, m_lblSecurityStatus); + + ui->statusBar->insertPermanentWidget(1, m_lblStatus, 1); } ////////////////////////////////////////////////////////////////////////////// @@ -351,7 +354,7 @@ void MainWindow::appConfigTlsChanged() if (m_tlsUtility.isEnabled() && !QFile::exists(m_appConfig.tlsCertPath())) { m_tlsUtility.generateCertificate(); } - updateSecurityIcon(ui->lblConnectionSecurityStatus->isVisible()); + updateSecurityIcon(m_lblSecurityStatus->isVisible()); } void MainWindow::trayIconActivated(QSystemTrayIcon::ActivationReason reason) @@ -520,17 +523,17 @@ void MainWindow::setModeClient() void MainWindow::updateSecurityIcon(bool visible) { - ui->lblConnectionSecurityStatus->setVisible(visible); + m_lblSecurityStatus->setVisible(visible); if (!visible) return; bool secureSocket = m_appConfig.tlsEnabled(); const auto txt = secureSocket ? tr("Encryption Enabled") : tr("Encryption Disabled"); - ui->lblConnectionSecurityStatus->setToolTip(txt); + m_lblSecurityStatus->setToolTip(txt); const auto icon = QIcon::fromTheme(secureSocket ? QIcon::ThemeIcon::SecurityHigh : QIcon::ThemeIcon::SecurityLow); - ui->lblConnectionSecurityStatus->setPixmap(icon.pixmap(QSize(32, 32))); + m_lblSecurityStatus->setPixmap(icon.pixmap(QSize(32, 32))); } void MainWindow::serverConnectionConfigureClient(const QString &clientName) @@ -581,7 +584,7 @@ void MainWindow::coreProcessStarting() void MainWindow::setStatus(const QString &status) { - ui->lblStatus->setText(status); + m_lblStatus->setText(status); } void MainWindow::createMenuBar() @@ -993,7 +996,7 @@ void MainWindow::showConfigureServer(const QString &message) void MainWindow::secureSocket(bool secureSocket) { m_secureSocket = secureSocket; - updateSecurityIcon(ui->lblConnectionSecurityStatus->isVisible()); + updateSecurityIcon(m_lblSecurityStatus->isVisible()); } void MainWindow::updateScreenName() diff --git a/src/apps/deskflow-gui/MainWindow.h b/src/apps/deskflow-gui/MainWindow.h index b4d7b2c86..f54f62ab0 100644 --- a/src/apps/deskflow-gui/MainWindow.h +++ b/src/apps/deskflow-gui/MainWindow.h @@ -33,6 +33,7 @@ class QAction; class QMenu; +class QLabel; class QLineEdit; class QGroupBox; class QPushButton; @@ -202,6 +203,9 @@ private: QLocalServer *m_guiDupeChecker = nullptr; inline static const auto m_guiSocketName = QStringLiteral("deskflow-gui"); + QLabel *m_lblSecurityStatus = nullptr; + QLabel *m_lblStatus = nullptr; + // Window Actions QAction *m_actionAbout = nullptr; QAction *m_actionClearSettings = nullptr; diff --git a/src/apps/deskflow-gui/MainWindow.ui b/src/apps/deskflow-gui/MainWindow.ui index 8bd82a1f2..95037e3bd 100644 --- a/src/apps/deskflow-gui/MainWindow.ui +++ b/src/apps/deskflow-gui/MainWindow.ui @@ -7,7 +7,7 @@ 0 0 883 - 690 + 650 @@ -443,10 +443,10 @@ - QFrame::Shape::StyledPanel + QFrame::Shape::NoFrame - QFrame::Shadow::Raised + QFrame::Shadow::Plain @@ -477,6 +477,39 @@ + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + false + + + &Apply + + + + + + + false + + + &Start + + + @@ -507,115 +540,9 @@ - - - - 6 - - - QLayout::SizeConstraint::SetDefaultConstraint - - - - - true - - - - 32 - 32 - - - - - 32 - 32 - - - - - - - - - - - Ready - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - false - - - lblNotice - - - Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - - - 0 - - - true - - - - - - - Qt::Orientation::Horizontal - - - QSizePolicy::Policy::Fixed - - - - 20 - 20 - - - - - - - - false - - - &Apply - - - - - - - false - - - &Start - - - - - + @@ -639,8 +566,6 @@ btnConnect btnToggleLog textLog - btnApplySettings - btnToggleCore