Skip to content
This repository was archived by the owner on Aug 28, 2020. It is now read-only.

Commit 01fe0b4

Browse files
committed
context menu for deleting projects
1 parent fddb26e commit 01fe0b4

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

pugdebug/gui/projects.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99

1010
__author__ = "robertbasic"
1111

12+
from PyQt5.QtCore import Qt
1213
from PyQt5.QtWidgets import (QDialog, QPushButton, QVBoxLayout, QHBoxLayout,
13-
QFormLayout, QLineEdit, QTreeView)
14+
QFormLayout, QLineEdit, QTreeView, QAction, QMenu)
15+
from PyQt5.QtGui import QIcon
1416

1517
from pugdebug.gui.forms import PugdebugSettingsForm
1618
from pugdebug.models.projects import PugdebugProject
@@ -83,6 +85,30 @@ class PugdebugProjectsBrowser(QTreeView):
8385
def __init__(self):
8486
super(PugdebugProjectsBrowser, self).__init__()
8587

88+
self.delete_action = QAction(
89+
QIcon.fromTheme('list-remove'),
90+
"&Delete",
91+
self
92+
)
93+
self.delete_action.triggered.connect(self.handle_delete_action)
94+
95+
self.setContextMenuPolicy(Qt.CustomContextMenu)
96+
self.customContextMenuRequested.connect(self.show_context_menu)
97+
8698
def load_projects(self):
8799
model = self.model()
88100
model.load_projects()
101+
102+
def show_context_menu(self, point):
103+
context_menu = QMenu(self)
104+
105+
if self.indexAt(point):
106+
context_menu.addAction(self.delete_action)
107+
108+
point = self.mapToGlobal(point)
109+
context_menu.popup(point)
110+
111+
def handle_delete_action(self):
112+
for index in self.selectedIndexes():
113+
project = self.model().get_project_by_index(index)
114+
print(project.get_project_name())

0 commit comments

Comments
 (0)