1990-10-13 16:23:40 -03:00
|
|
|
# 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
|
1992-01-01 15:35:13 -04:00
|
|
|
if clicks == 2:
|
1991-08-16 10:28:23 -03:00
|
|
|
name = path.join(w.name, string)
|
1990-10-13 16:23:40 -03:00
|
|
|
try:
|
1990-10-21 13:15:58 -03:00
|
|
|
w2 = anywin.open(name)
|
|
|
|
w2.parent = w
|
1990-10-13 16:23:40 -03:00
|
|
|
except posix.error, why:
|
|
|
|
stdwin.message('Can\'t open ' + name + ': ' + why[1])
|
|
|
|
|
|
|
|
def open(name):
|
1991-08-16 10:28:23 -03:00
|
|
|
name = path.join(name, '')
|
1990-10-13 16:23:40 -03:00
|
|
|
list = dircache.opendir(name)[:]
|
|
|
|
list.sort()
|
|
|
|
dircache.annotate(name, list)
|
|
|
|
w = listwin.open(name, list)
|
|
|
|
w.name = name
|
|
|
|
w.action = action
|
|
|
|
return w
|