From 4933be26bd3e78fbed52a84f1e3fda3cc34de4fe Mon Sep 17 00:00:00 2001
From: Syres916 <46537884+Syres916@users.noreply.github.com>
Date: Mon, 15 Jan 2024 13:43:58 +0000
Subject: [PATCH] [Gui] [Tux] Fix Nav Style Icons and theme recognition
---
src/Mod/Tux/NavigationIndicatorGui.py | 37 ++++++++++----
src/Mod/Tux/Resources/Tux.qrc | 6 ++-
.../icons/NavigationOpenSCAD_dark.svg | 50 +++++++++++++++++++
.../icons/NavigationOpenSCAD_light.svg | 50 +++++++++++++++++++
.../icons/NavigationTinkerCAD_dark.svg | 50 +++++++++++++++++++
.../icons/NavigationTinkerCAD_light.svg | 50 +++++++++++++++++++
6 files changed, 230 insertions(+), 13 deletions(-)
create mode 100644 src/Mod/Tux/Resources/icons/NavigationOpenSCAD_dark.svg
create mode 100644 src/Mod/Tux/Resources/icons/NavigationOpenSCAD_light.svg
create mode 100644 src/Mod/Tux/Resources/icons/NavigationTinkerCAD_dark.svg
create mode 100644 src/Mod/Tux/Resources/icons/NavigationTinkerCAD_light.svg
diff --git a/src/Mod/Tux/NavigationIndicatorGui.py b/src/Mod/Tux/NavigationIndicatorGui.py
index e20c0be897..c05feb1ba2 100644
--- a/src/Mod/Tux/NavigationIndicatorGui.py
+++ b/src/Mod/Tux/NavigationIndicatorGui.py
@@ -28,7 +28,7 @@ mw = Gui.getMainWindow()
statusBar = mw.statusBar()
p = App.ParamGet("User parameter:Tux/NavigationIndicator")
pView = App.ParamGet("User parameter:BaseApp/Preferences/View")
-
+pMWin = App.ParamGet("User parameter:BaseApp/Preferences/MainWindow")
try:
_encoding = QtGui.QApplication.UnicodeUTF8
@@ -62,6 +62,29 @@ class IndicatorButton(QtGui.QPushButton):
if param == "NavigationStyle":
setCurrent()
+ def mousePressEvent(self, event):
+ RePopulateIcons()
+ return super(IndicatorButton, self).mousePressEvent(event)
+
+
+def RePopulateIcons():
+ curStyleSheet = pMWin.GetString("StyleSheet")
+ if "dark" in curStyleSheet.lower():
+ StyleSheetType = "light"
+ else:
+ StyleSheetType = "dark"
+
+ a1.setIcon(QtGui.QIcon(":/icons/NavigationBlender_" + StyleSheetType + ".svg"))
+ a2.setIcon(QtGui.QIcon(":/icons/NavigationCAD_" + StyleSheetType + ".svg"))
+ a3.setIcon(QtGui.QIcon(":/icons/NavigationGesture_" + StyleSheetType + ".svg"))
+ a4.setIcon(QtGui.QIcon(":/icons/NavigationMayaGesture_" + StyleSheetType + ".svg"))
+ a5.setIcon(QtGui.QIcon(":/icons/NavigationOpenCascade_" + StyleSheetType + ".svg"))
+ a6.setIcon(QtGui.QIcon(":/icons/NavigationOpenInventor_" + StyleSheetType + ".svg"))
+ a7.setIcon(QtGui.QIcon(":/icons/NavigationOpenSCAD_" + StyleSheetType + ".svg"))
+ a8.setIcon(QtGui.QIcon(":/icons/NavigationRevit_" + StyleSheetType + ".svg"))
+ a9.setIcon(QtGui.QIcon(":/icons/NavigationTinkerCAD_" + StyleSheetType + ".svg"))
+ a10.setIcon(QtGui.QIcon(":/icons/NavigationTouchpad_" + StyleSheetType + ".svg"))
+
def retranslateUi():
"""Retranslate navigation indicator on language change"""
@@ -602,65 +625,57 @@ a0.setData("Undefined ")
a0.setObjectName("Indicator_NavigationUndefined")
a1 = QtGui.QAction(gStyle)
-a1.setIcon(QtGui.QIcon(":/icons/NavigationBlender_dark.svg"))
a1.setText("Blender ")
a1.setData("Gui::BlenderNavigationStyle")
a1.setObjectName("Indicator_NavigationBlender")
a2 = QtGui.QAction(gStyle)
-a2.setIcon(QtGui.QIcon(":/icons/NavigationCAD_dark.svg"))
a2.setText("CAD ")
a2.setData("Gui::CADNavigationStyle")
a2.setObjectName("Indicator_NavigationCAD")
a3 = QtGui.QAction(gStyle)
-a3.setIcon(QtGui.QIcon(":/icons/NavigationGesture_dark.svg"))
a3.setText("Gesture ")
a3.setData("Gui::GestureNavigationStyle")
a3.setObjectName("Indicator_NavigationGesture")
a4 = QtGui.QAction(gStyle)
-a4.setIcon(QtGui.QIcon(":/icons/NavigationMayaGesture_dark.svg"))
a4.setText("MayaGesture ")
a4.setData("Gui::MayaGestureNavigationStyle")
a4.setObjectName("Indicator_NavigationMayaGesture")
a5 = QtGui.QAction(gStyle)
-a5.setIcon(QtGui.QIcon(":/icons/NavigationOpenCascade_dark.svg"))
a5.setText("OpenCascade ")
a5.setData("Gui::OpenCascadeNavigationStyle")
a5.setObjectName("Indicator_NavigationOpenCascade")
a6 = QtGui.QAction(gStyle)
-a6.setIcon(QtGui.QIcon(":/icons/NavigationOpenInventor_dark.svg"))
a6.setText("OpenInventor ")
a6.setData("Gui::InventorNavigationStyle")
a6.setObjectName("Indicator_NavigationOpenInventor")
a7 = QtGui.QAction(gStyle)
-a7.setIcon(QtGui.QIcon(":/icons/NavigationOpenSCAD_dark.svg"))
a7.setText("OpenSCAD ")
a7.setData("Gui::OpenSCADNavigationStyle")
a7.setObjectName("Indicator_NavigationOpenSCAD")
a8 = QtGui.QAction(gStyle)
-a8.setIcon(QtGui.QIcon(":/icons/NavigationRevit_dark.svg"))
a8.setText("Revit ")
a8.setData("Gui::RevitNavigationStyle")
a8.setObjectName("Indicator_NavigationRevit")
a9 = QtGui.QAction(gStyle)
-a9.setIcon(QtGui.QIcon(":/icons/NavigationTinkerCAD_dark.svg"))
a9.setText("TinkerCAD ")
a9.setData("Gui::TinkerCADNavigationStyle")
a9.setObjectName("Indicator_NavigationTinkerCAD")
a10 = QtGui.QAction(gStyle)
-a10.setIcon(QtGui.QIcon(":/icons/NavigationTouchpad_dark.svg"))
a10.setText("Touchpad ")
a10.setData("Gui::TouchpadNavigationStyle")
a10.setObjectName("Indicator_NavigationTouchpad")
+RePopulateIcons()
+
menu.addMenu(menuSettings)
menu.addSeparator()
menu.addAction(a0)
diff --git a/src/Mod/Tux/Resources/Tux.qrc b/src/Mod/Tux/Resources/Tux.qrc
index 69dfb4ee3a..483eedd537 100644
--- a/src/Mod/Tux/Resources/Tux.qrc
+++ b/src/Mod/Tux/Resources/Tux.qrc
@@ -58,13 +58,15 @@
icons/NavigationOpenInventor_dark.svg
icons/NavigationOpenInventor_ZoomAlt.svg
icons/NavigationOpenInventor_Zoom.svg
- icons/NavigationCAD_dark.svg
+ icons/NavigationOpenSCAD_light.svg
+ icons/NavigationOpenSCAD_dark.svg
icons/NavigationOpenCascade_Select.svg
icons/NavigationOpenCascade_PanAlt.svg
icons/NavigationOpenCascade_PanAlt.svg
icons/NavigationOpenCascade_Select.svg
icons/NavigationGesture_Pan.svg
- icons/NavigationCAD_dark.svg
+ icons/NavigationTinkerCAD_light.svg
+ icons/NavigationTinkerCAD_dark.svg
icons/NavigationOpenCascade_Select.svg
icons/NavigationOpenCascade_Zoom.svg
icons/NavigationGesture_Pan.svg
diff --git a/src/Mod/Tux/Resources/icons/NavigationOpenSCAD_dark.svg b/src/Mod/Tux/Resources/icons/NavigationOpenSCAD_dark.svg
new file mode 100644
index 0000000000..1ec124fba1
--- /dev/null
+++ b/src/Mod/Tux/Resources/icons/NavigationOpenSCAD_dark.svg
@@ -0,0 +1,50 @@
+
+
+
+
diff --git a/src/Mod/Tux/Resources/icons/NavigationOpenSCAD_light.svg b/src/Mod/Tux/Resources/icons/NavigationOpenSCAD_light.svg
new file mode 100644
index 0000000000..c3829d9c93
--- /dev/null
+++ b/src/Mod/Tux/Resources/icons/NavigationOpenSCAD_light.svg
@@ -0,0 +1,50 @@
+
+
+
+
diff --git a/src/Mod/Tux/Resources/icons/NavigationTinkerCAD_dark.svg b/src/Mod/Tux/Resources/icons/NavigationTinkerCAD_dark.svg
new file mode 100644
index 0000000000..b21d4bacdf
--- /dev/null
+++ b/src/Mod/Tux/Resources/icons/NavigationTinkerCAD_dark.svg
@@ -0,0 +1,50 @@
+
+
+
+
diff --git a/src/Mod/Tux/Resources/icons/NavigationTinkerCAD_light.svg b/src/Mod/Tux/Resources/icons/NavigationTinkerCAD_light.svg
new file mode 100644
index 0000000000..5d011b3d0d
--- /dev/null
+++ b/src/Mod/Tux/Resources/icons/NavigationTinkerCAD_light.svg
@@ -0,0 +1,50 @@
+
+
+
+