개정판 100ba941
Context Menu 중 Delete Symbol 기능 추가
DTI_PID/DTI_PID/QDirTreeWidget.py | ||
---|---|---|
48 | 48 |
displaySymbolAction.triggered.connect(lambda: self.displaySymbolActionClickEvent(text)) |
49 | 49 |
menu.addAction(displaySymbolAction) |
50 | 50 |
deleteSymbolAction = QAction(self.tr("Delete Symbol")) |
51 |
deleteSymbolAction.triggered.connect(lambda: self.deleteSymbolActionClickEvent()) |
|
51 |
deleteSymbolAction.triggered.connect(lambda: self.deleteSymbolActionClickEvent(text))
|
|
52 | 52 |
menu.addAction(deleteSymbolAction) |
53 | 53 |
menu.exec_(self.viewport().mapToGlobal(position)) |
54 | 54 | |
... | ... | |
61 | 61 |
dialog = QSymbolDisplayDialog.QSymbolDisplayDialog(image) |
62 | 62 |
dialog.showDialog() |
63 | 63 | |
64 |
def deleteSymbolActionClickEvent(self): |
|
65 |
print("delete symbol") |
|
64 |
def deleteSymbolActionClickEvent(self, itemName): |
|
65 |
msg = QMessageBox() |
|
66 |
msg.setIcon(QMessageBox.Critical) |
|
67 |
msg.setText("선택한 심볼을 삭제하시겠습니까?\n삭제된 심볼은 복구할 수 없습니다.") |
|
68 |
msg.setWindowTitle("심볼 삭제") |
|
69 |
msg.setStandardButtons(QMessageBox.Ok|QMessageBox.Cancel) |
|
70 |
#msg.buttonClicked.connect(lambda: self.handleDeleteSymbolAction(itemName)) |
|
71 |
result = msg.exec_() |
|
72 |
self.handleDeleteSymbolAction(result, itemName) |
|
73 | ||
74 |
def handleDeleteSymbolAction(self, result, itemName): |
|
75 |
print("handle") |
|
76 |
if result == QMessageBox.Ok: |
|
77 |
project = AppDocData.instance().getCurrentProject() |
|
78 |
imagePath = project.getPath() + "/image/" + itemName |
|
79 |
if os.path.exists(imagePath): |
|
80 |
os.remove(imagePath) |
|
81 | ||
82 |
svgPath = project.getPath() + "/svg/" + itemName.replace(".png", ".svg") |
|
83 |
if os.path.exists(svgPath): |
|
84 |
os.remove(svgPath) |
|
85 | ||
86 |
AppDocData.instance().deleteSymbol(imagePath) |
|
87 |
else: |
|
88 |
pass |
|
66 | 89 | |
67 | 90 |
def initDirTreeWidget(self): |
68 | 91 |
project = AppDocData.instance().getCurrentProject() |
내보내기 Unified diff