diff --git a/icons/dark/calendar_today.svg b/icons/dark/calendar_today.svg
new file mode 100644
index 0000000..9239958
--- /dev/null
+++ b/icons/dark/calendar_today.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dark/edit_note.svg b/icons/dark/edit_note.svg
new file mode 100644
index 0000000..b8e43b1
--- /dev/null
+++ b/icons/dark/edit_note.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dark/error.svg b/icons/dark/error.svg
new file mode 100644
index 0000000..5ed37a1
--- /dev/null
+++ b/icons/dark/error.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/logo.ico b/icons/dark/logo.ico
similarity index 100%
rename from icons/logo.ico
rename to icons/dark/logo.ico
diff --git a/icons/dark/mail.svg b/icons/dark/mail.svg
new file mode 100644
index 0000000..29aa6d9
--- /dev/null
+++ b/icons/dark/mail.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dark/save.svg b/icons/dark/save.svg
new file mode 100644
index 0000000..824f03e
--- /dev/null
+++ b/icons/dark/save.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/icons/dark/semester.svg b/icons/dark/semester.svg
new file mode 100644
index 0000000..98c9d98
--- /dev/null
+++ b/icons/dark/semester.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dark/settings.svg b/icons/dark/settings.svg
new file mode 100644
index 0000000..c869e38
--- /dev/null
+++ b/icons/dark/settings.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dark/visibility_off.svg b/icons/dark/visibility_off.svg
new file mode 100644
index 0000000..53b33dc
--- /dev/null
+++ b/icons/dark/visibility_off.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dark/visibility_on.svg b/icons/dark/visibility_on.svg
new file mode 100644
index 0000000..0122768
--- /dev/null
+++ b/icons/dark/visibility_on.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dark/warning.svg b/icons/dark/warning.svg
new file mode 100644
index 0000000..cc97499
--- /dev/null
+++ b/icons/dark/warning.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/icons.yaml b/icons/icons.yaml
new file mode 100644
index 0000000..6d3a2b7
--- /dev/null
+++ b/icons/icons.yaml
@@ -0,0 +1,14 @@
+icon_path: icons/
+locked: locked.svg
+logo: logo.ico
+show_password: visibility_off.svg
+hide_password: visibility_on.svg
+semap: semap.png
+settings: settings.svg
+today: calendar_today.svg
+save: save.svg
+edit_note: edit_note.svg
+warning: warning.svg
+error: error.svg
+mail: mail.svg
+semester: semester.svg
\ No newline at end of file
diff --git a/icons/light/calendar_today.svg b/icons/light/calendar_today.svg
new file mode 100644
index 0000000..d29e276
--- /dev/null
+++ b/icons/light/calendar_today.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/critical.png b/icons/light/critical.png
similarity index 100%
rename from icons/critical.png
rename to icons/light/critical.png
diff --git a/icons/edit_note.svg b/icons/light/edit_note.svg
similarity index 100%
rename from icons/edit_note.svg
rename to icons/light/edit_note.svg
diff --git a/icons/email.svg b/icons/light/email.svg
similarity index 100%
rename from icons/email.svg
rename to icons/light/email.svg
diff --git a/icons/light/error.svg b/icons/light/error.svg
new file mode 100644
index 0000000..672c008
--- /dev/null
+++ b/icons/light/error.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/light/icons.yaml b/icons/light/icons.yaml
new file mode 100644
index 0000000..443f8f0
--- /dev/null
+++ b/icons/light/icons.yaml
@@ -0,0 +1,24 @@
+light:
+ locked: locked.svg
+ logo: logo.ico
+ show_password: visibility_off.svg
+ hide_password: visibility_on.svg
+ semap: semap.png
+ settings: settings.svg
+ today: calendar_today.svg
+ save: save.svg
+ edit_note: edit_note.svg
+ warning: warning.svg
+ error: error.svg
+dark:
+ locked: locked.svg
+ logo: logo.ico
+ show_password: visibility_off.svg
+ hide_password: visibility_on.svg
+ semap: semap.png
+ settings: settings.svg
+ today: calendar_today.svg
+ save: save.svg
+ edit_note: edit_note.svg
+ warning: warning.svg
+ error: error.svg
\ No newline at end of file
diff --git a/icons/information.png b/icons/light/information.png
similarity index 100%
rename from icons/information.png
rename to icons/light/information.png
diff --git a/icons/locked.svg b/icons/light/locked.svg
similarity index 100%
rename from icons/locked.svg
rename to icons/light/locked.svg
diff --git a/icons/light/logo.ico b/icons/light/logo.ico
new file mode 100644
index 0000000..4dfec92
Binary files /dev/null and b/icons/light/logo.ico differ
diff --git a/icons/logo_SAP.ico b/icons/light/logo_SAP.ico
similarity index 100%
rename from icons/logo_SAP.ico
rename to icons/light/logo_SAP.ico
diff --git a/icons/logo_SAP.png b/icons/light/logo_SAP.png
similarity index 100%
rename from icons/logo_SAP.png
rename to icons/light/logo_SAP.png
diff --git a/icons/light/mail.svg b/icons/light/mail.svg
new file mode 100644
index 0000000..e69de29
diff --git a/icons/plus.svg b/icons/light/plus.svg
similarity index 100%
rename from icons/plus.svg
rename to icons/light/plus.svg
diff --git a/icons/question.png b/icons/light/question.png
similarity index 100%
rename from icons/question.png
rename to icons/light/question.png
diff --git a/icons/light/save.svg b/icons/light/save.svg
new file mode 100644
index 0000000..f765241
--- /dev/null
+++ b/icons/light/save.svg
@@ -0,0 +1,16 @@
+
+
+
+
\ No newline at end of file
diff --git a/icons/semap.png b/icons/light/semap.png
similarity index 100%
rename from icons/semap.png
rename to icons/light/semap.png
diff --git a/icons/light/settings.svg b/icons/light/settings.svg
new file mode 100644
index 0000000..a44d103
--- /dev/null
+++ b/icons/light/settings.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/visibility_off.svg b/icons/light/visibility_off.svg
similarity index 100%
rename from icons/visibility_off.svg
rename to icons/light/visibility_off.svg
diff --git a/icons/visibility_on.svg b/icons/light/visibility_on.svg
similarity index 100%
rename from icons/visibility_on.svg
rename to icons/light/visibility_on.svg
diff --git a/icons/warning.png b/icons/light/warning.png
similarity index 100%
rename from icons/warning.png
rename to icons/light/warning.png
diff --git a/icons/light/warning.svg b/icons/light/warning.svg
new file mode 100644
index 0000000..e69de29
diff --git a/src/utils/icon.py b/src/utils/icon.py
index 4297a5e..64770a4 100644
--- a/src/utils/icon.py
+++ b/src/utils/icon.py
@@ -1,18 +1,38 @@
from PyQt6 import QtCore, QtGui
+# from src import MyLogger
+from omegaconf import OmegaConf
+import darkdetect
+config = OmegaConf.load("config.yaml")
+config = OmegaConf.load(f"{config.icon_path}/icons.yaml")
+path = config.icon_path
+dark = darkdetect.isDark()
+mode = "dark" if dark else "light"
+path = f"{path}/{mode}"
+
+# log = MyLogger("Icon")
class Icon:
- def __init__(self, icon_name, extension="svg"):
+ def __init__(self, icon_type, widget=None):
+
self.icon = QtGui.QIcon()
+ self.add_icon(icon_type)
+ if widget is not None:
+ widget.setIcon(self.icon)
+ def add_icon(self, icon_type):
+ icon = config[icon_type]
+ print(icon)
self.icon.addPixmap(
- QtGui.QPixmap(f"icons/{icon_name}.{extension}"),
+ QtGui.QPixmap(f"{path}/{icon}"),
QtGui.QIcon.Mode.Normal,
QtGui.QIcon.State.Off,
)
- def set_icon(self, widget):
- widget.setIcon(self.icon)
@staticmethod
def icondata(self):
return self.icon
+
+
+if __name__ == "__main__":
+ print("This is a module and can not be executed directly.")
\ No newline at end of file