show selected
[sface.git] / sface / sfawindow.py
index 84439a9..976b184 100644 (file)
@@ -1,7 +1,11 @@
 
+import os
+import time
+
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 
+from sface.sficonfig import config
 from sface.screens.configscreen import ConfigScreen
 from sface.screens.mainscreen import MainScreen
 
@@ -29,13 +33,25 @@ class Nav(QWidget):
 class Status(QLabel):
     def __init__(self, parent=None):
         QLabel.__init__(self, "", parent)
+        self.sliceUpdateDate()
 
-    def set(self, msg):
+    def set(self, msg, timeout):
         self.setText(msg)
-        QTimer.singleShot(3000, self, SLOT("clear()"))
+        if timeout:
+            QTimer.singleShot(timeout, self.reset)
+
+    def sliceUpdateDate(self):
+        rspec_file = config.getSliceRSpecFile()
+        if not os.path.exists(rspec_file):
+            return
+
+        creation_time = os.stat(rspec_file).st_ctime
+        last_update = time.ctime(creation_time)
+        self.set("Slice data last updated on %s" % last_update, timeout=None)
 
-    def clear(self):
+    def reset(self):
         self.setText("")
+        QTimer.singleShot(1500, self.sliceUpdateDate)
 
 
 class SfaWindow(QWidget):
@@ -81,5 +97,5 @@ class SfaWindow(QWidget):
         self.nav.setLink(self.config_screen.getLinkText())
         self.nav.setTitle(self.main_screen.getTitleText())
 
-    def setStatus(self, msg):
-        self.status.set(msg)
+    def setStatus(self, msg, timeout):
+        self.status.set(msg, timeout)