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):