diff options
author | Kurt B. Kaiser <kbk@shore.net> | 2003-01-14 22:03:31 (GMT) |
---|---|---|
committer | Kurt B. Kaiser <kbk@shore.net> | 2003-01-14 22:03:31 (GMT) |
commit | 8e92bf7699ac3617d3a0a9a55a38f642f5a6ecc6 (patch) | |
tree | 8e4486a10f7b3e00124724d0f1fe717fbb6c1f2e /Lib/idlelib/configHelpSourceEdit.py | |
parent | 50e92235e7fc7151f591f76b73fb539e34593405 (diff) | |
download | cpython-8e92bf7699ac3617d3a0a9a55a38f642f5a6ecc6.zip cpython-8e92bf7699ac3617d3a0a9a55a38f642f5a6ecc6.tar.gz cpython-8e92bf7699ac3617d3a0a9a55a38f642f5a6ecc6.tar.bz2 |
M Bindings.py
M EditorWindow.py
M NEWS.txt
M config-main.def
M configDialog.py
M configHandler.py
M configHelpSourceEdit.py
M configSectionNameDialog.py
- Change default: IDLE now starts with Python Shell.
- Removed the File Path from the Additional Help Sources scrolled list.
- Add capability to access Additional Help Sources on the web if the
Help File Path begins with //http or www. (Otherwise local path is
validated, as before.)
- Additional Help Sources were not being posted on the Help menu in the
order entered. Implement sorting the list by [HelpFiles] 'option'
number.
- Add Browse button to New Help Source dialog. Arrange to start in
Python/Doc if platform is Windows, otherwise start in current directory.
- Put the Additional Help Sources directly on the Help menu instead of in
an Extra Help cascade menu. Rearrange the Help menu so the Additional
Help Sources come last. Update help.txt appropriately.
- Fix Tk root pop-ups in configSectionNameDialog.py and configDialog.py
Diffstat (limited to 'Lib/idlelib/configHelpSourceEdit.py')
-rw-r--r-- | Lib/idlelib/configHelpSourceEdit.py | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/Lib/idlelib/configHelpSourceEdit.py b/Lib/idlelib/configHelpSourceEdit.py index bd799da..25569ca 100644 --- a/Lib/idlelib/configHelpSourceEdit.py +++ b/Lib/idlelib/configHelpSourceEdit.py @@ -1,14 +1,19 @@ "Dialog to specify or edit the parameters for a user configured help source." +import os + from Tkinter import * import tkMessageBox -import os +import tkFileDialog class GetHelpSourceDialog(Toplevel): def __init__(self, parent, title, menuItem='', filePath=''): - """ - menuItem - string, the menu item to edit, if any - filePath - string, the help file path to edit, if any + """Get menu entry and url/ local file location for Additional Help + + User selects a name for the Help resource and provides a web url + or a local file as its source. The user can enter a url or browse + for the file. + """ Toplevel.__init__(self, parent) self.configure(borderwidth=5) @@ -39,7 +44,7 @@ class GetHelpSourceDialog(Toplevel): self.menu = StringVar(self) self.path = StringVar(self) self.fontSize = StringVar(self) - self.frameMain = Frame(self, borderwidth=2, relief=SUNKEN) + self.frameMain = Frame(self, borderwidth=2, relief=GROOVE) self.frameMain.pack(side=TOP, expand=TRUE, fill=BOTH) labelMenu = Label(self.frameMain, anchor=W, justify=LEFT, text='Menu Item:') @@ -47,7 +52,7 @@ class GetHelpSourceDialog(Toplevel): width=30) self.entryMenu.focus_set() labelPath = Label(self.frameMain, anchor=W, justify=LEFT, - text='Help File Path:') + text='Help File Path: Enter URL or browse for file') self.entryPath = Entry(self.frameMain, textvariable=self.path, width=40) self.entryMenu.focus_set() @@ -55,17 +60,41 @@ class GetHelpSourceDialog(Toplevel): self.entryMenu.pack(anchor=W, padx=5, pady=3) labelPath.pack(anchor=W, padx=5, pady=3) self.entryPath.pack(anchor=W, padx=5, pady=3) + browseButton = Button(self.frameMain, text='Browse', width=8, + command=self.browseFile) + browseButton.pack(pady=3) frameButtons = Frame(self) frameButtons.pack(side=BOTTOM, fill=X) self.buttonOk = Button(frameButtons, text='OK', width=8, default=ACTIVE, command=self.Ok) self.buttonOk.grid(row=0, column=0, padx=5,pady=5) - self.buttonOk.bind('<Return>', self.Ok) - #self.buttonOk.focus() self.buttonCancel = Button(frameButtons, text='Cancel', width=8, command=self.Cancel) self.buttonCancel.grid(row=0, column=1, padx=5, pady=5) + def browseFile(self): + filetypes = [ + ("HTML Files", "*.htm *.html", "TEXT"), + ("PDF Files", "*.pdf", "TEXT"), + ("Windows Help Files", "*.chm"), + ("Text Files", "*.txt", "TEXT"), + ("All Files", "*")] + path = self.path.get() + if path: + dir, base = os.path.split(path) + else: + base = None + if sys.platform.count('win') or sys.platform.count('nt'): + dir = os.path.join(os.path.dirname(sys.executable), 'Doc') + if not os.path.isdir(dir): + dir = os.getcwd() + else: + dir = os.getcwd() + opendialog = tkFileDialog.Open(parent=self, filetypes=filetypes) + file = opendialog.show(initialdir=dir, initialfile=base) + if file: + self.path.set(file) + def MenuOk(self): "Simple validity check for a sensible menu item name" menuOk = True @@ -97,6 +126,8 @@ class GetHelpSourceDialog(Toplevel): parent=self) self.entryPath.focus_set() pathOk = False + elif path.startswith('www.') or path.startswith('http'): + pathOk = True elif not os.path.exists(path): tkMessageBox.showerror(title='File Path Error', message='Help file path does not exist.', |