added counting timer to CmdWindow for current task
This commit is contained in:
parent
1acaefb193
commit
6c2b6df94c
28
CmdWindow.py
28
CmdWindow.py
@ -1,8 +1,12 @@
|
|||||||
|
|
||||||
import gtk
|
import gtk
|
||||||
|
import gobject
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
class CmdWindow:
|
class CmdWindow:
|
||||||
def __init__(self, status = '', starttime = None):
|
def __init__(self, status = '', starttime = None):
|
||||||
|
self.starttime = starttime
|
||||||
|
|
||||||
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
||||||
self.window.set_geometry_hints(min_width = 350);
|
self.window.set_geometry_hints(min_width = 350);
|
||||||
self.window.connect("delete_event", self.delete_event)
|
self.window.connect("delete_event", self.delete_event)
|
||||||
@ -18,8 +22,9 @@ class CmdWindow:
|
|||||||
lbl = gtk.Label(status)
|
lbl = gtk.Label(status)
|
||||||
hbox.pack_start(lbl, expand = False)
|
hbox.pack_start(lbl, expand = False)
|
||||||
if starttime is not None:
|
if starttime is not None:
|
||||||
lbl = gtk.Label('Start: ' + starttime.strftime('%I:%M%p'))
|
self.elapsedlabel = gtk.Label(self.getElapsed())
|
||||||
hbox.pack_end(lbl, expand = False)
|
gobject.timeout_add(1000, self.updateElapsed)
|
||||||
|
hbox.pack_end(self.elapsedlabel, expand = False)
|
||||||
vbox.pack_start(hbox)
|
vbox.pack_start(hbox)
|
||||||
|
|
||||||
hbox = gtk.HBox()
|
hbox = gtk.HBox()
|
||||||
@ -44,3 +49,22 @@ class CmdWindow:
|
|||||||
def activate_event(self, widget, data=None):
|
def activate_event(self, widget, data=None):
|
||||||
self.text = self.entry.get_text()
|
self.text = self.entry.get_text()
|
||||||
self.window.destroy()
|
self.window.destroy()
|
||||||
|
|
||||||
|
def getElapsed(self):
|
||||||
|
delta = datetime.now() - self.starttime
|
||||||
|
days = delta.days
|
||||||
|
dsecs = delta.seconds
|
||||||
|
hours = dsecs / (60 * 60)
|
||||||
|
dsecs -= hours * 60 * 60
|
||||||
|
minutes = dsecs / 60
|
||||||
|
dsecs -= minutes * 60
|
||||||
|
seconds = dsecs
|
||||||
|
elapsed = ''
|
||||||
|
if days > 0:
|
||||||
|
elapsed = '%dd ' % days
|
||||||
|
elapsed += '%d:%02d:%02d' % (hours, minutes, seconds)
|
||||||
|
return elapsed
|
||||||
|
|
||||||
|
def updateElapsed(self):
|
||||||
|
self.elapsedlabel.set_text(self.getElapsed())
|
||||||
|
return True
|
||||||
|
Loading…
x
Reference in New Issue
Block a user