diff --git a/bec_widgets/assets/status_icons/error.svg b/bec_widgets/assets/status_icons/error.svg
new file mode 100644
index 00000000..da2c21c6
--- /dev/null
+++ b/bec_widgets/assets/status_icons/error.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/bec_widgets/assets/status_icons/not_connected.svg b/bec_widgets/assets/status_icons/not_connected.svg
new file mode 100644
index 00000000..21e2dfa6
--- /dev/null
+++ b/bec_widgets/assets/status_icons/not_connected.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/bec_widgets/assets/status_icons/refresh.svg b/bec_widgets/assets/status_icons/refresh.svg
new file mode 100644
index 00000000..f98e08ff
--- /dev/null
+++ b/bec_widgets/assets/status_icons/refresh.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/bec_widgets/assets/status_icons/running.svg b/bec_widgets/assets/status_icons/running.svg
new file mode 100644
index 00000000..9df42617
--- /dev/null
+++ b/bec_widgets/assets/status_icons/running.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/bec_widgets/assets/status_icons/warning.svg b/bec_widgets/assets/status_icons/warning.svg
new file mode 100644
index 00000000..1e57372a
--- /dev/null
+++ b/bec_widgets/assets/status_icons/warning.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/bec_widgets/widgets/bec_status_box/status_item.py b/bec_widgets/widgets/bec_status_box/status_item.py
index f0c9628b..d2e12250 100644
--- a/bec_widgets/widgets/bec_status_box/status_item.py
+++ b/bec_widgets/widgets/bec_status_box/status_item.py
@@ -2,24 +2,30 @@
The widget is bound to be used with the BECStatusBox widget."""
import enum
+import os
from datetime import datetime
from bec_lib.utils.import_utils import lazy_import_from
from qtpy.QtCore import Qt, Slot
-from qtpy.QtWidgets import QDialog, QHBoxLayout, QLabel, QStyle, QVBoxLayout, QWidget
+from qtpy.QtGui import QIcon
+from qtpy.QtWidgets import QDialog, QHBoxLayout, QLabel, QVBoxLayout, QWidget
+
+import bec_widgets
# TODO : Put normal imports back when Pydantic gets faster
BECStatus = lazy_import_from("bec_lib.messages", ("BECStatus",))
+MODULE_PATH = os.path.dirname(bec_widgets.__file__)
+
class IconsEnum(enum.Enum):
"""Enum class for icons in the status item widget."""
- RUNNING = "SP_DialogApplyButton"
- BUSY = "SP_BrowserReload"
- IDLE = "SP_MessageBoxWarning"
- ERROR = "SP_DialogCancelButton"
- NOTCONNECTED = "SP_TitleBarContextHelpButton"
+ RUNNING = os.path.join(MODULE_PATH, "assets", "status_icons", "running.svg")
+ BUSY = os.path.join(MODULE_PATH, "assets", "status_icons", "refresh.svg")
+ IDLE = os.path.join(MODULE_PATH, "assets", "status_icons", "warning.svg")
+ ERROR = os.path.join(MODULE_PATH, "assets", "status_icons", "error.svg")
+ NOTCONNECTED = os.path.join(MODULE_PATH, "assets", "status_icons", "not_connected.svg")
class StatusItem(QWidget):
@@ -91,8 +97,8 @@ class StatusItem(QWidget):
def set_status(self) -> None:
"""Set the status icon for the status item widget."""
- icon_name = IconsEnum[self.config.status].value
- icon = self.style().standardIcon(getattr(QStyle.StandardPixmap, icon_name))
+ icon_path = IconsEnum[self.config.status].value
+ icon = QIcon(icon_path)
self._icon.setPixmap(icon.pixmap(*self.icon_size))
self._icon.setAlignment(Qt.AlignmentFlag.AlignRight)