def race_info_time_edit_activate_cb(self, button): """Display race timing edit dialog.""" ostx = '' oftx = '' if self.start is not None: ostx = self.start.rawtime(4) if self.finish is not None: oftx = self.finish.rawtime(4) (ret, stxt, ftxt) = uiutil.edit_times_dlg(self.meet.window, ostx, oftx) if ret == 1: try: stod = None if stxt: stod = tod.tod(stxt, 'MANU', 'C0i') self.meet.timer.printline(' ' + str(stod)) ftod = None if ftxt: ftod = tod.tod(ftxt, 'MANU', 'C1i') self.meet.timer.printline(' ' + str(ftod)) self.set_start(stod) self.set_finish(ftod) self.set_elapsed() if self.start is not None and self.finish is not None: self.log_elapsed() self.log.info('Updated race times.') except (decimal.InvalidOperation, ValueError), v: self.log.error('Error updating times: ' + str(v)) glib.idle_add(self.delayed_announce)
def tod_context_edit_activate_cb(self, menuitem, data=None): """Run edit time dialog.""" #!!!@ require road race specific editor dialog? sel = self.view.get_selection().get_selected() if sel is not None: i = sel[1] # grab off row iter and read in cur times tst = self.riders.get_value(i, COL_TODSTART) tft = self.riders.get_value(i, COL_TODFINISH) # prepare text entry boxes st = '' if tst is not None: st = tst.timestr() ft = '' if tft is not None: ft = tft.timestr() # run the dialog (ret, st, ft) = uiutil.edit_times_dlg(self.meet.window, st, ft) if ret == 1: stod = tod.str2tod(st) ftod = tod.str2tod(ft) bib = self.riders.get_value(i, COL_BIB) series = self.riders.get_value(i, COL_SERIES) self.settimes(i, tst=stod, tft=ftod) # update model self.log.info('Race times manually adjusted for rider ' + strops.bibser2bibstr(bib, series)) else: self.log.info('Edit race times cancelled.')
def info_time_edit_clicked_cb(self, button, data=None): """Run the edit times dialog.""" st = '' if self.start is not None: st = self.start.rawtime(2) ft = '' if self.finish is not None: ft = self.finish.rawtime(2) (ret, st, ft) = uiutil.edit_times_dlg(self.meet.window, st, ft) if ret == 1: self.set_start(st) self.set_finish(ft) self.log.info('Adjusted race times.')