|
112 | 112 | _take_3d_screenshot, # noqa: F401
|
113 | 113 | )
|
114 | 114 | from ._utils import (
|
| 115 | + _ICONS_PATH, |
115 | 116 | _init_mne_qtapp,
|
116 | 117 | _qt_app_exec,
|
117 | 118 | _qt_detect_theme,
|
@@ -276,13 +277,13 @@ def __init__(self, value, callback, icon=None):
|
276 | 277 | self.setText(value)
|
277 | 278 | self.released.connect(callback)
|
278 | 279 | if icon:
|
279 |
| - self.setIcon(QIcon.fromTheme(icon)) |
| 280 | + self.setIcon(_qicon(icon)) |
280 | 281 |
|
281 | 282 | def _click(self):
|
282 | 283 | self.click()
|
283 | 284 |
|
284 | 285 | def _set_icon(self, icon):
|
285 |
| - self.setIcon(QIcon.fromTheme(icon)) |
| 286 | + self.setIcon(_qicon(icon)) |
286 | 287 |
|
287 | 288 |
|
288 | 289 | class _Slider(QSlider, _AbstractSlider, _Widget, metaclass=_BaseWidget):
|
@@ -474,16 +475,16 @@ def __init__(self, value, rng, callback):
|
474 | 475 | self._slider.valueChanged.connect(callback)
|
475 | 476 | self._nav_hbox = QHBoxLayout()
|
476 | 477 | self._play_button = QPushButton()
|
477 |
| - self._play_button.setIcon(QIcon.fromTheme("play")) |
| 478 | + self._play_button.setIcon(_qicon("play")) |
478 | 479 | self._nav_hbox.addWidget(self._play_button)
|
479 | 480 | self._pause_button = QPushButton()
|
480 |
| - self._pause_button.setIcon(QIcon.fromTheme("pause")) |
| 481 | + self._pause_button.setIcon(_qicon("pause")) |
481 | 482 | self._nav_hbox.addWidget(self._pause_button)
|
482 | 483 | self._reset_button = QPushButton()
|
483 |
| - self._reset_button.setIcon(QIcon.fromTheme("reset")) |
| 484 | + self._reset_button.setIcon(_qicon("reset")) |
484 | 485 | self._nav_hbox.addWidget(self._reset_button)
|
485 | 486 | self._loop_button = QPushButton()
|
486 |
| - self._loop_button.setIcon(QIcon.fromTheme("restore")) |
| 487 | + self._loop_button.setIcon(_qicon("restore")) |
487 | 488 | self._loop_button.setStyleSheet("background-color : lightgray;")
|
488 | 489 | self._loop_button._checked = True
|
489 | 490 |
|
@@ -1494,18 +1495,18 @@ def closeEvent(event):
|
1494 | 1495 | self._window.closeEvent = closeEvent
|
1495 | 1496 |
|
1496 | 1497 | def _window_load_icons(self):
|
1497 |
| - self._icons["help"] = QIcon.fromTheme("help") |
1498 |
| - self._icons["play"] = QIcon.fromTheme("play") |
1499 |
| - self._icons["pause"] = QIcon.fromTheme("pause") |
1500 |
| - self._icons["reset"] = QIcon.fromTheme("reset") |
1501 |
| - self._icons["scale"] = QIcon.fromTheme("scale") |
1502 |
| - self._icons["clear"] = QIcon.fromTheme("clear") |
1503 |
| - self._icons["movie"] = QIcon.fromTheme("movie") |
1504 |
| - self._icons["restore"] = QIcon.fromTheme("restore") |
1505 |
| - self._icons["screenshot"] = QIcon.fromTheme("screenshot") |
1506 |
| - self._icons["visibility_on"] = QIcon.fromTheme("visibility_on") |
1507 |
| - self._icons["visibility_off"] = QIcon.fromTheme("visibility_off") |
1508 |
| - self._icons["folder"] = QIcon.fromTheme("folder") |
| 1498 | + self._icons["help"] = _qicon("help") |
| 1499 | + self._icons["play"] = _qicon("play") |
| 1500 | + self._icons["pause"] = _qicon("pause") |
| 1501 | + self._icons["reset"] = _qicon("reset") |
| 1502 | + self._icons["scale"] = _qicon("scale") |
| 1503 | + self._icons["clear"] = _qicon("clear") |
| 1504 | + self._icons["movie"] = _qicon("movie") |
| 1505 | + self._icons["restore"] = _qicon("restore") |
| 1506 | + self._icons["screenshot"] = _qicon("screenshot") |
| 1507 | + self._icons["visibility_on"] = _qicon("visibility_on") |
| 1508 | + self._icons["visibility_off"] = _qicon("visibility_off") |
| 1509 | + self._icons["folder"] = _qicon("folder") |
1509 | 1510 |
|
1510 | 1511 | def _window_clean(self):
|
1511 | 1512 | self.figure._plotter = None
|
@@ -1844,3 +1845,10 @@ def _testing_context(interactive):
|
1844 | 1845 | finally:
|
1845 | 1846 | pyvista.OFF_SCREEN = orig_offscreen
|
1846 | 1847 | renderer.MNE_3D_BACKEND_TESTING = orig_testing
|
| 1848 | + |
| 1849 | + |
| 1850 | +def _qicon(name): |
| 1851 | + # Get icon from theme with a file fallback |
| 1852 | + return QIcon.fromTheme( |
| 1853 | + name, QIcon(str(_ICONS_PATH / "light" / "actions" / f"{name}.svg")) |
| 1854 | + ) |
0 commit comments