fix navigation keys in node view
[sface.git] / sface / screens / mainscreen.py
index 5578fbc..96a9b06 100644 (file)
@@ -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())
@@ -357,8 +366,16 @@ class SliceWidget(QWidget):
         self.updateView()
 
     def submitFinished(self):
-        self.setStatus("<font color='green'>Slice data submitted.</font>")
-        QTimer.singleShot(1000, self.refresh)
+        faultString = self.process.getFaultString()
+        if not faultString:
+            self.setStatus("<font color='green'>Slice data submitted.</font>")
+        else:
+            self.setStatus("<font color='red'>Slice submit failed: %s</font>" % (faultString))
+
+        # no need to do that anymore
+        # QTimer.singleShot(1000, self.refresh)
+        self.updateView()
+        self.parent().signalAll("rspecUpdated")
 
     def refreshFinished(self):
         self.setStatus("<font color='green'>Slice data refreshed.</font>", 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):