From 47570323d84e6a7e951c5e30e6b40eb1138c30f0 Mon Sep 17 00:00:00 2001 From: Adam Shaw Date: Sat, 4 Aug 2018 17:34:24 -0500 Subject: [PATCH] Added simple global skin manager --- .../GameShell/10_Settings/Storage/__init__.py | 7 +-- sys.py/UI/skin_manager.py | 47 ++++++++++--------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/Menu/GameShell/10_Settings/Storage/__init__.py b/Menu/GameShell/10_Settings/Storage/__init__.py index 76ba5ca..e79cd2a 100644 --- a/Menu/GameShell/10_Settings/Storage/__init__.py +++ b/Menu/GameShell/10_Settings/Storage/__init__.py @@ -6,6 +6,7 @@ import os ## local UI import from UI.page import Page +from UI.skin_manager import SkinManager from UI.constants import ICON_TYPES,Width,Height from UI.icon_item import IconItem from UI.icon_pool import MyIconPool @@ -27,7 +28,7 @@ class StoragePage(Page): _BGmsg = "%.1fGB of %.1fGB Used" _DskUsg = None - _HighColor = pygame.Color(51,166,255) + _HighColor = pygame.Color(*SkinManager().GiveColor('High')) _FootMsg = ["Nav.","","","Back",""] def __init__(self): @@ -98,7 +99,7 @@ class StoragePage(Page): rect_ = midRect(self._Width/2,self._Height-30,170,17, Width,Height) - aa_round_rect(self._CanvasHWND,rect_, (193,193,193),5,0,(193,193,193)) + aa_round_rect(self._CanvasHWND, rect_, SkinManager().GiveColor('Line'), 5, 0, SkinManager().GiveColor('Line')) rect2 = midRect(self._Width/2,self._Height-30,int(170*(1.0-usage_percent)),17, Width,Height) @@ -106,7 +107,7 @@ class StoragePage(Page): rect2.left = rect_.left rect2.top = rect_.top - aa_round_rect(self._CanvasHWND,rect2, (126,206,244),5,0,(126,206,244)) + aa_round_rect(self._CanvasHWND,rect2, SkinManager().GiveColor('Front'),5,0,SkinManager().GiveColor('Front')) class APIOBJ(object): diff --git a/sys.py/UI/skin_manager.py b/sys.py/UI/skin_manager.py index 5b6b3f8..7986daf 100644 --- a/sys.py/UI/skin_manager.py +++ b/sys.py/UI/skin_manager.py @@ -23,7 +23,7 @@ class SkinManager(object): _Config = None def __init__(self): - pass + self.Init() def ConvertToRGB(self,hexstr): @@ -31,44 +31,47 @@ class SkinManager(object): return tuple(int(h[i:i+2], 16) for i in (0, 2 ,4)) def Init(self): - + if not SkinManager._Colors: + self.SetColors() + + def SetColors(self): Colors = {} - Colors["High"] = pygame.Color(51,166,255) - Colors["Text"] = pygame.Color(83,83,83) - Colors["Front"] = pygame.Color(131,199,219) - Colors["URL"] = pygame.Color(51,166,255) - Colors["Line"] = pygame.Color(169,169,169) - Colors["TitleBg"] = pygame.Color(228,228,228) - Colors["Active"] = pygame.Color(175,90,0) - Colors["White"] = pygame.Color(255,255,255) - - self._Colors = Colors - + Colors["High"] = pygame.Color(51, 166, 255) + Colors["Text"] = pygame.Color(83, 83, 83) + Colors["Front"] = pygame.Color(131, 199, 219) + Colors["URL"] = pygame.Color(51, 166, 255) + Colors["Line"] = pygame.Color(169, 169, 169) + Colors["TitleBg"] = pygame.Color(228, 228, 228) + Colors["Active"] = pygame.Color(175, 90, 0) + Colors["White"] = pygame.Color(255, 255, 255) + + SkinManager._Colors = Colors + self._Config = CaseConfigParser() - + fname = "../skin/"+config.SKIN+"/config.cfg" - + try: self._Config.read(fname) - except Exception,e: + except Exception, e: print("read skin config.cfg error %s" % str(e)) return else: if "Colors" in self._Config.sections(): colour_opts = self._Config.options("Colors") # print(colour_opts) - for i in self._Colors: + for i in SkinManager._Colors: if i in colour_opts: try: - self._Colors[i] = self.ConvertToRGB(self._Config.get("Colors",i)) - except Exception,e: + SkinManager._Colors[i] = self.ConvertToRGB( + self._Config.get("Colors", i)) + except Exception, e: print("error in ConvertToRGB %s" % str(e)) continue - def GiveColor(self,name): - if name in self._Colors: - return self._Colors[name] + if name in SkinManager._Colors: + return SkinManager._Colors[name] else: return pygame.Color(255,0,0)