Skip to content

Commit 15f63cf

Browse files
committed
Fix icons now shown correclty on Windows
1 parent dec5af7 commit 15f63cf

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

images/home.png

8.25 KB
Loading

images/search.png

11.8 KB
Loading

qt/python/mantidqt/mantidqt/widgets/helpwindow/helpwindowview.py

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@
1717
QFrame,
1818
QShortcut,
1919
QApplication,
20+
QStyle,
2021
)
2122
from qtpy.QtWebEngineWidgets import QWebEngineView, QWebEngineSettings
2223
from qtpy.QtCore import QUrl, Qt, QEvent
2324
from qtpy.QtGui import QIcon, QKeySequence
25+
from pathlib import Path
2426

2527
# Attempt to import QWebEnginePage in a way that works across different Qt bindings/versions
2628
try:
@@ -110,25 +112,25 @@ def __init__(self, presenter, interceptor=None):
110112
# ---------------------------------
111113

112114
# Back
113-
self.backButton.setIcon(QIcon.fromTheme("go-previous", QIcon(":/qt-project.org/styles/commonstyle/images/left-arrow-32.png")))
115+
self.backButton.setIcon(self.style().standardIcon(QStyle.SP_ArrowBack))
114116
self.backButton.setToolTip("Go Back")
115117
self.backButton.clicked.connect(self.browser.back)
116118
self.toolbar.addWidget(self.backButton)
117119

118120
# Forward
119-
self.forwardButton.setIcon(QIcon.fromTheme("go-next", QIcon(":/qt-project.org/styles/commonstyle/images/right-arrow-32.png")))
121+
self.forwardButton.setIcon(self.style().standardIcon(QStyle.SP_ArrowForward))
120122
self.forwardButton.setToolTip("Go Forward")
121123
self.forwardButton.clicked.connect(self.browser.forward)
122124
self.toolbar.addWidget(self.forwardButton)
123125

124126
# Home
125-
self.homeButton.setIcon(QIcon.fromTheme("go-home", QIcon(":/qt-project.org/styles/commonstyle/images/home-32.png")))
127+
self.homeButton.setIcon(self.get_mantid_icon("home.png"))
126128
self.homeButton.setToolTip("Go to Home Page")
127129
self.homeButton.clicked.connect(self.on_home_clicked)
128130
self.toolbar.addWidget(self.homeButton)
129131

130132
# Reload
131-
self.reloadButton.setIcon(QIcon.fromTheme("view-refresh", QIcon(":/qt-project.org/styles/commonstyle/images/refresh-32.png")))
133+
self.reloadButton.setIcon(self.style().standardIcon(QStyle.SP_BrowserReload))
132134
self.reloadButton.setToolTip("Reload Current Page")
133135
self.reloadButton.clicked.connect(self.browser.reload)
134136
self.toolbar.addWidget(self.reloadButton)
@@ -139,7 +141,7 @@ def __init__(self, presenter, interceptor=None):
139141

140142
# Find button in toolbar
141143
self.findButton = QPushButton()
142-
self.findButton.setIcon(QIcon.fromTheme("edit-find", QIcon(":/qt-project.org/styles/commonstyle/images/find-32.png")))
144+
self.findButton.setIcon(self.get_mantid_icon("search.png"))
143145
self.findButton.setToolTip("Find in Page (Ctrl+F)")
144146
self.findButton.clicked.connect(self.show_find_toolbar)
145147
self.toolbar.addWidget(self.findButton)
@@ -168,6 +170,22 @@ def __init__(self, presenter, interceptor=None):
168170

169171
QApplication.instance().installEventFilter(self)
170172

173+
def get_mantid_icon(self, filename):
174+
"""Get icon from mantid/images directory"""
175+
current_file = Path(__file__).resolve()
176+
177+
# Find mantid root directory
178+
for parent in current_file.parents:
179+
if parent.name == "mantid":
180+
images_dir = parent / "images"
181+
icon_path = images_dir / filename
182+
183+
if icon_path.exists():
184+
return QIcon(str(icon_path))
185+
break
186+
187+
return QIcon() # Return empty if not found
188+
171189
def setup_find_toolbar(self, parent_layout):
172190
"""Create and setup the find toolbar widget."""
173191
self.find_frame = QFrame()

0 commit comments

Comments
 (0)