Add data from path in tree control
This commit is contained in:
parent
98e09e9e1d
commit
d40371752b
|
@ -3692,9 +3692,16 @@ class UnoTree(UnoBaseObject):
|
|||
tdm.setRoot(root)
|
||||
self.model.DataModel = tdm
|
||||
self._tdm = self.model.DataModel
|
||||
self._add_data()
|
||||
# ~ self._add_data()
|
||||
return
|
||||
|
||||
@property
|
||||
def path(self):
|
||||
return self.root
|
||||
@path.setter
|
||||
def path(self, value):
|
||||
self.data = _P.walk_dir(value, True)
|
||||
|
||||
@property
|
||||
def data(self):
|
||||
return self._data
|
||||
|
@ -4530,6 +4537,25 @@ class Paths(object):
|
|||
paths += [cls.join(folder, f) for f in files]
|
||||
return paths
|
||||
|
||||
@classmethod
|
||||
def walk_dir(cls, path, tree=False):
|
||||
folders = []
|
||||
if tree:
|
||||
i = 0
|
||||
p = 0
|
||||
parents = {path: 0}
|
||||
for root, dirs, _ in os.walk(path):
|
||||
for name in dirs:
|
||||
i += 1
|
||||
rn = cls.join(root, name)
|
||||
if not rn in parents:
|
||||
parents[rn] = i
|
||||
folders.append((i, parents[root], name))
|
||||
else:
|
||||
for root, dirs, _ in os.walk(path):
|
||||
folders += [cls.join(root, name) for name in dirs]
|
||||
return folders
|
||||
|
||||
@classmethod
|
||||
def from_id(cls, id_ext):
|
||||
pip = CTX.getValueByName('/singletons/com.sun.star.deployment.PackageInformationProvider')
|
||||
|
|
Loading…
Reference in New Issue