Add data from path in tree control

This commit is contained in:
Mauricio Baeza 2020-11-20 23:21:57 -06:00
parent 98e09e9e1d
commit d40371752b
1 changed files with 27 additions and 1 deletions

View File

@ -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')