KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21585/root/usr/lib64/python2.4/idlelib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21585/root/usr/lib64/python2.4/idlelib/configDialog.pyc
m
=5Dc@sdZdkTdkZdkZdkZdkZdkZdklZdk	l
Z
dklZdk
lZdklZdklZd	efd
YZedjo?eZeedd
ddihe_eindS(sIDLE Configuration Dialog: support user customization of IDLE by GUI

Customize font faces, sizes, and colorization attributes.  Set indentation
defaults.  Customize keybindings.  Colorization and keybindings can be
saved as user defined sets.  Select startup options including shell/editor
and default window size.  Define additional help sources.

Note that tab width in IDLE is currently fixed at eight due to Tk issues.
Refer to comment in EditorWindow autoindent code for details.

(t*N(sidleConf(s
DynOptionMenu(s
TabPageSet(s
GetKeysDialog(sGetCfgSectionNameDialog(sGetHelpSourceDialogtConfigDialogcBstZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0e1d/Z2d0Z3d1Z4d2Z5d3Z6d4Z7d5Z8d6Z9d7Z:d8Z;d9Z<d:Z=d;Z>d<Z?d=Z@d>ZAd?ZBd@ZCdAZDdBZEdCZFdDZGdEZHdFZIdGZJdHZKdIZLRS(Js'
    configuration dialog for idle
    cCsUti|||idd|id|id|idfhdd0<d	d1<dd2<dd3<dd4<dd5<dd6<dd7<dd8<d!d9<d$d:<d'd;<d*d<<|_|i	|i
|id-td.t|i
||i|id/|i||_|ii|i|i|idS(=Ntborderwidthis+%d+%diisNormal Texttnormalt00sPython Keywordstkeywordt01sPython Definitionst
definitiont02sPython Builtinstbuiltint03sPython Commentstcommentt04sPython Stringststringt05s
Selected Textthilitet06s
Found Textthitt07tCursortcursort08s
Error Textterrort09sShell Normal Texttconsolet10sShell Stdout Texttstdoutt11sShell Stderr Texttstderrt12theighttwidthtWM_DELETE_WINDOW(RR(RR(RR(R	R
(RR(sstringR(RR(RR(RR(serrorR(RR(sstdoutR(sstderrR(tToplevelt__init__tselftparentt	configuretgeometrytwinfo_rootxtwinfo_rootyt
themeElementstResetChangedItemst
CreateWidgetst	resizabletFALSEt	transienttgrab_settprotocoltCancelttabPagest	focus_settLoadConfigstAttachVarCallbackstwait_window(R#R$ttitle((t,/usr/lib64/python2.4/idlelib/configDialog.pyR"s+~



	


cCst|dddddg|_|iit|}t|ddd|id	t|_	t|dd
d|i
d	t|_t|ddd|id	t|_
t|ddd|id	t|_|i|i|i|i|i	id
tdddd|iid
tdddd|i
id
tdddd|iid
tdddd|id
t|iid
tdtdtdS(Nt	pageNamess
Fonts/TabstHighlightingtKeystGeneralttexttHelptcommandt	takefocustOktApplyR1tsidetpadxitpadytexpandtfill(t
TabPageSetR#R2t
ChangePagetFrametframeActionButtonstButtonR>R-t
buttonHelpRAtbuttonOkRBtbuttonApplyR1tbuttonCanceltCreatePageFontTabtCreatePageHighlighttCreatePageKeystCreatePageGeneraltpacktRIGHTtLEFTtBOTTOMtTOPtTRUEtBOTH(R#RK((R8R+As,




cCsnt||_t||_t||_t||_t||_t	i
|d1|_|ii
dd}	t|	dddt}t|	dddt}t|d	d
}t|}t|}t|dtd	d}t|d
ddtdt|_|iid|it|}|i d|ii!|ii d|i"t|d	d}t$||idd|i&|_'t(|d|iddddd	dd|i&}t|dt*dd}
t|
d	ddtd|i|_,t|d	d}
t|}t|}t|d	d}t1|d|iddd	d }t1|d|iddd	d!}t|d	d"}t|dtd	d#}t6|d|id$d%d&dd'dd(d)|_7|i8d*td+dd,dd-t9d.t:|i8d*td+dd,dd.t;|i8d*t<d/t=d+dd,d|i8d*t<d+dd,dd.t>|i8d*t<d+dd,dd.t>|i8d*t<d/t=|ii8d*td-t9d.t>|i8d*td.t;|i8d*td/t=|i'i8d*td/t=|i8d*td/t=d+d0|
i8d*t<d+dd,dd-t9d.t:|i,i8d-t9d.t:|
i8d*t<d/t=d+dd,d|i8d*t<d+dd.t>|i8d*t<d+dd,dd.t:|i8d*t<d/t=d+dd,d|i8d*t<d/t=d+d|i8d*t<d/t=d+d|i8d*t<d/t=d+dd,d|i8d*t<d/t=d+d|i7i8d*t<d+dd.t>|	S(2Ntcourieri
Rs
Fonts/TabstpageRitreliefR=sSet Base Editor FonttjustifysFont :RiR@texportselections<ButtonRelease-1>R?tyscrollcommandsSize :tvariabletonvalueitoffvalueitBolds,AaBbCcDdEe
FfGgHhIiJjK
1234567890
#:+=(){}[]tfontsSet Indentation DefaultssChoose indentation type :tvaluesTab key inserts spacessTab key inserts tabssChoose indentation size :sindent widthtorientt
horizontalttickintervaltfrom_ttoiRCRDRERFRGtanchori(R\i
snormal(?t	StringVarR#tfontSizet
BooleanVartfontBoldtfontNametIntVartspaceNumtindentBySpacesttkFonttFontteditFontR2tpagestframeRJtGROOVEt	frameFonttframeIndenttLabeltlabelFontTitlet
frameFontNametframeFontParamRWtlabelFontNameTitletListboxR-tlistFontNametbindtOnListFontButtonReleaset	Scrollbart
scrollFonttconfigtyviewtsettlabelFontSizeTitlet
DynOptionMenutNonet
SetFontSampletoptMenuFontSizetCheckbuttont
checkFontBoldtSOLIDtframeFontSampletlabelFontSampletlabelIndentTitletframeIndentTypetframeIndentSizetlabelIndentTypeTitletRadiobuttontradioUseSpacestradioUseTabstlabelIndentSizeTitletlabelSpaceNumTitletScalet
scaleSpaceNumRURZR[tYRYtWtX(R#RR}RRRRRRRzRRRRR|RRRRR((R8RQZs!!(""""(""""c Cs&t||_t||_t||_t||_t||_t||_t||_	|i
idd}t
|dddt}t
|dddt}t|dtddddd	d
fddd
ddddtdddt	|_|i}|idd|iddddfddfddfddfddfd dfd!d"fd#dfd$dfd%d&fd'dfd(d&fd)dfd*d+fd,dfd-d.fd/dfd0d1fd2dfd3d1fd4dfd5d6fd dfd7dfd8dfd9d:fd dfd;d;fd dfd<d<fddff}x)|D]!}|it|d|dqNWx;|iiD]*}|i|i|dd=|d>qW|i d?t!t
|dtdd|_"t
|}
t$|d@dA}t&|i"d@dBdC|i'dd}
t)|i"|i	t*dd|_+t,|
dD|idEdd@dFdC|i-|_.t,|
dD|idEdd@dGdC|i-|_/|ii0dt&|d@dHdC|i1}t$|d@dI}	t$|d@dJ}t,|dD|idEddC|i5d@dK|_6t,|dD|idEddC|i5d@dL|_7t)||it*dCt*|_8t)||it*dCt*|_9t&|d@dMdC|i:|_;|i<dNt=dOdPdQddRt>dSt?|i<dNt=dOdPdQddSt@|i<dNtAdTtBdOdPdQdP|i"i<dNtAdOdPdQdPdRt>dStC|
i<dNtAdOdPdQd|ii<dNtAdOdPdQdPdRt>dSt?|
i<dNtAdRt>dStCdOdUdQdV|i+i<dNtAdRt>dStCdOdUdQdW|i.i<dNt=dTtD|i/i<dNtEdTtB|i<dNtFdStCdOdPdQdP|	i<dNtAdTtBdOdPdQdP|i<dNtAdTtBdOdPdQdP|i6i<dNtAdTtBdOdP|i7i<dNtAdTtBdOdPdQd|i8i<dNtAdStCdOdPdQdP|i9i<dNtAdStCdTtBdOdPdQdP|i;i<dNtAdStCdOdPdQdP|SdS(XNR:R]RiR^iRfR\itRthand2RiRi
R@thighlightthicknessitwraps<Double-Button-1>cCsdS(Ntbreak((te((R8t<lambda>ss<B1-Motion>cCsdS(NR((R((R8Rss#you can click hereRs
Rs#to choose itemstdefRt tfuncRs(param):s
  s"""string"""R
s

  var0 = s'string's

  var1 = s
'selected'Rs

  var2 = s'found'Rs

  var3 = tlistR	t(Rs)

s error Rscursor |s
 tshellRRRs<ButtonPress-1>cCs|iiii|S(N(teventtwidgettwinfo_toplevelthighlightTargetRtelem(RR((R8RststateR=sSet Custom HighlightingsChoose Colour for :R?RbRgt
Foregroundt
BackgroundsSave as New Custom ThemesSelect a Highlighting Themes	Select : sa Built-in Themesa Custom ThemesDelete Custom ThemeRCRDiRERFRGRmiii(GRnR#tbuiltinThemetcustomThemeRptfgHilitetcolourRrtthemeIsBuiltinRR2RyRzRJR{tframeCustomt
frameThemetTextRR-tNONEttextHighlightSampleR=RttextAndTagsttxTatinserttENDR)tkeystelementttag_bindRtDISABLEDtframeColourSett	frameFgBgR~tlabelCustomTitleRLt	GetColourtbuttonSetColourRRtoptMenuHighlightTargetRtSetColourSampleBindingtradioFgtradioBgRtSaveAsNewThemetbuttonSaveCustomThemetlabelThemeTitletlabelTypeTitletSetThemeTypetradioThemeBuiltintradioThemeCustomtoptMenuThemeBuiltintoptMenuThemeCustomtDeleteCustomThemetbuttonDeleteCustomThemeRURWRZR[RRYRRtERVRX(R#RR=RzRRRRRRRRRR((R8RRs!		(""+!
(+"""%%+%cCst||_t||_t||_t||_t||_|ii	dd}t|dddt}t|dddt}t|}t|dd}t|dd}	t|}t|d	t}t|d
tdt|_|iid|i|id
|ii|id
|ii|iid|i|iid|it |ddd
|i!dt"|_#t |ddd
|i$}t|dd}t|dd}
t(|d|iddd
|i)dd|_*t(|d|iddd
|i)dd|_+t,||idd
d|_.t,||idd
d|_/t |ddd
|i0|_1|i2dt3ddddd t4d!t5|i2dt3ddddd!t6|i2dt7d"t8dddd|i2dt9d!t:dddd|i#i2dt9d!t:dddd|i2dt3ddddd t4d!t5|i;dd#d|i<dd#d|	i=d$dd%dd&dd't8|ii=d$dd%dd't>|i=d$dd%dd't?|i=d$dd%dd't@|i2dt7d"t8dddd|
i2dt7d"t8dddd|i*i2dt7d"t8dd|i+i2dt7d"t8dddd|i.i2dt7d!t:dddd|i/i2dt7d!t:d"t8dddd|i1i2dt7d!t:dddd|S((NR;R]RiR^R=sSet Custom Key BindingssAction - Key(s)RhR@R`s<ButtonRelease-1>R?RatxscrollcommandsGet New Keys for SelectionRsSave as New Custom Key SetsSelect a Key Sets	Select : RbRgisa Built-in Key Setisa Custom Key SetsDelete Custom Key SetRCRDiRERFRGRmtweighttrowtcolumnt
columnspantsticky(ARnR#t
bindingTargettbuiltinKeyst
customKeysRptkeysAreBuiltint
keyBindingR2RyRzRJR{RtframeKeySetstframeTargetR~RtlabelTargetTitleRt
scrollTargetYt
HORIZONTALt
scrollTargetXRR-tlistBindingsRtKeyBindingSelectedRRtxviewRRLt
GetNewKeysRt
buttonNewKeystSaveAsNewKeySettbuttonSaveCustomKeystlabelKeysTitleRRtSetKeysTypetradioKeysBuiltintradioKeysCustomRRtoptMenuKeysBuiltintoptMenuKeysCustomtDeleteCustomKeystbuttonDeleteCustomKeysRURWRZR[RRYRRXRtcolumnconfiguretrowconfiguretgridtNSEWtNStEW(R#RRzRRRRRRRRR((R8RSsp("""%("""%%+%cCsit||_t||_t||_t||_t||_t||_t	||_
t||_|ii
dd}t|dddt}t|dddt}t|dddt}t|dddt}t|dddt}t|dddt}t|dd}t|dd}t|d	|id
dd|idd
}t|d	|id
dd|idd}t|dd}t|dd}t|d	|id
dd|idd}t|d	|id
dd|idd}
t|ddd}t|dd}t$|d|idd}
t|dd}t$|d|idd}	t|ddd}t$|d|idd}t|dd}t|d	|id
ddd}t|d	|id
d dd!}t|d	|id
d"dd#}t|}t|}t|dd$}t1|}t3|d%d&d't4d(t4|_5|i6d|i5i7|i5i6d)|i8|i5i9d*|i:t;|dd+d,t<dd-d|i=|_>t;|dd.dd-d|i?|_@t;|dd/d,t<dd-d|iA|_B|iCd0tDd1d&d2d&d3tE|iCd0tDd1d&d2d&d3tE|iCd0tDd1d&d2d&d3tE|iCd0tDd1d&d2d&d3tE|iCd0tDd1d&d2d&d3tE|iCd0tDd1d&d2d&d4tFd3tG|iCd0tDd5tHd1d&d2d&|iCd0tId5tHd1d&d2d&|iCd0tJd5tHd1d&d2d&|iCd0tJd5tHd1d&d2d&|iCd0tDd5tHd1d&d2d&|iCd0tId5tHd1d&d2d&|
iCd0tJd5tHd1d&d2d&|iCd0tJd5tHd1d&d2d&|iCd0tId5tHd1d&d2d&|	iCd0tJd5tKd1d6d2d&|iCd0tJd5tKd2d&|
iCd0tJd5tKd1d6d2d&|iCd0tJd5tKd2d&|iCd0tId5tHd1d&d2d&|iCd0tJd5tKd1d6d2d&|iCd0tId5tHd1d&d2d&|iCd0tJd5tKd2d&|iCd0tJd5tKd2d&|iCd0tJd5tKd2d&|iCd0tJd1d&d2d&d3tL|iCd0tDd1d&d2d&d4tFd3tG|iCd0tDd5tH|iCd0tJd5tHd3tL|i5iCd0tId5tKd4tFd3tG|i>iCd0tDd5tHd2d&|i@iCd0tDd5tH|iBiCd0tDd5tHd2d&|S(7NR<R]RiR^R=sStartup Preferencess
At StartupRbRgiR?sOpen Edit WindowisOpen Shell WindowsAutosave PreferencesAt Start of Run (F5)  sPrompt to Saves	No PromptsInitial Window Sizes  (in characters)tWidthttextvariableRitHeightsParagraph reformats width (in characters)sDefault Source EncodingtlocalesLocale-definedsutf-8sUTF-8tnoneRsAdditional Help Sources:RiR@R`Ras<ButtonRelease-1>tEditRitAddtRemoveRCRDRERGRFRmi
(MRnR#twinWidtht	winHeightt	paraWidthRststartupEdittautoSavetencodingRptuserHelpBrowserthelpBrowserR2RyRzRJR{tframeRunt	frameSavetframeWinSizet
frameParaSizet
frameEncodingt	frameHelpR~t
labelRunTitletlabelRunChoiceTitleRRtradioStartupEdittradioStartupShelltlabelSaveTitletlabelRunSaveTitletradioSaveAskt
radioSaveAutotlabelWinSizeTitletlabelWinWidthTitletEntryt
entryWinWidthtlabelWinHeightTitletentryWinHeighttlabelParaWidthTitletentryParaWidthtlabelEncodingTitletradioEncLocaletradioEncUTF8tradioEncNonet
frameHelpListtframeHelpListButtonstlabelHelpListTitleRtscrollHelpListRR-tlistHelpRRRRtHelpSourceSelectedRLRtHelpListItemEdittbuttonHelpListEdittHelpListItemAddtbuttonHelpListAddtHelpListItemRemovetbuttonHelpListRemoveRURYRRZR[RRWRVRR(R#R RzRR.RR"RRR)R'R-R*R#R2R+R1R,R(R%R/R3RR0RR!RR$RRR((R8RTPs
"""""("""""""""""""""(%cCs|iid|i|iid|i|iid|i|iid|i	|i
id|i|iid|i
|iid|i|iid|i|iid|i|iid|i|iid|i|iid|i|iid|i|iid|i|iid|i|i id|i!|i"id|i#|i$id|i%|i&id|i'|i(id|i)dS(Ntw(*R#Rottrace_variabletVarChanged_fontSizeRrtVarChanged_fontNameRqtVarChanged_fontBoldRttVarChanged_spaceNumRutVarChanged_indentBySpacesRtVarChanged_colourRtVarChanged_builtinThemeRtVarChanged_customThemeRtVarChanged_themeIsBuiltinRtVarChanged_highlightTargetRtVarChanged_keyBindingRtVarChanged_builtinKeysRtVarChanged_customKeysRtVarChanged_keysAreBuiltinRtVarChanged_winWidthRtVarChanged_winHeightRtVarChanged_paraWidthRtVarChanged_startupEditRtVarChanged_autoSaveRtVarChanged_encoding(R#((R8R5s(cGs)|ii}|iddd|dS(NtmaintEditorWindows	font-size(R#RotgetRgtAddChangedItem(R#tparamsRg((R8R>scGs)|ii}|iddd|dS(NRRRSRf(R#RrRTRgRU(R#RVRg((R8R?scGs)|ii}|iddd|dS(NRRRSs	font-bold(R#RqRTRgRU(R#RVRg((R8R@scGs)|ii}|iddd|dS(NRRtIndents
use-spaces(R#RuRTRgRU(R#RVRg((R8RBscGs)|ii}|iddd|dS(NRRRWs
num-spaces(R#RtRTRgRU(R#RVRg((R8RAscGs|idS(N(R#tOnNewColourSet(R#RV((R8RCscGs3|ii}|iddd||idS(NRRtThemetname(R#RRTRgRUtPaintThemeSample(R#RVRg((R8RDscGsD|ii}|djo$|iddd||indS(Ns- no custom themes -RRRYRZ(R#RRTRgRUR[(R#RVRg((R8REs
cGsH|ii}|iddd||o|in|idS(NRRRYtdefault(R#RRTRgRURDRE(R#RVRg((R8RFs
cGs|idS(N(R#tSetHighlightTarget(R#RV((R8RGscGs|ii}|ii}|iitid}t
i|o|id|||n0t
i
|}|d}|id|||dS(NiRt_cfgBindingst
extensions(R#RRTRgRtkeySetRtANCHORtsplitRtidleConft
IsCoreBindingRUtGetExtnNameForEventtextNametextKeybindSection(R#RVRgRgR`RfR((R8RHs
cGs6|ii}|iddd||i|dS(NRRR;RZ(R#RRTRgRUtLoadKeysList(R#RVRg((R8RI"scGsG|ii}|djo'|iddd||i|ndS(Ns- no custom keys -RRR;RZ(R#RRTRgRURh(R#RVRg((R8RJ's
cGsH|ii}|iddd||o|in|idS(NRRR;R\(R#RRTRgRURIRJ(R#RVRg((R8RK-s
cGs)|ii}|iddd|dS(NRRRSR(R#RRTRgRU(R#RVRg((R8RL5scGs)|ii}|iddd|dS(NRRRSR(R#RRTRgRU(R#RVRg((R8RM9scGs)|ii}|iddd|dS(NRRtFormatParagrapht	paragraph(R#RRTRgRU(R#RVRg((R8RN=scGs)|ii}|iddd|dS(NRRR<seditor-on-startup(R#RRTRgRU(R#RVRg((R8ROAscGs)|ii}|iddd|dS(NRRR<tautosave(R#RRTRgRU(R#RVRg((R8RPEscGs)|ii}|iddd|dS(NRRRSR(R#RRTRgRU(R#RVRg((R8RQIscCs1hdh<dh<dh<dh<|_dS(NRRt	highlightRR_(R#tchangedItems(R#((R8R*MscCsQt|}|i|i|ph|i||<n||i|||<dS(N(tstrRgR#Rmttypethas_keytsectiontitem(R#RoRqRrRg((R8RUUscCshdh<dh<dh<dh<}x|iD]}tid|}xh|D]`}h|||<ti|i|}x3|D]+}ti|i||||||<qWqVWq7W|S(NRRRlRR_R\(tdItemsRt
configTypeRctGetSectionListtsectionsRqt
defaultCfgt
GetOptionListtoptionstoptiontGet(R#RzRsRyRtRvRq((R8tGetDefaultItems[s*
1cCs|iio=|iidt|iidt|iidtnM|iidt|i	idt|iidt|iidtdS(NR(
R#RRTRRtNORMALRRRR(R#((R8RgscCs|iio=|iidt|iidt|iidtnM|iidt|i	idt|iidt|iidtdS(NR(
R#RRTRRR}RRRR(R#((R8RrscCs|iit}|ii|}|id}|i	io|i
i}
n|ii}
t
i}|
|idijo@|id|
}x,|iD]}||i||<qWn|i}t|d||i}|o|i	ioYdd}|i|}	|	p(|ii||ii|dSq`|i|	n|ii||ii ||d||ii||ii||i!i"|n!|ii||ii|dS(NiRsGet New Keyss4Your changes will be saved as a new Custom Key Set. s/Enter a name for your new Custom Key Set below.s - (#R#RtindexRat	listIndexRTtbindingRbtbindNameRRtcurrentKeySetNameRRctGetCurrentKeySettcurrentBindingsRmRt
keySetChangesRtvaluestcurrentKeySequencest
GetKeysDialogtresulttnewKeystmessagetGetNewKeysNamet	newKeySett
select_sett
select_anchortCreateNewKeySettdeleteRRR(R#RRRRRRRRRRR((R8R}s>

cCs>tiddtidd}t|d||i}|S(NtuserRR\sNew Custom Key Set(RcRut	usedNamestGetCfgSectionNameDialogR#RRR(R#RRR((R8Rs"	cCs+|id}|o|i|ndS(NsNew Key Set Name:(R#RtnewKeysNameR(R#R((R8RscCs|iidtdS(NR(R#RRR}(R#R((R8Rsc
Cs9|iio|ii}n|ii}ti|}	h}x>|	i
D]0}|dd!}t
i|	|}|||<qTW||idi
jo:|id|}x&|i
D]}||||<qWn|i||tidd}|i|ii|||iid|idS(NiiRRi(R#RRTRtprevKeySetNameRRctGetCoreKeystprevKeysRRRt	eventNameR
tjoinRRmRt
SaveNewKeySett
newKeySetNameRut
customKeyListtsortRtSetMenuRR(
R#RRRRRRRRR((R8Rs*



c	CsPd}d}|iiod}|iit}nti	|}|i}|i|iidtx|D]}ti||}|dd!}||idijo;||id|ijo|id||}qn|iit|d|qwW|o4|ii||ii||ii|ndS(NiiiiRs - (treselectRR#RtcurselectionR~RaRRct	GetKeySett
keySetNameR`Rt	bindNamesRRRRR
RtkeyRmRtseeRR(	R#RRRR`RRRR((R8Rhs*

cCsH|ii}tiddd|d|pdSntidi||i	di
|o|i	d|=ntiditidd}|i|p*|iidt|ii|dn|ii||d	|iitid
idd|iitid
idd
|i|idS(NsDelete Key SetsAre you sure you wish sto delete the key set %r ?R$RRRs- no custom keys -iRRR;R\RZ(R#RRTRttkMessageBoxtaskyesnoRctuserCfgtremove_sectionRmRptSaveRutitemListRRRRRRRRRwR{RRBR(R#RR((R8Rs$

##
cCsK|ii}tiddd|fd|pdSntidi||i	di
|o|i	d|=ntiditidd}|i|p*|iidt|ii|dn|ii||d	|iitid
idd|iitid
idd
|i|idS(NsDelete ThemesAre you sure you wish sto delete the theme %r ?R$RlRRs- no custom themes -iRRRYR\RZ(R#RRTt	themeNameRRRcRRRmRpRRuRRRRRRRRRRwR{RRBR(R#RR((R8Rs$

##
cCs|ii}|iid}tid|dd|d|\}}|oz||jom|iioIdd}|i
|}|pdSq|i||ii|q|ii|ndS(NtbgR$R7sPick new colour for : tinitialcolors2Your changes will be saved as a new Custom Theme. s-Enter a name for your new Custom Theme below.(R#RRTttargetRtcgett
prevColourttkColorChoosertaskcolort	rgbTuplettcolourStringRRtGetNewThemeNametnewThemetCreateNewThemeRR(R#RRRRRR((R8Rs

cCs|ii}|iid||iio
d}nd}|i|i	id}|ii|h||<|i
i}|d|}|id|||dS(NRt
foregroundt
backgroundit-Rl(R#RRTt	newColourRRRtplaneR)Rt
sampleElementRt
tag_configRtthemetthemeElementRU(R#RRRRR((R8RX+s
cCs>tiddtidd}t|d||i}|S(NRRlR\sNew Custom Theme(RcRuRRR#RRR(R#RRR((R8R6s"	cCs+|id}|o|i|ndS(NsNew Theme Name:(R#RtnewThemeNameR(R#R((R8R=scCs|iiod}|ii}nd}|ii}ti||}||i
dijo:|i
d|}x&|iD]}||||<qWn|i||tidd}|i|ii|||iid|idS(NR\RRli(R#RRTt	themeTypeRRRRctGetThemeDictRRmRtthemeChangesRtSaveNewThemeRRutcustomThemeListRRRRR(R#RRRRRRR((R8RBs"

cCs6|iit}|ii|i|idS(N(	R#RRTRaRfRrRtlowerR(R#RRf((R8RZscCsa|ii}|iio
ti}n
ti}|ii	d|i
id|d|dS(NtsizeRtfamily(R#RrRTRqRvtBOLDt
fontWeightR}RxRRo(R#RRRr((R8R_s
	cCs|iidjo:|iidt|iidt|iidn7|iidt	|iidt	|iid|i
dS(NRRi(R#RRTRRRRRRR}tSetColourSample(R#((R8R]hscGs|idS(N(R#R(R#targs((R8RsscCsf|i|iid}|iio
d}nd}|ii||}|i
id|dS(NiRRR(R#R)RRTttagRRRttag_cgetRRR(R#RRR((R8Rvs
cCs@|iio|ii}n|ii}x|iiD]}|i|d}t
i||}|djo t
i|ddd|d<n||i
dijoi|i
d|}|i|do||d|d	<n|i|d
o||d
|d<qn|ii||qBW|idS(NiRRtfgBgRRRls-foregroundRs-background(R#RRTRRRR)RtelementTitleRRctGetHighlighttcoloursRmt	themeDictRpRRR(R#RRRRR((R8R[~s$
	cCs|idS(N(R#tSetHelpListButtonStates(R#R((R8R5scCs|iidjo*|iidt|iidtna|iio*|iidt|iidtn'|iidt|iidtdS(NiR(	R#R4RR7RRR;RR}(R#((R8RscCsjt|di}|oC|ii|d|df|iit|d|i	n|i
dS(NsNew Help Sourceii(tGetHelpSourceDialogR#Rt
helpSourcetuserHelpListtappendR4RRtUpdateUserHelpChangedItemsR(R#R((R8R8scCs|iit}|i|}t|dd|dd|di}|p
||jodSn||i|<|ii
||ii||d|i|i
dS(NsEdit Help SourcetmenuItemitfilePathi(R#R4R~Rat	itemIndexRRRRt
newHelpSourceRRRR(R#RRR((R8R6s
	

cCsD|iit}|i|=|ii||i|idS(N(	R#R4R~RaRRRRR(R#R((R8R:s


c	Cssh|idd<x[tdt|idD]=}|iddt|ti	|i|dd dq.WdS(s<Clear and rebuild the HelpFiles section in self.changedItemsRRt	HelpFilesiit;N(
R#RmtrangetlenRtnumRURnR
R(R#R((R8Rsc

CsXtti|}|ix!|D]}	|iit	|	q&Wt
iddddd}|i
}|ii|g}|D]}||i
q~}||joC|i|}|ii||ii||ii|nt
iddddd}|iid||iit
iddddddd|idS(NRRRSRfR\R\s	font-sizeRt7t8t9RRt13t14t16t18t20t22s	font-boldiRotbool(RRRs10s11s12RRRRRR(RRvtfamiliesR#tfontsRRfRRRRct	GetOptiontconfiguredFontRtlc_configuredFontRrRt_[1]tstlc_fontsR~tcurrentFontIndexRRRRoRRRqR(
R#RRoRRRRRRRf((R8tLoadFontCfgs,
'
cCsftiddddddd}|ii|tiddddd	dd
}|ii|dS(NRRRWs
use-spacesR\iRoRs
num-spacesitint(RcRtspaceIndentR#RuRRt(R#RtR((R8t
LoadTabCfgsc	Cs|iitidddddddti}|iiotidd}|i
|ii||tidd}|i
|p'|i
id	t|iid
q=|ii||dnctidd}|i
|ii||tidd}|i
|ii||d|i|ii}|i
|i|ii||d|i|idS(NRRRYR\RoRiRlRRs- no custom themes -i(R#RRRcRtCurrentThemet
currentOptionRTRuRRRRRRRRRRR)Rt
themeNamest$_ConfigDialog__ThemeNameIndexCompareRR[R](R#RRR((R8tLoadThemeCfgs2





cCs^|i|d|i|djodSn0|i|d|i|djodSndSdS(Niii(R#R)tatb(R#RR((R8t__ThemeNameIndexCompares
##c	Csd|iitidddddddti}|iiotidd}|i
|ii||tidd}|i
|p'|i
id	t|iid
q=|ii||dnctidd}|i
|ii||tidd}|i
|ii||d|iti}|i|dS(NRRR;R\RoRiRRRs- no custom keys -i(R#RRRcRtCurrentKeysRRTRuRRRRRRRRRRRRh(R#RRR((R8t
LoadKeyCfgs,




c	Cs |iitiddddddd|iitiddddd	dd|iitidd
d|iitidd
d|iitidd
d|i	itidd
dddti
|_x(|iD]}|i
it|d	qW|idS(NRRR<seditor-on-startupR\iRoRRkiRSRRRiRjRR
(R#RRRcRRRRRRtGetAllExtraHelpSourcesListRthelpItemR4RRR(R#R((R8tLoadGeneralCfg7s
cCs6|i|i|i|i|idS(s
        load configuration from default and user config files and populate
        the widgets on the config dialog pages.
        N(R#RRRRR	(R#((R8R4Qs



cCsntidi|ptidi|nx8|iD]*}||}tidi	|||q<WdS(s
        save a newly created core key set.
        keySetName - string, the name of the new key set
        keySet - dictionary containing the new key set
        RN(
RcRthas_sectionRtadd_sectionR`RRRgt	SetOption(R#RR`RgR((R8R`s

cCsntidi|ptidi|nx8|iD]*}||}tidi	|||q<WdS(s
        save a newly created theme.
        themeName - string, the name of the new theme
        theme - dictionary containing the new theme
        RlN(
RcRR
RRRRRRgR(R#RRRgR((R8Rls

cCssti|i||o?ti|i|||joti|i	||SqYnti|i
|||S(N(RcRwRtt
has_optionRqRrR{RgRtRemoveOptionR(R#RtRqRrRg((R8tSetUserValuexs cCs&tidix|iiD]}t}x|i|iD]}|djotidi
dt}nxW|i||iD]>}|i|||}|i||||o
t}qqWqAW|oti|iq!q!Wx%ddgD]}ti|iqW|idS(s3Save configuration changes to the user config file.RRRRRlN(RcRRR#RmRRttFalsetcfgTypeHasChangesRqRtTrueRrRgRR*(R#RtRRgRrRq((R8tSaveAllChangedConfigss*


cCsO|iii}x6|D].}|i|i|i|i	qWdS(N(
R#R$t
instance_dictRtwinInstancestinstancetResetColorizert	ResetFonttResetKeybindingstreset_help_menu_entries(R#RR((R8tActivateConfigChangess


cCs|idS(N(R#tdestroy(R#((R8R1scCs|i|idS(N(R#RBR(R#((R8RAs
cCs|i|idS(N(R#RR(R#((R8RBs
cCsdS(N((R#((R8R>s(Mt__name__t
__module__t__doc__R"R+RQRRRSRTR5R>R?R@RBRARCRDRERFRGRHRIRJRKRLRMRNRORPRQR*RUR|RRRRRRRRhRRRRXRRRRRRR]RRR[R5RR8R6R:RRRRRRR	R4RRRRRR1RARBR>(((R8Rs	&		V	[	E	~																											$																						
				
	!												t__main__R=tDialogR?cCs
ttdS(NtSettings(Rtroot(((R8Rs(RtTkinterRRRvR
tcopyt
configHandlerRctdynOptionMenuWidgetRttabpageRHtkeybindingDialogRtconfigSectionNameDialogRtconfigHelpSourceEditRR!RRtTkR#RLRURtmainloop(
R
RvRRRcRRRR%R#RRHR((R8t?s(






		

Anon7 - 2021