Return the currently active name for Theme or Keys section. idlelib.config-main.def ('default') includes these sections [Theme] default= 1 name= IDLE Classic name2= [Keys] default= 1 name= name2= Item 'name2', is use
(self, section)
| 364 | return self.current_colors_and_keys('Keys') |
| 365 | |
| 366 | def current_colors_and_keys(self, section): |
| 367 | """Return the currently active name for Theme or Keys section. |
| 368 | |
| 369 | idlelib.config-main.def ('default') includes these sections |
| 370 | |
| 371 | [Theme] |
| 372 | default= 1 |
| 373 | name= IDLE Classic |
| 374 | name2= |
| 375 | |
| 376 | [Keys] |
| 377 | default= 1 |
| 378 | name= |
| 379 | name2= |
| 380 | |
| 381 | Item 'name2', is used for built-in ('default') themes and keys |
| 382 | added after 2015 Oct 1 and 2016 July 1. This kludge is needed |
| 383 | because setting 'name' to a builtin not defined in older IDLEs |
| 384 | to display multiple error messages or quit. |
| 385 | See https://bugs.python.org/issue25313. |
| 386 | When default = True, 'name2' takes precedence over 'name', |
| 387 | while older IDLEs will just use name. When default = False, |
| 388 | 'name2' may still be set, but it is ignored. |
| 389 | """ |
| 390 | cfgname = 'highlight' if section == 'Theme' else 'keys' |
| 391 | default = self.GetOption('main', section, 'default', |
| 392 | type='bool', default=True) |
| 393 | name = '' |
| 394 | if default: |
| 395 | name = self.GetOption('main', section, 'name2', default='') |
| 396 | if not name: |
| 397 | name = self.GetOption('main', section, 'name', default='') |
| 398 | if name: |
| 399 | source = self.defaultCfg if default else self.userCfg |
| 400 | if source[cfgname].has_section(name): |
| 401 | return name |
| 402 | return "IDLE Classic" if section == 'Theme' else self.default_keys() |
| 403 | |
| 404 | @staticmethod |
| 405 | def default_keys(): |