update status on startup, In/Out handling
This commit is contained in:
parent
e125972edd
commit
3b48bce57b
23
Window.py
23
Window.py
@ -28,8 +28,6 @@ class Window:
|
|||||||
self.window.connect("destroy", self.destroy_event)
|
self.window.connect("destroy", self.destroy_event)
|
||||||
self.window.connect("key-press-event", self.window_key_press_event)
|
self.window.connect("key-press-event", self.window_key_press_event)
|
||||||
|
|
||||||
gobject.timeout_add(1000, self.update_status_event)
|
|
||||||
|
|
||||||
# Menu Bar
|
# Menu Bar
|
||||||
self.menubar = gtk.MenuBar()
|
self.menubar = gtk.MenuBar()
|
||||||
m = gtk.Menu()
|
m = gtk.Menu()
|
||||||
@ -57,12 +55,14 @@ class Window:
|
|||||||
self.updateProjects()
|
self.updateProjects()
|
||||||
|
|
||||||
# Bottom Control Bar
|
# Bottom Control Bar
|
||||||
self.status_label = gtk.Label('No mark set')
|
self.status_label = gtk.Label()
|
||||||
self.status_label.set_alignment(0.0, 0.5)
|
self.status_label.set_alignment(0.0, 0.5)
|
||||||
self.status_label.set_padding(5, 0)
|
self.status_label.set_padding(5, 0)
|
||||||
adjust_button = gtk.Button('Adjust')
|
adjust_button = gtk.Button('Adjust')
|
||||||
in_button = gtk.Button('In')
|
in_button = gtk.Button('In')
|
||||||
|
in_button.connect("clicked", self.in_event)
|
||||||
out_button = gtk.Button('Out')
|
out_button = gtk.Button('Out')
|
||||||
|
out_button.connect("clicked", self.out_event)
|
||||||
exit_button = gtk.Button('Exit')
|
exit_button = gtk.Button('Exit')
|
||||||
exit_button.connect("clicked", self.destroy_event)
|
exit_button.connect("clicked", self.destroy_event)
|
||||||
|
|
||||||
@ -79,6 +79,9 @@ class Window:
|
|||||||
vbox.pack_end(hbox, expand = False)
|
vbox.pack_end(hbox, expand = False)
|
||||||
vbox.pack_end(gtk.HSeparator(), expand = False)
|
vbox.pack_end(gtk.HSeparator(), expand = False)
|
||||||
|
|
||||||
|
self.update_status_event()
|
||||||
|
gobject.timeout_add(1000, self.update_status_event)
|
||||||
|
|
||||||
self.window.add(vbox)
|
self.window.add(vbox)
|
||||||
|
|
||||||
def updateProjects(self):
|
def updateProjects(self):
|
||||||
@ -376,6 +379,10 @@ class Window:
|
|||||||
def destroy_event(self, widget, data=None):
|
def destroy_event(self, widget, data=None):
|
||||||
# could be called by window or exit button
|
# could be called by window or exit button
|
||||||
# save any config changes
|
# save any config changes
|
||||||
|
if self.mark is not None:
|
||||||
|
self.config.set('mark', self.mark.strftime(DT_FORMAT))
|
||||||
|
else:
|
||||||
|
self.config.clear('mark')
|
||||||
self.config.write()
|
self.config.write()
|
||||||
gtk.main_quit()
|
gtk.main_quit()
|
||||||
|
|
||||||
@ -393,6 +400,16 @@ class Window:
|
|||||||
hours = td.seconds / 60 / 60
|
hours = td.seconds / 60 / 60
|
||||||
mins = (td.seconds - hours * 60 * 60) / 60
|
mins = (td.seconds - hours * 60 * 60) / 60
|
||||||
secs = (td.seconds - hours * 60 * 60 - mins * 60)
|
secs = (td.seconds - hours * 60 * 60 - mins * 60)
|
||||||
|
# TODO: smarter / shorter status text
|
||||||
self.status_label.set_text('Mark: %s; Elapsed: %dd %dh %dm %ds' % \
|
self.status_label.set_text('Mark: %s; Elapsed: %dd %dh %dm %ds' % \
|
||||||
(self.mark.strftime(DT_FORMAT), days, hours, mins, secs))
|
(self.mark.strftime(DT_FORMAT), days, hours, mins, secs))
|
||||||
|
else:
|
||||||
|
self.status_label.set_text('No mark set')
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def in_event(self, widget, data=None):
|
||||||
|
if self.mark is None:
|
||||||
|
self.mark = datetime.now()
|
||||||
|
|
||||||
|
def out_event(self, widget, data=None):
|
||||||
|
self.mark = None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user