further config system work
This commit is contained in:
parent
c99213f993
commit
9930061ce2
|
@ -43,6 +43,7 @@ from ColorDelegator import ColorDelegator
|
||||||
from UndoDelegator import UndoDelegator
|
from UndoDelegator import UndoDelegator
|
||||||
from OutputWindow import OutputWindow, OnDemandOutputWindow
|
from OutputWindow import OutputWindow, OnDemandOutputWindow
|
||||||
from IdleConf import idleconf
|
from IdleConf import idleconf
|
||||||
|
from configHandler import idleConf
|
||||||
import idlever
|
import idlever
|
||||||
|
|
||||||
# We need to patch linecache.checkcache, because we don't want it
|
# We need to patch linecache.checkcache, because we don't want it
|
||||||
|
@ -141,15 +142,15 @@ class ModifiedColorDelegator(ColorDelegator):
|
||||||
ColorDelegator.recolorize_main(self)
|
ColorDelegator.recolorize_main(self)
|
||||||
|
|
||||||
tagdefs = ColorDelegator.tagdefs.copy()
|
tagdefs = ColorDelegator.tagdefs.copy()
|
||||||
cconf = idleconf.getsection('Colors')
|
theme = idleConf.GetOption('main','Theme','name')
|
||||||
|
|
||||||
tagdefs.update({
|
tagdefs.update({
|
||||||
"stdin": cconf.getcolor("stdin"),
|
|
||||||
"stdout": cconf.getcolor("stdout"),
|
"stdin": idleConf.GetHighlight(theme, "stdin"),
|
||||||
"stderr": cconf.getcolor("stderr"),
|
"stdout": idleConf.GetHighlight(theme, "stdout"),
|
||||||
"console": cconf.getcolor("console"),
|
"stderr": idleConf.GetHighlight(theme, "stderr"),
|
||||||
"ERROR": cconf.getcolor("ERROR"),
|
"console": idleConf.GetHighlight(theme, "console"),
|
||||||
None: cconf.getcolor("normal"),
|
"ERROR": idleConf.GetHighlight(theme, "error"),
|
||||||
|
None: idleConf.GetHighlight(theme, "normal"),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ break-fontStyle= normal
|
||||||
hit-background= #000000
|
hit-background= #000000
|
||||||
hit-foreground= #ffffff
|
hit-foreground= #ffffff
|
||||||
hit-fontStyle= normal
|
hit-fontStyle= normal
|
||||||
cursor-background= black
|
cursor-foreround= black
|
||||||
error-background= #ff7777
|
error-background= #ff7777
|
||||||
#shell window
|
#shell window
|
||||||
stdout-foreground= blue
|
stdout-foreground= blue
|
||||||
|
@ -48,7 +48,7 @@ hilite-background= #006868
|
||||||
break-foreground= #ff7777
|
break-foreground= #ff7777
|
||||||
hit-background= #000000
|
hit-background= #000000
|
||||||
hit-foreground= #ffffff
|
hit-foreground= #ffffff
|
||||||
cursor-background= black
|
cursor-foreground= black
|
||||||
error-background= #ff7777
|
error-background= #ff7777
|
||||||
#shell window
|
#shell window
|
||||||
stdout-foreground= blue
|
stdout-foreground= blue
|
||||||
|
|
|
@ -320,10 +320,11 @@ class ConfigDialog(Toplevel):
|
||||||
('#to choose items','comment'),('\n','normal'),('def','keyword'),
|
('#to choose items','comment'),('\n','normal'),('def','keyword'),
|
||||||
(' ','normal'),('func','definition'),('(param):','normal'),
|
(' ','normal'),('func','definition'),('(param):','normal'),
|
||||||
('\n ','normal'),('"""string"""','string'),('\n var0 = ','normal'),
|
('\n ','normal'),('"""string"""','string'),('\n var0 = ','normal'),
|
||||||
("'string'",'string'),('\n var1 = ','normal'),("'selected'",'selected'),('\n var2 = ','normal'),
|
("'string'",'string'),('\n var1 = ','normal'),("'selected'",'selected'),
|
||||||
("'found'",'found'),('\n\n','normal'),(' error ','error'),
|
('\n var2 = ','normal'),("'found'",'found'),('\n\n','normal'),
|
||||||
('cursor |','cursor'),('\n ','normal'),('shell','shfg'),(' ','normal'),('stdout','shstdout'),(' ','normal'),
|
(' error ','error'),(' ','normal'),('cursor |','cursor'),
|
||||||
('stderr','shstderr'))
|
('\n ','normal'),('shell','shfg'),(' ','normal'),('stdout','shstdout'),
|
||||||
|
(' ','normal'),('stderr','shstderr'),('\n','normal'))
|
||||||
for txTa in textAndTags:
|
for txTa in textAndTags:
|
||||||
text.insert(END,txTa[0],txTa[1])
|
text.insert(END,txTa[0],txTa[1])
|
||||||
for element in self.themeElements.keys():
|
for element in self.themeElements.keys():
|
||||||
|
@ -535,7 +536,35 @@ class ConfigDialog(Toplevel):
|
||||||
return frame
|
return frame
|
||||||
|
|
||||||
def PaintThemeSample(self):
|
def PaintThemeSample(self):
|
||||||
pass
|
if self.themeBuiltin.get: #a default theme
|
||||||
|
theme=self.builtinTheme.get()
|
||||||
|
else: #a user theme
|
||||||
|
theme=self.customTheme.get()
|
||||||
|
colours=idleConf.GetHighlight(theme, 'normal')
|
||||||
|
#normalBg=colours['background']
|
||||||
|
apply(self.textHighlightSample.tag_config,('normal',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'keyword')
|
||||||
|
apply(self.textHighlightSample.tag_config,('keyword',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'comment')
|
||||||
|
apply(self.textHighlightSample.tag_config,('comment',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'definition')
|
||||||
|
apply(self.textHighlightSample.tag_config,('definition',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'string')
|
||||||
|
apply(self.textHighlightSample.tag_config,('string',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'hilite')
|
||||||
|
apply(self.textHighlightSample.tag_config,('selected',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'hit')
|
||||||
|
apply(self.textHighlightSample.tag_config,('found',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'cursor')
|
||||||
|
apply(self.textHighlightSample.tag_config,('cursor',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'error')
|
||||||
|
apply(self.textHighlightSample.tag_config,('error',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'console')
|
||||||
|
apply(self.textHighlightSample.tag_config,('shfg',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'stdout')
|
||||||
|
apply(self.textHighlightSample.tag_config,('shstdout',),colours)
|
||||||
|
colours=idleConf.GetHighlight(theme, 'stderr')
|
||||||
|
apply(self.textHighlightSample.tag_config,('shstderr',),colours)
|
||||||
|
|
||||||
def LoadFontCfg(self):
|
def LoadFontCfg(self):
|
||||||
##base editor font selection list
|
##base editor font selection list
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
##
|
##
|
||||||
##---------------------------------------------------------------------------##
|
##---------------------------------------------------------------------------##
|
||||||
"""
|
"""
|
||||||
Provides access to configuration information
|
Provides access to stored idle configuration information
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
@ -153,8 +153,17 @@ class IdleConf:
|
||||||
return cfgParser.sections()
|
return cfgParser.sections()
|
||||||
|
|
||||||
def GetHighlight(self, theme, element):
|
def GetHighlight(self, theme, element):
|
||||||
|
#get some fallback defaults
|
||||||
|
defaultFg=self.GetOption('highlight', theme, 'normal' + "-foreground",
|
||||||
|
default='#000000')
|
||||||
|
defaultBg=self.GetOption('highlight', theme, 'normal' + "-background",
|
||||||
|
default='#ffffff')
|
||||||
|
#try for requested element colours
|
||||||
fore = self.GetOption('highlight', theme, element + "-foreground")
|
fore = self.GetOption('highlight', theme, element + "-foreground")
|
||||||
back = self.GetOption('highlight', theme, element + "-background")
|
back = self.GetOption('highlight', theme, element + "-background")
|
||||||
|
#fall back if required
|
||||||
|
if not fore: fore=defaultFg
|
||||||
|
if not back: back=defaultBg
|
||||||
return {"foreground": fore,
|
return {"foreground": fore,
|
||||||
"background": back}
|
"background": back}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue