From: smbaker Date: Tue, 13 Sep 2011 23:22:28 +0000 (-0700) Subject: support spacebar for user selection; make user names readonly X-Git-Tag: sface-0.1-19~2 X-Git-Url: http://git.onelab.eu/?p=sface.git;a=commitdiff_plain;h=c66463257c5957f79df0a0a02e3f285a41f8bbc1 support spacebar for user selection; make user names readonly --- 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