diff options
Diffstat (limited to 'Lib/lib-stdwin/dirwin.py')
-rw-r--r-- | Lib/lib-stdwin/dirwin.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Lib/lib-stdwin/dirwin.py b/Lib/lib-stdwin/dirwin.py new file mode 100644 index 0000000..5df85e7 --- /dev/null +++ b/Lib/lib-stdwin/dirwin.py @@ -0,0 +1,28 @@ +# Module 'dirwin' + +# Directory windows, a subclass of listwin + +import gwin +import listwin +import anywin +import path +import dircache + +def action(w, string, i, detail): + (h, v), clicks, button, mask = detail + if clicks = 2: + name = path.cat(w.name, string) + try: + w = anywin.open(name) + except posix.error, why: + stdwin.message('Can\'t open ' + name + ': ' + why[1]) + +def open(name): + name = path.cat(name, '') + list = dircache.opendir(name)[:] + list.sort() + dircache.annotate(name, list) + w = listwin.open(name, list) + w.name = name + w.action = action + return w |