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)
|
tdm.setRoot(root)
|
||||||
self.model.DataModel = tdm
|
self.model.DataModel = tdm
|
||||||
self._tdm = self.model.DataModel
|
self._tdm = self.model.DataModel
|
||||||
self._add_data()
|
# ~ self._add_data()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@property
|
||||||
|
def path(self):
|
||||||
|
return self.root
|
||||||
|
@path.setter
|
||||||
|
def path(self, value):
|
||||||
|
self.data = _P.walk_dir(value, True)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def data(self):
|
def data(self):
|
||||||
return self._data
|
return self._data
|
||||||
|
@ -4530,6 +4537,25 @@ class Paths(object):
|
||||||
paths += [cls.join(folder, f) for f in files]
|
paths += [cls.join(folder, f) for f in files]
|
||||||
return paths
|
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
|
@classmethod
|
||||||
def from_id(cls, id_ext):
|
def from_id(cls, id_ext):
|
||||||
pip = CTX.getValueByName('/singletons/com.sun.star.deployment.PackageInformationProvider')
|
pip = CTX.getValueByName('/singletons/com.sun.star.deployment.PackageInformationProvider')
|
||||||
|
|
Loading…
Reference in New Issue