From fba8172e0ec145d3acbe67ceb15e18f560326b5d Mon Sep 17 00:00:00 2001 From: Mat Sutcliffe Date: Thu, 22 Jul 2021 19:19:22 +0100 Subject: [PATCH] Issue #112 Hotkeys to zoom in/out radar --- src/blackgui/components/radarcomponent.h | 7 +++++++ src/blackmisc/icon.cpp | 2 ++ src/blackmisc/icons.cpp | 12 ++++++++++++ src/blackmisc/icons.h | 8 ++++++++ src/blackmisc/input/actionhotkeydefs.cpp | 22 ++++++++++++++++++++++ src/blackmisc/input/actionhotkeydefs.h | 12 ++++++++++++ 6 files changed, 63 insertions(+) diff --git a/src/blackgui/components/radarcomponent.h b/src/blackgui/components/radarcomponent.h index 970841fb9..a413b5c8d 100644 --- a/src/blackgui/components/radarcomponent.h +++ b/src/blackgui/components/radarcomponent.h @@ -13,6 +13,8 @@ #include "blackgui/enablefordockwidgetinfoarea.h" #include "blackgui/blackguiexport.h" +#include "blackcore/actionbind.h" +#include "blackmisc/input/actionhotkeydefs.h" #include #include @@ -75,6 +77,11 @@ namespace BlackGui int m_rotatenAngle = 0; QTimer m_updateTimer; QTimer m_headingTimer; + + 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) { if (keydown) { changeRangeInSteps(true); } } + void rangeZoomOut(bool keydown) { if (keydown) { changeRangeInSteps(false); } } }; } // ns } // ns diff --git a/src/blackmisc/icon.cpp b/src/blackmisc/icon.cpp index 9b87dea07..7ce4f3000 100644 --- a/src/blackmisc/icon.cpp +++ b/src/blackmisc/icon.cpp @@ -255,6 +255,8 @@ namespace BlackMisc CIcon(CIcons::StandardIconWarning16, "warning"), CIcon(CIcons::StandardIconWeatherCloudy16, "cloudy"), CIcon(CIcons::StandardIconWrench16, "wrench"), + CIcon(CIcons::StandardIconZoomIn16, "zoom in"), + CIcon(CIcons::StandardIconZoomOut16, "zoom out"), CIcon(CIcons::StandardIconBuilding16, "building"), CIcon(CIcons::Swift16, "swift"), CIcon(CIcons::Swift24, "swift"), diff --git a/src/blackmisc/icons.cpp b/src/blackmisc/icons.cpp index bc34e9a1e..aca7ff3f5 100644 --- a/src/blackmisc/icons.cpp +++ b/src/blackmisc/icons.cpp @@ -413,6 +413,18 @@ namespace BlackMisc return pm; } + const QPixmap & CIcons::zoomIn16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/magnifier-zoom-in.png"); + return pm; + } + + const QPixmap & CIcons::zoomOut16() + { + static const QPixmap pm(":/diagona/icons/diagona/icons/magnifier-zoom-out.png"); + return pm; + } + const QPixmap &CIcons::building16() { static const QPixmap pm(":/diagona/icons/diagona/icons/building.png"); diff --git a/src/blackmisc/icons.h b/src/blackmisc/icons.h index 8a9a8f8e6..567121910 100644 --- a/src/blackmisc/icons.h +++ b/src/blackmisc/icons.h @@ -188,6 +188,8 @@ namespace BlackMisc StandardIconWarning16, StandardIconWeatherCloudy16, StandardIconWrench16, + StandardIconZoomIn16, + StandardIconZoomOut16, StandardIconBuilding16, Swift16, Swift24, @@ -436,6 +438,12 @@ namespace BlackMisc //! Cut static const QPixmap &cut16(); + //! Zoom in + static const QPixmap &zoomIn16(); + + //! Zoom out + static const QPixmap &zoomOut16(); + //! Building static const QPixmap &building16(); diff --git a/src/blackmisc/input/actionhotkeydefs.cpp b/src/blackmisc/input/actionhotkeydefs.cpp index 5e31fe395..57e5dbf01 100644 --- a/src/blackmisc/input/actionhotkeydefs.cpp +++ b/src/blackmisc/input/actionhotkeydefs.cpp @@ -79,5 +79,27 @@ namespace BlackMisc return s; } + const QString &radarZoomInHotkeyAction() + { + static const QString s("/Radar/Zoom in"); + return s; + } + + CIcons::IconIndex radarZoomInHotkeyIcon() + { + return CIcons::StandardIconZoomIn16; + } + + const QString &radarZoomOutHotkeyAction() + { + static const QString s("/Radar/Zoom out"); + return s; + } + + CIcons::IconIndex radarZoomOutHotkeyIcon() + { + return CIcons::StandardIconZoomOut16; + } + } // ns } // ns diff --git a/src/blackmisc/input/actionhotkeydefs.h b/src/blackmisc/input/actionhotkeydefs.h index 7b472cb86..7c3f3c0da 100644 --- a/src/blackmisc/input/actionhotkeydefs.h +++ b/src/blackmisc/input/actionhotkeydefs.h @@ -56,6 +56,18 @@ namespace BlackMisc //! XPDR ident BLACKMISC_EXPORT BlackMisc::CIcons::IconIndex toggleXPDRIdentHotkeyIcon(); + //! Radar zoom in + BLACKMISC_EXPORT const QString &radarZoomInHotkeyAction(); + + //! Radar zoom in + BLACKMISC_EXPORT BlackMisc::CIcons::IconIndex radarZoomInHotkeyIcon(); + + //! Radar zoom out + BLACKMISC_EXPORT const QString &radarZoomOutHotkeyAction(); + + //! Radar zoom out + BLACKMISC_EXPORT BlackMisc::CIcons::IconIndex radarZoomOutHotkeyIcon(); + } // ns } // ns