X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fscreens%2Fuserscreen.py;h=dd01804633ef459d139c4eb1523272a462591d8f;hp=92089d14d2a5efa5776ecc956d10f2560806f4bd;hb=c66463257c5957f79df0a0a02e3f285a41f8bbc1;hpb=deb56ec8ef1adb3c2a5b4180623452bb9dcc1b48 diff --git a/sface/screens/userscreen.py b/sface/screens/userscreen.py index 92089d1..dd01804 100644 --- a/sface/screens/userscreen.py +++ b/sface/screens/userscreen.py @@ -31,7 +31,16 @@ class UserView(QTableView): self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.setToolTip("Double click on a row to change its status.") + def keyPressEvent(self, event): + if (event.key() == Qt.Key_Space): + self.toggleSelection() + else: + QTableView.keyPressEvent(self, event) + def mouseDoubleClickEvent(self, event): + self.toggleSelection() + + def toggleSelection(self): index = self.currentIndex() model = index.model() status_index = model.index(index.row(), MEMBERSHIP_STATUS_COLUMN, index.parent()) @@ -98,14 +107,18 @@ class UserModel(QStandardItemModel): rootItem = self.invisibleRootItem() for person in slice_persons: - rootItem.appendRow([QStandardItem(QString(person["name"])), - #QStandardItem(QString(person["role"])), - QStandardItem(QString(person["member"])), - QStandardItem(QString(person["member"]))]) + rootItem.appendRow([self.readOnlyItem(person["name"]), + self.readOnlyItem(person["member"]), + self.readOnlyItem(person["member"])]) headers = QStringList() << "User Name" << "Status" << "ServerStatus" self.setHorizontalHeaderLabels(headers) + def readOnlyItem(self, x): + item = QStandardItem(QString(x)) + item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) + return item + def updateRecord(self, slicerec): change = False