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