From c66463257c5957f79df0a0a02e3f285a41f8bbc1 Mon Sep 17 00:00:00 2001 From: smbaker Date: Tue, 13 Sep 2011 16:22:28 -0700 Subject: [PATCH] support spacebar for user selection; make user names readonly --- sface/screens/userscreen.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) 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 -- 2.43.0