From 19ac6d9285f66ad361d6e019f001a329c550fb22 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 19 Mar 2019 05:39:36 +0100 Subject: [PATCH] Ref T573, status bar can resize text and added XPDR mode display --- .../components/infobarstatuscomponent.cpp | 28 +++++++++++++-- .../components/infobarstatuscomponent.h | 9 +++++ .../components/infobarstatuscomponent.ui | 34 ++++++++++--------- 3 files changed, 53 insertions(+), 18 deletions(-) diff --git a/src/blackgui/components/infobarstatuscomponent.cpp b/src/blackgui/components/infobarstatuscomponent.cpp index f5d8f6588..f1c8090d8 100644 --- a/src/blackgui/components/infobarstatuscomponent.cpp +++ b/src/blackgui/components/infobarstatuscomponent.cpp @@ -9,14 +9,15 @@ #include "blackgui/components/infobarstatuscomponent.h" #include "blackgui/guiapplication.h" #include "blackgui/led.h" +#include "blackgui/guiutility.h" #include "blackcore/context/contextapplication.h" #include "blackcore/context/contextaudio.h" #include "blackcore/context/contextnetwork.h" #include "blackcore/context/contextsimulator.h" #include "blackcore/simulator.h" -#include "blackmisc/audio/audioutils.h" -#include "blackmisc/network/server.h" #include "blackmisc/simulation/simulatorplugininfo.h" +#include "blackmisc/network/server.h" +#include "blackmisc/audio/audioutils.h" #include "blackconfig/buildconfig.h" #include "ui_infobarstatuscomponent.h" @@ -45,6 +46,7 @@ namespace BlackGui { ui->setupUi(this); this->initLeds(); + this->adjustTextSize(); ui->lbl_Audio->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->lbl_Audio, &QLabel::customContextMenuRequested, this, &CInfoBarStatusComponent::onCustomAudioContextMenuRequested); @@ -103,6 +105,22 @@ namespace BlackGui this->onInternetAccessibleChanged(sGui->isInternetAccessible()); } + void CInfoBarStatusComponent::adjustTextSize() + { + CGuiUtility::setElidedText(ui->lbl_Audio, QStringLiteral("audio"), Qt::ElideRight); + CGuiUtility::setElidedText(ui->lbl_Network, QStringLiteral("network"), Qt::ElideRight); + CGuiUtility::setElidedText(ui->lbl_DBus, QStringLiteral("DBus"), {}, Qt::ElideRight); + CGuiUtility::setElidedText(ui->lbl_MapperReady, QStringLiteral("mapper ready"), Qt::ElideRight); + CGuiUtility::setElidedText(ui->lbl_Ptt, QStringLiteral("PTT"), Qt::ElideRight); + CGuiUtility::setElidedText(ui->lbl_Simulator, QStringLiteral("simulator"), Qt::ElideRight); + +// CGuiUtility::setElidedText(ui->lbl_Audio, QStringLiteral("au"), QStringLiteral("audio"), Qt::ElideRight); +// CGuiUtility::setElidedText(ui->lbl_DBus, QStringLiteral("DBus"), {}, Qt::ElideRight); +// CGuiUtility::setElidedText(ui->lbl_MapperReady, QStringLiteral("map"), QStringLiteral("mapper ready"), Qt::ElideRight); +// CGuiUtility::setElidedText(ui->lbl_Ptt, QStringLiteral("PTT"), QStringLiteral("push to talk"), Qt::ElideRight); +// CGuiUtility::setElidedText(ui->lbl_Simulator, QStringLiteral("sim"), QStringLiteral("simulator"), Qt::ElideRight); + } + void CInfoBarStatusComponent::setDBusStatus(bool dbus) { ui->led_DBus->setOn(dbus); @@ -121,6 +139,12 @@ namespace BlackGui } } + void CInfoBarStatusComponent::resizeEvent(QResizeEvent *event) + { + QFrame::resizeEvent(event); + m_dsResize.inputSignal(); + } + void CInfoBarStatusComponent::onSimulatorStatusChanged(int status) { const ISimulator::SimulatorStatus simStatus = static_cast(status); diff --git a/src/blackgui/components/infobarstatuscomponent.h b/src/blackgui/components/infobarstatuscomponent.h index 38ca70201..d3a28e98d 100644 --- a/src/blackgui/components/infobarstatuscomponent.h +++ b/src/blackgui/components/infobarstatuscomponent.h @@ -48,13 +48,21 @@ namespace BlackGui //! Set the spacing void setSpacing(int spacing); + protected: + //! \copydoc QWidget::resizeEvent + virtual void resizeEvent(QResizeEvent *event) override; + private: QScopedPointer ui; BlackCore::CActionBind m_actionPtt { "/Voice/Activate push-to-talk", BlackMisc::CIcons::radio16(), this, &CInfoBarStatusComponent::onPttChanged }; + BlackMisc::CDigestSignal m_dsResize { this, &CInfoBarStatusComponent::adjustTextSize, 1000, 25 }; //! Init the LEDs void initLeds(); + //! Init labels + void adjustTextSize(); + //! Simulator connection has been changed void onSimulatorStatusChanged(int status); @@ -84,4 +92,5 @@ namespace BlackGui }; } // ns } // ns + #endif // guard diff --git a/src/blackgui/components/infobarstatuscomponent.ui b/src/blackgui/components/infobarstatuscomponent.ui index 5f3c4c5b8..8584cef1a 100644 --- a/src/blackgui/components/infobarstatuscomponent.ui +++ b/src/blackgui/components/infobarstatuscomponent.ui @@ -2,14 +2,6 @@ CInfoBarStatusComponent - - - 0 - 0 - 250 - 20 - - 0 @@ -35,6 +27,16 @@ 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + @@ -78,7 +80,7 @@ - + Mappings ready @@ -95,12 +97,6 @@ - - - 0 - 0 - - DBus @@ -164,7 +160,7 @@ - 20 + 40 20 @@ -179,6 +175,12 @@
blackgui/led.h
1 + + BlackGui::Components::CTransponderModeComponent + QFrame +
blackgui/components/transpondermodecomponent.h
+ 1 +