From: <jb...@us...> - 2010-11-25 22:17:20
|
Revision: 745 http://pytrainer.svn.sourceforge.net/pytrainer/?rev=745&view=rev Author: jblance Date: 2010-11-25 22:17:14 +0000 (Thu, 25 Nov 2010) Log Message: ----------- Fix 'show in classic view' function in list view Modified Paths: -------------- pytrainer/trunk/pytrainer/gui/popupmenu.py pytrainer/trunk/pytrainer/gui/windowmain.py pytrainer/trunk/pytrainer/gui/windowrecord.py pytrainer/trunk/pytrainer/main.py Modified: pytrainer/trunk/pytrainer/gui/popupmenu.py =================================================================== --- pytrainer/trunk/pytrainer/gui/popupmenu.py 2010-11-25 09:41:28 UTC (rev 744) +++ pytrainer/trunk/pytrainer/gui/popupmenu.py 2010-11-25 22:17:14 UTC (rev 745) @@ -19,25 +19,32 @@ from SimpleGladeApp import SimpleGladeApp class PopupMenu(SimpleGladeApp): - def __init__(self, data_path = None, parent = None): - self.parent = parent - glade_path="glade/pytrainer.glade" - root = "popup" - domain = None - SimpleGladeApp.__init__(self, data_path+glade_path, root, domain) - - def show(self,id_record,event_button, time): - self.id_record = id_record - self.popup.popup( None, None, None, event_button, time) + def __init__(self, data_path = None, parent = None): + self.parent = parent + glade_path="glade/pytrainer.glade" + root = "popup" + domain = None + SimpleGladeApp.__init__(self, data_path+glade_path, root, domain) + + def show(self,id_record,event_button, time, date=None): + self.id_record = id_record + self.date = date + self.iter = iter + self.popup.popup( None, None, None, event_button, time) - def on_editrecord_activate(self,widget): - self.parent.parent.editRecord(self.id_record, view=self.parent.selected_view) + def on_editrecord_activate(self,widget): + self.parent.parent.editRecord(self.id_record, view=self.parent.selected_view) - def on_showclassic_activate(self,widget): - self.parent.classicview_item.set_active(True) - #self.parent.on_calendar_selected(None) - self.parent.notebook.set_current_page(0) - self.parent.parent.refreshGraphView("record") + def on_showclassic_activate(self,widget): + #Set date in classic view + if self.date is not None: + self.parent.parent.date.setDate(self.date) + self.parent.classicview_item.set_active(True) + #self.parent.on_calendar_selected(None) + self.parent.notebook.set_current_page(0) + #self.parent.parent.refreshGraphView("record") + self.parent.recordview.set_current_page(0) + self.parent.parent.refreshRecordGraphView("info", id_record=self.id_record) - def on_remove_activate(self,widget): - self.parent.parent.removeRecord(self.id_record, view=self.parent.selected_view) + def on_remove_activate(self,widget): + self.parent.parent.removeRecord(self.id_record, view=self.parent.selected_view) Modified: pytrainer/trunk/pytrainer/gui/windowmain.py =================================================================== --- pytrainer/trunk/pytrainer/gui/windowmain.py 2010-11-25 09:41:28 UTC (rev 744) +++ pytrainer/trunk/pytrainer/gui/windowmain.py 2010-11-25 22:17:14 UTC (rev 745) @@ -1622,7 +1622,7 @@ date = self.parent.date.getDate(selected.get_value(iter,2)) except: pass - self.popup.show(selected.get_value(iter,0), event.button, time) + self.popup.show(selected.get_value(iter,0), event.button, time, selected.get_value(iter,2)) elif event.button == 1: self.notebook.set_current_page(0) self.parent.refreshGraphView("record") Modified: pytrainer/trunk/pytrainer/gui/windowrecord.py =================================================================== --- pytrainer/trunk/pytrainer/gui/windowrecord.py 2010-11-25 09:41:28 UTC (rev 744) +++ pytrainer/trunk/pytrainer/gui/windowrecord.py 2010-11-25 22:17:14 UTC (rev 745) @@ -642,15 +642,20 @@ sec = self.rcd_second.get_value_as_int() hour += float(min)/60.0 + float(sec)/(60.0*60.0) weight = self.pytrainer_main.profile.getValue("pytraining","prf_weight") - if weight is None or weight == "" or weight == "None": + try: + weight = float(weight) + except: weight = 0.0 - weight = float(weight) - met = float(self.parent.getSportMet(sport)) - extraweight = self.parent.getSportWeight(sport) - if extraweight is None or extraweight == "" or extraweight == "None": + try: + met = float(self.parent.getSportMet(sport)) + except: + met = None + try: + extraweight = self.parent.getSportWeight(sport) + extraweight = float(extraweight) + except: extraweight = 0.0 - extraweight = float(extraweight) - if met: + if met is not None: calories = met*(weight+extraweight)*hour self.rcd_calories.set_text(str(calories)) Modified: pytrainer/trunk/pytrainer/main.py =================================================================== --- pytrainer/trunk/pytrainer/main.py 2010-11-25 09:41:28 UTC (rev 744) +++ pytrainer/trunk/pytrainer/main.py 2010-11-25 22:17:14 UTC (rev 745) @@ -53,7 +53,7 @@ class pyTrainer: def __init__(self,filename = None, data_path = None): #Version constants - self.version ="1.7.2_svn#742" + self.version ="1.7.2_svn#745" self.DB_version = 6 #Process command line options self.startup_options = self.get_options() @@ -274,15 +274,24 @@ print "Unknown view %s" % view logging.debug('<<') - def refreshRecordGraphView(self, view): + def refreshRecordGraphView(self, view, id_record=None): logging.debug('>>') logging.info('Working on '+view+' graph') - selected,iter = self.windowmain.recordTreeView.get_selection().get_selected() - if iter: - id_record = selected.get_value(iter,0) + if id_record is not None: + #Refresh called for a specific record + #Select correct record in treeview + model = self.windowmain.recordTreeView.get_model() + #Loop through all records in treeview looking for the correct one to highlight + for i,row in enumerate(model): + if row[0] == id_record: + self.windowmain.recordTreeView.set_cursor(i) else: - id_record = None - view="info" + selected,iter = self.windowmain.recordTreeView.get_selection().get_selected() + if iter: + id_record = selected.get_value(iter,0) + else: + id_record = None + view="info" activity = self.activitypool.get_activity(id_record) if view=="info": self.windowmain.actualize_recordview(activity) @@ -412,7 +421,7 @@ self.record.newRecord(list_sport, date, title, distance, time, upositive, unegative, bpm, calories, comment) self.refreshListRecords() if view is not None: - self.refreshGraphView(view) + self.refreshGraphView(view) logging.debug('<<') def editRecord(self, id_record, view=None): @@ -422,7 +431,7 @@ self.record.editRecord(id_record,list_sport) self.refreshListRecords() if view is not None: - self.refreshGraphView(view) + self.refreshGraphView(view) logging.debug('<<') def removeRecord(self, id_record, confirm = False, view=None): @@ -437,7 +446,7 @@ warning.run() self.refreshListRecords() if view is not None: - self.refreshGraphView(view) + self.refreshGraphView(view) logging.debug('<<') def removeWaypoint(self,id_waypoint, confirm = False): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |