Ejemplo n.º 1
0
 def LoadThemeCfg(self):
     self.themeIsBuiltin.set(idleConf.GetOption('main', 'Theme', 'default', type='bool', default=1))
     currentOption = idleConf.CurrentTheme()
     if self.themeIsBuiltin.get():
         itemList = idleConf.GetSectionList('default', 'highlight')
         itemList.sort()
         self.optMenuThemeBuiltin.SetMenu(itemList, currentOption)
         itemList = idleConf.GetSectionList('user', 'highlight')
         itemList.sort()
         if not itemList:
             self.radioThemeCustom.config(state=DISABLED)
             self.customTheme.set('- no custom themes -')
         else:
             self.optMenuThemeCustom.SetMenu(itemList, itemList[0])
     else:
         itemList = idleConf.GetSectionList('user', 'highlight')
         itemList.sort()
         self.optMenuThemeCustom.SetMenu(itemList, currentOption)
         itemList = idleConf.GetSectionList('default', 'highlight')
         itemList.sort()
         self.optMenuThemeBuiltin.SetMenu(itemList, itemList[0])
     self.SetThemeType()
     themeNames = self.themeElements.keys()
     themeNames.sort(key=lambda x: self.themeElements[x][1])
     self.optMenuHighlightTarget.SetMenu(themeNames, themeNames[0])
     self.PaintThemeSample()
     self.SetHighlightTarget()
Ejemplo n.º 2
0
    def GetDefaultItems(self):
        dItems = {'main': {},
         'highlight': {},
         'keys': {},
         'extensions': {}}
        for configType in dItems.keys():
            sections = idleConf.GetSectionList('default', configType)
            for section in sections:
                dItems[configType][section] = {}
                options = idleConf.defaultCfg[configType].GetOptionList(section)
                for option in options:
                    dItems[configType][section][option] = idleConf.defaultCfg[configType].Get(section, option)

        return dItems
Ejemplo n.º 3
0
 def LoadKeyCfg(self):
     self.keysAreBuiltin.set(idleConf.GetOption('main', 'Keys', 'default', type='bool', default=1))
     currentOption = idleConf.CurrentKeys()
     if self.keysAreBuiltin.get():
         itemList = idleConf.GetSectionList('default', 'keys')
         itemList.sort()
         self.optMenuKeysBuiltin.SetMenu(itemList, currentOption)
         itemList = idleConf.GetSectionList('user', 'keys')
         itemList.sort()
         if not itemList:
             self.radioKeysCustom.config(state=DISABLED)
             self.customKeys.set('- no custom keys -')
         else:
             self.optMenuKeysCustom.SetMenu(itemList, itemList[0])
     else:
         itemList = idleConf.GetSectionList('user', 'keys')
         itemList.sort()
         self.optMenuKeysCustom.SetMenu(itemList, currentOption)
         itemList = idleConf.GetSectionList('default', 'keys')
         itemList.sort()
         self.optMenuKeysBuiltin.SetMenu(itemList, itemList[0])
     self.SetKeysType()
     keySetName = idleConf.CurrentKeys()
     self.LoadKeysList(keySetName)
Ejemplo n.º 4
0
    def CreateNewTheme(self, newThemeName):
        if self.themeIsBuiltin.get():
            themeType = 'default'
            themeName = self.builtinTheme.get()
        else:
            themeType = 'user'
            themeName = self.customTheme.get()
        newTheme = idleConf.GetThemeDict(themeType, themeName)
        if themeName in self.changedItems['highlight'].keys():
            themeChanges = self.changedItems['highlight'][themeName]
            for element in themeChanges.keys():
                newTheme[element] = themeChanges[element]

        self.SaveNewTheme(newThemeName, newTheme)
        customThemeList = idleConf.GetSectionList('user', 'highlight')
        customThemeList.sort()
        self.optMenuThemeCustom.SetMenu(customThemeList, newThemeName)
        self.themeIsBuiltin.set(0)
        self.SetThemeType()
