def deletePackage(self):
''' delete selected packages from lib '''
try:
delAll = False
#
for i in QtGui.QTreeWidgetItemIterator(self.modelsList):
if str(i.value().data(0, QtCore.Qt.UserRole + 1)) == 'C':
continue
if not i.value().checkState(0) == QtCore.Qt.Checked:
continue
##########
item = i.value()
objectID = str(item.data(0, QtCore.Qt.UserRole))
##########
if not delAll:
dial = QtGui.QMessageBox()
dial.setText(u"Delete selected package {0}?".format(item.text(0)))
dial.setWindowTitle("Caution!")
dial.setIcon(QtGui.QMessageBox.Question)
delete_YES = dial.addButton('Yes', QtGui.QMessageBox.YesRole)
delete_YES_ALL = dial.addButton('Yes for all', QtGui.QMessageBox.YesRole)
delete_NO = dial.addButton('No', QtGui.QMessageBox.RejectRole)
delete_NO_ALL = dial.addButton('No for all', QtGui.QMessageBox.RejectRole)
dial.exec_()
if dial.clickedButton() == delete_NO_ALL:
break
elif dial.clickedButton() == delete_YES_ALL:
delAll = True
elif dial.clickedButton() == delete_NO:
continue
#
self.sql.delPackage(objectID)
item.setCheckState(0, QtCore.Qt.Unchecked)
item.setHidden(True)
##########
except Exception ,e:
FreeCAD.Console.PrintWarning("{0} \n".format(e))
评论列表
文章目录