Skip to content

Commit d352d68

Browse files
csabellaterryjreedy
authored andcommitted
bpo-24813: IDLE: Add icon to help_about (#2335)
Patch by Cheryl Sabella
1 parent f87b85f commit d352d68

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

Lib/idlelib/help_about.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import os
55
from sys import version
66

7-
from tkinter import Toplevel, Frame, Label, Button
8-
from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW
7+
from tkinter import Toplevel, Frame, Label, Button, PhotoImage
8+
from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW, E
99

1010
from idlelib import textview
1111

@@ -62,7 +62,16 @@ def create_widgets(self):
6262

6363
header = Label(frame_background, text='IDLE', fg=self.fg,
6464
bg=self.bg, font=('courier', 24, 'bold'))
65-
header.grid(row=0, column=0, sticky=W, padx=10, pady=10)
65+
header.grid(row=0, column=0, sticky=E, padx=10, pady=10)
66+
67+
tk_patchlevel = self.tk.call('info', 'patchlevel')
68+
ext = '.png' if tk_patchlevel >= '8.6' else '.gif'
69+
icon = os.path.join(os.path.abspath(os.path.dirname(__file__)),
70+
'Icons', f'idle_48{ext}')
71+
self.icon_image = PhotoImage(master=self._root(), file=icon)
72+
logo = Label(frame_background, image=self.icon_image, bg=self.bg)
73+
logo.grid(row=0, column=0, sticky=W, rowspan=2, padx=10, pady=10)
74+
6675
byline_text = "Python's Integrated DeveLopment Environment" + 5*'\n'
6776
byline = Label(frame_background, text=byline_text, justify=LEFT,
6877
fg=self.fg, bg=self.bg)
@@ -82,7 +91,6 @@ def create_widgets(self):
8291
pyver = Label(frame_background, text='Python version: ' + release,
8392
fg=self.fg, bg=self.bg)
8493
pyver.grid(row=9, column=0, sticky=W, padx=10, pady=0)
85-
tk_patchlevel = self.tk.call('info', 'patchlevel')
8694
tkver = Label(frame_background, text='Tk version: ' + tk_patchlevel,
8795
fg=self.fg, bg=self.bg)
8896
tkver.grid(row=9, column=1, sticky=W, padx=2, pady=0)

Lib/idlelib/idle_test/test_help_about.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from idlelib.idle_test.mock_tk import Mbox_func
1010
from idlelib.help_about import AboutDialog as About
1111
from idlelib import textview
12+
import os.path
1213

1314
class LiveDialogTest(unittest.TestCase):
1415
"""Simulate user clicking buttons other than [Close].
@@ -33,6 +34,12 @@ def test_dialog_title(self):
3334
"""Test about dialog title"""
3435
self.assertEqual(self.dialog.title(), 'About IDLE')
3536

37+
def test_dialog_logo(self):
38+
"""Test about dialog logo."""
39+
path, file = os.path.split(self.dialog.icon_image['file'])
40+
fn, ext = os.path.splitext(file)
41+
self.assertEqual(fn, 'idle_48')
42+
3643
def test_printer_buttons(self):
3744
"""Test buttons whose commands use printer function."""
3845
dialog = self.dialog

0 commit comments

Comments
 (0)