Something went wrong on our end
-
Jakub Štercl authoredJakub Štercl authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
members_drag_drop_table.py 1.41 KiB
from PyQt5.QtCore import Qt, pyqtSignal, pyqtSlot
from PyQt5.QtWidgets import QLabel, QAbstractItemView, QHBoxLayout, QPushButton
from utils.qtmodels.members_drag_drop_table_model import MembersDragDropTableModel
from utils.table import ElemTable
class MembersDragDropTable(ElemTable):
deleteClicked = pyqtSignal(int)
def __init__(self, id_, data, label_text, parent=None):
super(MembersDragDropTable, self).__init__(MembersDragDropTableModel(id_, data, num_columns=2), parent)
self.id_ = id_
layout = QHBoxLayout()
layout.addWidget(QLabel(label_text))
btn = QPushButton("-")
btn.clicked.connect(self.onDeleteClicked)
layout.addStretch()
layout.addWidget(btn)
self.layout.insertLayout(0, layout)
self.table.setDragDropMode(QAbstractItemView.DragDrop)
self.table.setDefaultDropAction(Qt.MoveAction)
self.table.setAcceptDrops(True)
self.table.setDragEnabled(True)
self.table.setDropIndicatorShown(False)
def removeMember(self, member_id):
self.source_model.removeMemberById(member_id)
def isEmpty(self):
return self.source_model.rowCount() <= 0
@property
def id_(self):
return self.id__
@id_.setter
def id_(self, id_):
self.id__ = id_
self.source_model.id_ = id_
@pyqtSlot()
def onDeleteClicked(self):
self.deleteClicked.emit(self.id_)