From 41e8ddf2aec5448b476f6ce8a9b5796533a3dc1a Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Thu, 16 Nov 2023 20:35:50 +0100 Subject: [PATCH] Add spinbox to change radar tag font size Fixes #121 --- src/blackgui/components/radarcomponent.cpp | 12 +++++- src/blackgui/components/radarcomponent.h | 3 ++ src/blackgui/components/radarcomponent.ui | 50 ++++++++++++++-------- 3 files changed, 46 insertions(+), 19 deletions(-) diff --git a/src/blackgui/components/radarcomponent.cpp b/src/blackgui/components/radarcomponent.cpp index ebb6fa6ff..24106830e 100644 --- a/src/blackgui/components/radarcomponent.cpp +++ b/src/blackgui/components/radarcomponent.cpp @@ -22,7 +22,7 @@ using namespace BlackGui::Views; namespace BlackGui::Components { CRadarComponent::CRadarComponent(QWidget *parent) : QFrame(parent), - ui(new Ui::CRadarComponent) + ui(new Ui::CRadarComponent), m_tagFont(QApplication::font()) { ui->setupUi(this); @@ -39,6 +39,8 @@ namespace BlackGui::Components } ui->cb_RadarRange->setCurrentText(QString::number(m_rangeNM) % u" nm"); + ui->sb_FontSize->setRange(1, 100); + ui->sb_FontSize->setValue(QApplication::font().pointSize()); connect(ui->gv_RadarView, &CRadarView::radarViewResized, this, &CRadarComponent::fitInView); connect(ui->gv_RadarView, &CRadarView::zoomEvent, this, &CRadarComponent::changeRangeInSteps); @@ -46,6 +48,7 @@ namespace BlackGui::Components connect(&m_headingTimer, &QTimer::timeout, this, &CRadarComponent::rotateView); connect(ui->cb_RadarRange, qOverload(&QComboBox::currentIndexChanged), this, &CRadarComponent::changeRangeFromUserSelection); + connect(ui->sb_FontSize, qOverload(&QSpinBox::valueChanged), this, &CRadarComponent::updateFont); connect(ui->cb_Callsign, &QCheckBox::toggled, this, &CRadarComponent::refreshTargets); connect(ui->cb_Heading, &QCheckBox::toggled, this, &CRadarComponent::refreshTargets); connect(ui->cb_Altitude, &QCheckBox::toggled, this, &CRadarComponent::refreshTargets); @@ -175,6 +178,7 @@ namespace BlackGui::Components } tag->setPlainText(tagText); + tag->setFont(m_tagFont); tag->setPos(position); tag->setDefaultTextColor(Qt::green); tag->setFlags(QGraphicsItem::ItemIgnoresTransformations); @@ -259,6 +263,12 @@ namespace BlackGui::Components } } + void CRadarComponent::updateFont(int pointSize) + { + m_tagFont.setPointSize(pointSize); + this->refreshTargets(); + } + void CRadarComponent::onInfoAreaTabBarChanged(int index) { Q_UNUSED(index) diff --git a/src/blackgui/components/radarcomponent.h b/src/blackgui/components/radarcomponent.h index feca55e9c..cdd140d63 100644 --- a/src/blackgui/components/radarcomponent.h +++ b/src/blackgui/components/radarcomponent.h @@ -54,6 +54,7 @@ namespace BlackGui::Components void fitInView(); void changeRangeInSteps(bool zoomIn); void changeRangeFromUserSelection(int index); + void updateFont(int pointSize); static QPointF polarPoint(double distance, double angleRadians); @@ -74,6 +75,8 @@ namespace BlackGui::Components QTimer m_updateTimer; QTimer m_headingTimer; + QFont m_tagFont; + BlackCore::CActionBind m_actionZoomIn { BlackMisc::Input::radarZoomInHotkeyAction(), BlackMisc::Input::radarZoomInHotkeyIcon(), this, &CRadarComponent::rangeZoomIn }; BlackCore::CActionBind m_actionZoomOut { BlackMisc::Input::radarZoomOutHotkeyAction(), BlackMisc::Input::radarZoomOutHotkeyIcon(), this, &CRadarComponent::rangeZoomOut }; void rangeZoomIn(bool keydown) diff --git a/src/blackgui/components/radarcomponent.ui b/src/blackgui/components/radarcomponent.ui index 42b6331b3..6bfb7e365 100644 --- a/src/blackgui/components/radarcomponent.ui +++ b/src/blackgui/components/radarcomponent.ui @@ -44,10 +44,16 @@ 2 - - + + + + + - Lock North + Callsign + + + true @@ -61,7 +67,17 @@ - + + + + Font size + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + Altitude (FL) @@ -71,6 +87,13 @@ + + + + Lock North + + + @@ -81,16 +104,6 @@ - - - - Callsign - - - true - - - @@ -101,10 +114,7 @@ - - - - + Range @@ -114,6 +124,9 @@ + + + @@ -131,6 +144,7 @@ cb_Callsign cb_Heading cb_Altitude + sb_FontSize cb_LockNorth cb_GroundSpeed cb_Grid