Themes Support

Now you can select themes
This commit is contained in:
Jeison Yehuda Amihud (Blender Dumbass) 2021-01-02 23:36:29 +00:00
parent fb02ca0f81
commit 3211c59167

View file

@ -132,6 +132,8 @@ def layer(win):
win.current["settings_lists"] = {}
win.current["settings_lists"]["languages"] = settings.list_languages()
win.current["settings_lists"]["languages_open"] = False
win.current["settings_lists"]["themes"] = os.listdir(os.getcwd()+"/settings/themes")
win.current["settings_lists"]["themes_open"] = False
# Languages
@ -192,6 +194,76 @@ def layer(win):
current_Y += 50
# Themes. Finally we have some themes to choose from. And a good place to
# change them so the user would not need to do it manually. I think it's
# important.
# So there is a folder in the VCStudio installation called. settings/themes
# which contains all of the themes. So let's look through it.
# Themes
def do():
win.current["settings_lists"]["themes_open"] = \
not win.current["settings_lists"]["themes_open"]
UI_elements.roundrect(layer, win,
win.current["w"]/2-240,
110 + current_Y + win.scroll["pm_settings"],
450,
40,
10,
button=do,
icon="theme",
tip=talk.text("change_theme"))
UI_color.set(layer, win, "text_normal")
layer.set_font_size(20)
layer.move_to(win.current["w"]/2-180,
current_Y + win.scroll["pm_settings"] + 135)
layer.show_text(win.settings["Theme"])
current_Y += 50
if win.current["settings_lists"]["themes_open"]:
for lang in win.current["settings_lists"]["themes"]:
if lang != win.settings["Theme"]:
UI_color.set(layer, win, "button_active")
layer.move_to(win.current["w"]/2-227, 102 + current_Y + win.scroll["pm_settings"])
layer.line_to(win.current["w"]/2-227, 152 + current_Y + win.scroll["pm_settings"])
layer.stroke()
def do():
win.settings["Theme"] = lang
settings.write("Theme", lang)
win.current["settings_lists"]["themes_open"] = False
win.color = UI_color.get_table()
UI_elements.roundrect(layer, win,
win.current["w"]/2-220,
110 + current_Y + win.scroll["pm_settings"],
430,
40,
10,
button=do,
icon="theme",
tip=talk.text("set_theme")+lang)
UI_color.set(layer, win, "text_normal")
layer.set_font_size(20)
layer.move_to(win.current["w"]/2-150,
current_Y + win.scroll["pm_settings"] + 135)
layer.show_text(lang)
current_Y += 50
# BLUR
blur_ok = "unchecked"
@ -245,6 +317,50 @@ def layer(win):
current_Y + win.scroll["pm_settings"] + 135)
layer.show_text(talk.text("Auto_De-Blur"))
current_Y += 50
# ROUNDNESS
# The roundness setting is a setting that will define how round the UI will
# look. Potentially it can grow beyond 1.0, but will introduce weird rendering
# artifacts. If you wan to do that be free to edit the Setting file manually.
# I'm going to use the Scroller for this setting. But first we need an icon. And
# I think the opengl icon is quite good for this.
UI_elements.image(layer, win, "settings/themes/"\
+win.settings["Theme"]+"/icons/opengl.png",
win.current["w"]/2-240,
110 + current_Y + win.scroll["pm_settings"],
40,
40)
# Then i'm going to hack my way to it. I'm going to use a scroll for a scrooled
# window as the slider. Creativity.
maxround = 1000 # I need it do be a higher number then from 0 to 1 since we want
# to imulate the scroll
if "roundness_setting" not in win.scroll:
win.scroll["roundness_setting"] = 0 - win.settings["Roundness"] * 549
if (0 - win.settings["Roundness"] * 549) != win.scroll["roundness_setting"]:
win.settings["Roundness"] = (win.scroll["roundness_setting"] / 549)*-1
settings.write("Roundness", win.settings["Roundness"])
UI_elements.scroll_area(layer, win, "roundness_setting",
int(win.current["w"]/2-200),
110 + current_Y + win.scroll["pm_settings"]+33,
450,
0,
maxround,
bar=True,
sideways=True,
url="settings_layer"
)
current_Y += 50