1. Catch NameError on import (could be raised by case mismatch on Windows).
2. No longer need to reset pyclbr cache and show watch cursor when calling ClassBrowser -- the ClassBrowser takes care of pyclbr and the TreeWidget takes care of the watch cursor. 3. Reset the focus to the current window after error message about class browser on buffer without filename.
This commit is contained in:
parent
292dd2d1af
commit
74311b2c27
|
@ -295,7 +295,7 @@ class EditorWindow:
|
|||
# XXX Ought to insert current file's directory in front of path
|
||||
try:
|
||||
(f, file, (suffix, mode, type)) = imp.find_module(name)
|
||||
except ImportError, msg:
|
||||
except (NameError, ImportError), msg:
|
||||
tkMessageBox.showerror("Import error", str(msg), parent=self.text)
|
||||
return
|
||||
if type != imp.PY_SOURCE:
|
||||
|
@ -316,18 +316,12 @@ class EditorWindow:
|
|||
"No filename",
|
||||
"This buffer has no associated filename",
|
||||
master=self.text)
|
||||
self.text.focus_set()
|
||||
return None
|
||||
head, tail = os.path.split(filename)
|
||||
base, ext = os.path.splitext(tail)
|
||||
import pyclbr
|
||||
if pyclbr._modules.has_key(base):
|
||||
del pyclbr._modules[base]
|
||||
save_cursor = self.text["cursor"]
|
||||
self.text["cursor"] = "watch"
|
||||
self.text.update_idletasks()
|
||||
import ClassBrowser
|
||||
ClassBrowser.ClassBrowser(self.flist, base, [head])
|
||||
self.text["cursor"] = save_cursor
|
||||
|
||||
def open_path_browser(self, event=None):
|
||||
import PathBrowser
|
||||
|
|
Loading…
Reference in New Issue