Newer
Older
from PyQt5.QtWidgets import QLineEdit
from model.qtmodels.person_table_model import PersonTableModel
Jakub Štercl
committed
from windows import groupedit
from PyQt5 import QtWidgets as Qt
from model.group import Group
Jakub Štercl
committed
NEW_GROUP = 0
def __init__(self, main_window, group, parent=None):
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
self.setupUi(self)
if group == self.NEW_GROUP:
self.setGroup(Group(Group.NEW_GROUP))
else:
self.setGroup(group)
self._editName = QLineEdit()
self.btnDelete.clicked.connect(self.deleteGroup)
self.btnChangeName.clicked.connect(self.editName)
def setGroup(self, group):
self.group = group
self.tableMembers.setModel(PersonTableModel(group.getMembers(), 2))
self.lblName.setText(group.name)
def editName(self):
self.btnChangeName.setText("OK")
# hide label and remove it from layout
self.lblName.hide()
self.layoutName.removeWidget(self.lblName)
# make line edit the same size
if self.lblName.width() > 100:
self._editName.setFixedWidth(self.lblName.width())
else:
self._editName.setFixedWidth(100)
self._editName.setFixedHeight(self.lblName.height())
# add line edit to layout
self.layoutName.insertWidget(1, self._editName)
self._editName.show()
# change signals of button
self.btnChangeName.clicked.disconnect(self.editName)
self.btnChangeName.clicked.connect(self.changeName)
def changeName(self):
self._checkName()
self.btnChangeName.setText("Edit")
# hide line edit
self._editName.hide()
self.layoutName.removeWidget(self._editName)
#show updated label
self.layoutName.insertWidget(1, self.lblName)
self.lblName.setText(self._editName.text())
self.lblName.show()
# change signals of button
self.btnChangeName.clicked.disconnect(self.changeName)
self.btnChangeName.clicked.connect(self.editName)
def _checkName(self):
...
def deleteGroup(self):
self.group.delete()