Ejemplo n.º 5
0
 def DeleteCustomTheme(self):
     themeName = self.customTheme.get()
     if not tkMessageBox.askyesno('Delete Theme', 'Are you sure you wish ' + 'to delete the theme %r ?' % (themeName,), parent=self):
         return
     idleConf.userCfg['highlight'].remove_section(themeName)
     if themeName in self.changedItems['highlight']:
         del self.changedItems['highlight'][themeName]
     idleConf.userCfg['highlight'].Save()
     itemList = idleConf.GetSectionList('user', 'highlight')
     itemList.sort()
     if not itemList:
         self.radioThemeCustom.config(state=DISABLED)
         self.optMenuThemeCustom.SetMenu(itemList, '- no custom themes -')
     else:
         self.optMenuThemeCustom.SetMenu(itemList, itemList[0])
     self.themeIsBuiltin.set(idleConf.defaultCfg['main'].Get('Theme', 'default'))
     self.builtinTheme.set(idleConf.defaultCfg['main'].Get('Theme', 'name'))
     self.Apply()
     self.SetThemeType()
Ejemplo n.º 6
0
 def DeleteCustomKeys(self):
     keySetName = self.customKeys.get()
     if not tkMessageBox.askyesno('Delete Key Set', 'Are you sure you wish ' + 'to delete the key set %r ?' % keySetName, parent=self):
         return
     idleConf.userCfg['keys'].remove_section(keySetName)
     if keySetName in self.changedItems['keys']:
         del self.changedItems['keys'][keySetName]
     idleConf.userCfg['keys'].Save()
     itemList = idleConf.GetSectionList('user', 'keys')
     itemList.sort()
     if not itemList:
         self.radioKeysCustom.config(state=DISABLED)
         self.optMenuKeysCustom.SetMenu(itemList, '- no custom keys -')
     else:
         self.optMenuKeysCustom.SetMenu(itemList, itemList[0])
     self.keysAreBuiltin.set(idleConf.defaultCfg['main'].Get('Keys', 'default'))
     self.builtinKeys.set(idleConf.defaultCfg['main'].Get('Keys', 'name'))
     self.Apply()
     self.SetKeysType()
Ejemplo n.º 7
0
    def CreateNewKeySet(self, newKeySetName):
        if self.keysAreBuiltin.get():
            prevKeySetName = self.builtinKeys.get()
        else:
            prevKeySetName = self.customKeys.get()
        prevKeys = idleConf.GetCoreKeys(prevKeySetName)
        newKeys = {}
        for event in prevKeys.keys():
            eventName = event[2:-2]
            binding = string.join(prevKeys[event])
            newKeys[eventName] = binding

        if prevKeySetName in self.changedItems['keys'].keys():
            keySetChanges = self.changedItems['keys'][prevKeySetName]
            for event in keySetChanges.keys():
                newKeys[event] = keySetChanges[event]

        self.SaveNewKeySet(newKeySetName, newKeys)
        customKeyList = idleConf.GetSectionList('user', 'keys')
        customKeyList.sort()
        self.optMenuKeysCustom.SetMenu(customKeyList, newKeySetName)
        self.keysAreBuiltin.set(0)
        self.SetKeysType()
Ejemplo n.º 8
0
 def GetNewThemeName(self, message):
     usedNames = idleConf.GetSectionList('user', 'highlight') + idleConf.GetSectionList('default', 'highlight')
     newTheme = GetCfgSectionNameDialog(self, 'New Custom Theme', message, usedNames).result
     return newTheme
Ejemplo n.º 9
0
 def GetNewKeysName(self, message):
     usedNames = idleConf.GetSectionList('user', 'keys') + idleConf.GetSectionList('default', 'keys')
     newKeySet = GetCfgSectionNameDialog(self, 'New Custom Key Set', message, usedNames).result
     return newKeySet