From 8cfbfbd5c19fcab179e037efacd608e3b4c64b6e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Fri, 10 Sep 2010 15:36:41 +0200 Subject: [PATCH] work on status bar --- sface/screens/configscreen.py | 2 +- sface/screens/mainscreen.py | 10 +++++----- sface/screens/sfascreen.py | 4 ++-- sface/sfawindow.py | 22 +++++++++++++++++----- sface/sficonfig.py | 4 ++++ 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/sface/screens/configscreen.py b/sface/screens/configscreen.py index 7cb6ace..3ea4cb8 100644 --- a/sface/screens/configscreen.py +++ b/sface/screens/configscreen.py @@ -33,7 +33,7 @@ class ConfigWidget(QWidget): config.setUser("%s" % self.user.text()) config.setSlice("%s" % self.slice.text()) config.save_config() - self.parent().setStatus("Configuration saved!") + self.parent().setStatus("Configuration saved!", timeout=3000) class ConfigScreen(SfaScreen): diff --git a/sface/screens/mainscreen.py b/sface/screens/mainscreen.py index fb0e99d..96ec7ed 100644 --- a/sface/screens/mainscreen.py +++ b/sface/screens/mainscreen.py @@ -178,27 +178,27 @@ class SliceWidget(QWidget): self.updateView() def submit(self): - self.parent().setStatus("TODO: Submit not implemented yet!") + self.parent().setStatus("TODO: Submit not implemented yet!", 3000) def readSliceRSpec(self): - rspec_file = os.path.expanduser("~/.sfi/%s.rspec" % config.getSlice()) + rspec_file = config.getSliceRSpecFile() xml = open(rspec_file).read() return xml def refresh(self, link=None): if not config.getSlice(): - self.parent().setStatus("Slice not set yet!") + self.parent().setStatus("Slice not set yet!", timeout=None) return self.process = SfiProcess() outfile = self.process.getRSpecFromSM() - self.parent().setStatus("Updating slice data. This may take some time...") + self.parent().setStatus("Updating slice data. This may take some time...", timeout=None) self.connect(self.process, SIGNAL('finished()'), self.refreshFinished) def refreshFinished(self): del self.process - self.parent().setStatus("Slice data updated.") + self.parent().setStatus("Slice data updated.", timeout=5000) self.updateView() def updateView(self): diff --git a/sface/screens/sfascreen.py b/sface/screens/sfascreen.py index 3271f2d..d8d62e7 100644 --- a/sface/screens/sfascreen.py +++ b/sface/screens/sfascreen.py @@ -28,5 +28,5 @@ class SfaScreen(QWidget): def getTitleText(self): return "%s" % self.title - def setStatus(self, msg): - self.mainwin.setStatus(msg) + def setStatus(self, msg, timeout): + self.mainwin.setStatus(msg, timeout) diff --git a/sface/sfawindow.py b/sface/sfawindow.py index 84439a9..21f17c5 100644 --- a/sface/sfawindow.py +++ b/sface/sfawindow.py @@ -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 @@ -30,12 +34,20 @@ class Status(QLabel): def __init__(self, parent=None): QLabel.__init__(self, "", parent) - def set(self, msg): + def set(self, msg, timeout): self.setText(msg) - QTimer.singleShot(3000, self, SLOT("clear()")) + if timeout: + QTimer.singleShot(timeout, self, SLOT("clear()")) + + def sliceUpdateDate(self): + rspec_file = config.getSliceRSpecFile() + creation_time = os.stat(rspec_file).st_ctime + last_update = time.ctime(creation_time) + self.set(last_update, timeout=None) def clear(self): - self.setText("") +# self.setText("") + self.sliceUpdateDate() class SfaWindow(QWidget): @@ -81,5 +93,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) diff --git a/sface/sficonfig.py b/sface/sficonfig.py index 595e892..2ff64e7 100644 --- a/sface/sficonfig.py +++ b/sface/sficonfig.py @@ -75,5 +75,9 @@ class SfiConfig: def aggmgr(self): return SfiConfig.SFI_AM + def getSliceRSpecFile(self): + return os.path.expanduser("~/.sfi/%s.rspec" % self.getSlice()) + + # configuration singleton config = SfiConfig() -- 2.43.0