diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2018-09-23 13:31:51 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-23 13:31:51 (GMT) |
commit | 6b48f9854e2ae35fd74bcd359451eb37ae65f798 (patch) | |
tree | f3aa344c5995497d779b200b80a462b86036e64e | |
parent | 0b67995bfa45393585e2e0017c82c706c4a04b04 (diff) | |
download | cpython-6b48f9854e2ae35fd74bcd359451eb37ae65f798.zip cpython-6b48f9854e2ae35fd74bcd359451eb37ae65f798.tar.gz cpython-6b48f9854e2ae35fd74bcd359451eb37ae65f798.tar.bz2 |
bpo-34548: IDLE: use configured theme colors in TextView (GH-9008)
https://bugs.python.org/issue34548
(cherry picked from commit c87d9f406bb23657c1b4cd63017bb7bd7693a1fb)
Co-authored-by: Tal Einat <taleinat+github@gmail.com>
-rw-r--r-- | Lib/idlelib/colorizer.py | 11 | ||||
-rw-r--r-- | Lib/idlelib/textview.py | 9 | ||||
-rw-r--r-- | Misc/NEWS.d/next/IDLE/2018-09-22-20-25-07.bpo-34548.7pBzjg.rst | 1 |
3 files changed, 12 insertions, 9 deletions
diff --git a/Lib/idlelib/colorizer.py b/Lib/idlelib/colorizer.py index 58cced2..f2de9fc 100644 --- a/Lib/idlelib/colorizer.py +++ b/Lib/idlelib/colorizer.py @@ -31,11 +31,12 @@ def make_pat(): prog = re.compile(make_pat(), re.S) idprog = re.compile(r"\s+(\w+)", re.S) -def color_config(text): # Called from htest, Editor, and Turtle Demo. - '''Set color opitons of Text widget. +def color_config(text): + """Set color options of Text widget. - Should be called whenever ColorDelegator is called. - ''' + If ColorDelegator is used, this should be called first. + """ + # Called from htest, TextFrame, Editor, and Turtledemo. # Not automatic because ColorDelegator does not know 'text'. theme = idleConf.CurrentTheme() normal_colors = idleConf.GetHighlight(theme, 'normal') @@ -50,6 +51,7 @@ def color_config(text): # Called from htest, Editor, and Turtle Demo. inactiveselectbackground=select_colors['background'], # new in 8.5 ) + class ColorDelegator(Delegator): def __init__(self): @@ -285,6 +287,7 @@ def _color_delegator(parent): # htest # d = ColorDelegator() p.insertfilter(d) + if __name__ == "__main__": from unittest import main main('idlelib.idle_test.test_colorizer', verbosity=2, exit=False) diff --git a/Lib/idlelib/textview.py b/Lib/idlelib/textview.py index 75b2470..464e6ac 100644 --- a/Lib/idlelib/textview.py +++ b/Lib/idlelib/textview.py @@ -5,6 +5,8 @@ from tkinter import Toplevel, Text from tkinter.ttk import Frame, Scrollbar, Button from tkinter.messagebox import showerror +from idlelib.colorizer import color_config + class TextFrame(Frame): "Display text with scrollbar." @@ -18,12 +20,9 @@ class TextFrame(Frame): super().__init__(parent) self['relief'] = 'sunken' self['height'] = 700 - # TODO: get fg/bg from theme. - self.bg = '#ffffff' - self.fg = '#000000' - self.text = text = Text(self, wrap='word', highlightthickness=0, - fg=self.fg, bg=self.bg) + self.text = text = Text(self, wrap='word', highlightthickness=0) + color_config(text) self.scroll = scroll = Scrollbar(self, orient='vertical', takefocus=False, command=text.yview) text['yscrollcommand'] = scroll.set diff --git a/Misc/NEWS.d/next/IDLE/2018-09-22-20-25-07.bpo-34548.7pBzjg.rst b/Misc/NEWS.d/next/IDLE/2018-09-22-20-25-07.bpo-34548.7pBzjg.rst new file mode 100644 index 0000000..237c0c7 --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2018-09-22-20-25-07.bpo-34548.7pBzjg.rst @@ -0,0 +1 @@ +Use configured color theme for read-only text views. |