bpo-24813: IDLE: Add icon to help_about (#2335)

Patch by Cheryl Sabella
This commit is contained in:
csabella 2017-06-23 12:00:29 -04:00 committed by terryjreedy
parent f87b85f808
commit d352d68977
2 changed files with 19 additions and 4 deletions

View file

@ -4,8 +4,8 @@
import os import os
from sys import version from sys import version
from tkinter import Toplevel, Frame, Label, Button from tkinter import Toplevel, Frame, Label, Button, PhotoImage
from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW, E
from idlelib import textview from idlelib import textview
@ -62,7 +62,16 @@ class AboutDialog(Toplevel):
header = Label(frame_background, text='IDLE', fg=self.fg, header = Label(frame_background, text='IDLE', fg=self.fg,
bg=self.bg, font=('courier', 24, 'bold')) bg=self.bg, font=('courier', 24, 'bold'))
header.grid(row=0, column=0, sticky=W, padx=10, pady=10) header.grid(row=0, column=0, sticky=E, padx=10, pady=10)
tk_patchlevel = self.tk.call('info', 'patchlevel')
ext = '.png' if tk_patchlevel >= '8.6' else '.gif'
icon = os.path.join(os.path.abspath(os.path.dirname(__file__)),
'Icons', f'idle_48{ext}')
self.icon_image = PhotoImage(master=self._root(), file=icon)
logo = Label(frame_background, image=self.icon_image, bg=self.bg)
logo.grid(row=0, column=0, sticky=W, rowspan=2, padx=10, pady=10)
byline_text = "Python's Integrated DeveLopment Environment" + 5*'\n' byline_text = "Python's Integrated DeveLopment Environment" + 5*'\n'
byline = Label(frame_background, text=byline_text, justify=LEFT, byline = Label(frame_background, text=byline_text, justify=LEFT,
fg=self.fg, bg=self.bg) fg=self.fg, bg=self.bg)
@ -82,7 +91,6 @@ class AboutDialog(Toplevel):
pyver = Label(frame_background, text='Python version: ' + release, pyver = Label(frame_background, text='Python version: ' + release,
fg=self.fg, bg=self.bg) fg=self.fg, bg=self.bg)
pyver.grid(row=9, column=0, sticky=W, padx=10, pady=0) pyver.grid(row=9, column=0, sticky=W, padx=10, pady=0)
tk_patchlevel = self.tk.call('info', 'patchlevel')
tkver = Label(frame_background, text='Tk version: ' + tk_patchlevel, tkver = Label(frame_background, text='Tk version: ' + tk_patchlevel,
fg=self.fg, bg=self.bg) fg=self.fg, bg=self.bg)
tkver.grid(row=9, column=1, sticky=W, padx=2, pady=0) tkver.grid(row=9, column=1, sticky=W, padx=2, pady=0)

View file

@ -9,6 +9,7 @@ from idlelib.idle_test.mock_idle import Func
from idlelib.idle_test.mock_tk import Mbox_func from idlelib.idle_test.mock_tk import Mbox_func
from idlelib.help_about import AboutDialog as About from idlelib.help_about import AboutDialog as About
from idlelib import textview from idlelib import textview
import os.path
class LiveDialogTest(unittest.TestCase): class LiveDialogTest(unittest.TestCase):
"""Simulate user clicking buttons other than [Close]. """Simulate user clicking buttons other than [Close].
@ -33,6 +34,12 @@ class LiveDialogTest(unittest.TestCase):
"""Test about dialog title""" """Test about dialog title"""
self.assertEqual(self.dialog.title(), 'About IDLE') self.assertEqual(self.dialog.title(), 'About IDLE')
def test_dialog_logo(self):
"""Test about dialog logo."""
path, file = os.path.split(self.dialog.icon_image['file'])
fn, ext = os.path.splitext(file)
self.assertEqual(fn, 'idle_48')
def test_printer_buttons(self): def test_printer_buttons(self):
"""Test buttons whose commands use printer function.""" """Test buttons whose commands use printer function."""
dialog = self.dialog dialog = self.dialog