X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sface%2Fscreens%2Fmainscreen.py;h=96a9b06b4afc419337ab0363f18b7e3680acc99a;hb=38d5f241770d94bfcea955e889a110acb96ddf81;hp=f1699150b065d835abb07673bcdf1c7db1dfffb3;hpb=b338d4f78bd5df13617d08717b59bd8042a7465d;p=sface.git diff --git a/sface/screens/mainscreen.py b/sface/screens/mainscreen.py index f169915..96a9b06 100644 --- a/sface/screens/mainscreen.py +++ b/sface/screens/mainscreen.py @@ -54,7 +54,16 @@ class NodeView(QTreeView): self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.setToolTip("Double click on a row to change its status. Right click on a host to add a tag.") + def keyPressEvent(self, event): + if (event.key() == Qt.Key_Space): + self.toggleSelection() + else: + QTreeView.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()) @@ -127,7 +136,7 @@ class NodeView(QTreeView): tagstring = QString("%s: %s" % (tagname, value)) tagItem = QStandardItem(tagstring) status = QStandardItem(QString(tag_status['add'])) - nodeItem.appendRow([tagItem, status]) + nodeItem.appendRow([tagItem, QStandardItem(QString("")), status]) elif status_data in (node_status['out'], node_status['remove']): QMessageBox.warning(self, "Not selected", "Can only add tags to selected nodes") @@ -357,8 +366,16 @@ class SliceWidget(QWidget): self.updateView() def submitFinished(self): - self.setStatus("Slice data submitted.") - QTimer.singleShot(1000, self.refresh) + faultString = self.process.getFaultString() + if not faultString: + self.setStatus("Slice data submitted.") + else: + self.setStatus("Slice submit failed: %s" % (faultString)) + + # no need to do that anymore + # QTimer.singleShot(1000, self.refresh) + self.updateView() + self.parent().signalAll("rspecUpdated") def refreshFinished(self): self.setStatus("Slice data refreshed.", timeout=5000) @@ -475,7 +492,7 @@ class SliceWidget(QWidget): self.disconnect(self.process, SIGNAL('finished()'), self.submitFinished) self.connect(self.process, SIGNAL('finished()'), self.refreshFinished) - self.process.getRSpecFromSM() + self.process.retrieveRspec() self.setStatus("Refreshing slice data. This will take some time...") def updateView(self):