BIM: Fixed online search mode - fixes #17353
This commit is contained in:
committed by
Yorik van Havre
parent
954bae725e
commit
4d23ef8e4c
@@ -383,25 +383,30 @@ class BIM_Library_TaskPanel:
|
||||
import PartGui
|
||||
from PySide import QtGui
|
||||
|
||||
def add_line(f, dp):
|
||||
if self.isAllowed(f) and (text.lower() in f.lower()):
|
||||
it = QtGui.QStandardItem(f)
|
||||
it.setToolTip(os.path.join(dp, f))
|
||||
self.filemodel.appendRow(it)
|
||||
if f.endswith(".fcstd"):
|
||||
it.setIcon(QtGui.QIcon(":icons/freecad-doc.png"))
|
||||
elif f.endswith(".ifc"):
|
||||
it.setIcon(QtGui.QIcon(":/icons/IFC.svg"))
|
||||
else:
|
||||
it.setIcon(QtGui.QIcon(":/icons/Part_document.svg"))
|
||||
|
||||
self.form.tree.setModel(self.filemodel)
|
||||
self.filemodel.clear()
|
||||
if self.form.checkOnline.isChecked():
|
||||
res = self.getOfflineLib(structured=True)
|
||||
for i in range(len(res[0])):
|
||||
add_line(res[0][i], res[2][i])
|
||||
else:
|
||||
res = os.walk(self.librarypath)
|
||||
for dp, dn, fn in res:
|
||||
for f in fn:
|
||||
if self.isAllowed(f) and (text.lower() in f.lower()):
|
||||
for dp, dn, fn in res:
|
||||
for f in fn:
|
||||
if not os.path.isdir(os.path.join(dp, f)):
|
||||
it = QtGui.QStandardItem(f)
|
||||
it.setToolTip(os.path.join(dp, f))
|
||||
self.filemodel.appendRow(it)
|
||||
if f.endswith(".fcstd"):
|
||||
it.setIcon(QtGui.QIcon(":icons/freecad-doc.png"))
|
||||
elif f.endswith(".ifc"):
|
||||
it.setIcon(QtGui.QIcon(":/icons/IFC.svg"))
|
||||
else:
|
||||
it.setIcon(QtGui.QIcon(":/icons/Part_document.svg"))
|
||||
add_line(f, dp)
|
||||
self.modelmode = 0
|
||||
|
||||
def getFilters(self):
|
||||
@@ -476,16 +481,16 @@ class BIM_Library_TaskPanel:
|
||||
dn = []
|
||||
dp = []
|
||||
for k, v in d.items():
|
||||
if isinstance(v, dict):
|
||||
if isinstance(v, dict) and v:
|
||||
fn2, dn2, dp2 = addDir(v, root + "/" + k)
|
||||
fn.extend(fn2)
|
||||
dn.extend(dn2)
|
||||
dp.extend(dp2)
|
||||
else:
|
||||
fn += k
|
||||
dn += root
|
||||
dp += root + "/" + k
|
||||
return dp, dn, fn
|
||||
elif v:
|
||||
fn.append(k)
|
||||
dn.append(root)
|
||||
dp.append(root)
|
||||
return fn, dn, dp
|
||||
|
||||
templibfile = os.path.join(TEMPLIBPATH, LIBINDEXFILE)
|
||||
if not os.path.exists(templibfile):
|
||||
|
||||
Reference in New Issue
Block a user