PATH = "/apps/pedometerhomewidget"
MODE = PATH + "/mode"
HEIGHT = PATH + "/height"
+WEIGHT = PATH + "/weight"
UNIT = PATH + "/unit"
ASPECT = PATH + "/aspect"
SECONDVIEW = PATH + "/secondview"
self.pedometer.start()
self.notify(True)
+ def reset_all_values(self):
+ self.repository.reset_values()
+ self.notify()
+
def stop_pedometer(self):
self.is_running = False
self.pedometer.request_stop()
self.unit = new_unit
unit = new_unit
+ def get_str_weight_unit(self):
+ if self.unit == 0:
+ return "kg"
+ else:
+ return "lb"
+
+ def set_weight(self, value):
+ self.weight = value
+ self.notify()
+
+ def get_weight(self):
+ return self.weight
+
def set_second_view(self, second_view):
self.second_view = second_view
self.load_values()
logger.error("ERROR: %s, %s" % (err, debug) )
def update(self, optional):
- print "alarm update"
diff = self.pedo_controller.get_first() - self.start_value
if self.type == 0 and diff.time >= self.interval * 60 or \
self.type == 1 and diff.steps >= self.interval or \
mode = 0
height = 0
+ weight = 70
unit = 0
aspect = 0
second_view = 0
try:
self.mode = self.client.get_int(MODE)
self.height = self.client.get_int(HEIGHT)
+ self.weight = self.client.get_int(WEIGHT)
self.unit = self.client.get_int(UNIT)
self.aspect = self.client.get_int(ASPECT)
self.second_view = self.client.get_int(SECONDVIEW)
self.controller = PedoController()
self.controller.set_height(self.height)
+ self.controller.set_weight(self.weight)
self.controller.set_mode(self.mode)
self.controller.set_unit(self.unit)
self.controller.set_second_view(self.second_view)
self.graph = graph
eventBoxGraph.connect("button-press-event", self.eventBoxGraph_clicked)
eventBoxGraph.connect("button-release-event", self.eventBoxGraph_clicked_release)
+ self.graphBox = eventBoxGraph
self.mainvbox = gtk.VBox()
new_labels[label] = l
def update_aspect(self):
- if self.aspect == 0:
+
+ if self.aspect > 0:
+ self.graphBox.hide_all()
+ else:
+ self.graphBox.show_all()
+
+ if self.aspect == 0 or self.aspect == 1:
self.currentBox.show_all()
self.totalBox.show_all()
- elif self.aspect == 1:
+ elif self.aspect == 2:
self.currentBox.show_all()
self.totalBox.hide_all()
else:
self.currentBox.hide_all()
self.totalBox.show_all()
+ x,y = self.size_request()
+ self.resize(x,y)
+
def update_ui_values(self, labels, values):
labels["timer"].set_label(values.get_print_time())
labels["count"].set_label(values.get_print_steps())
def show_settings(self, widget):
def reset_total_counter(arg):
- widget.totalCounter = 0
- widget.totalTime = 0
- widget.update_total()
- hildon.hildon_banner_show_information(self, "None", "Total counter was resetted")
+ note = hildon.hildon_note_new_confirmation(self.dialog, "Are you sure you want to delete all your pedometer history?")
+ ret = note.run()
+ if ret == gtk.RESPONSE_OK:
+ self.controller.reset_all_values()
+ hildon.hildon_banner_show_information(self, "None", "All history was deleted")
+ note.destroy()
def alarmButton_pressed(widget):
self.show_alarm_settings(widget)
widget.client.set_bool(NOIDLETIME, widget.no_idle_time)
widget.controller.set_no_idle_time(widget.no_idle_time)
+ def weight_dialog(button):
+ dialog = gtk.Dialog("Weight", self.dialog)
+ dialog.add_button("OK", gtk.RESPONSE_OK)
+
+ label = gtk.Label("Weight:")
+ entry = gtk.Entry()
+ entry.set_text(str(self.controller.get_weight()))
+
+ suffixLabel = gtk.Label(self.controller.get_str_weight_unit())
+
+ hbox = gtk.HBox()
+ hbox.add(label)
+ hbox.add(entry)
+ hbox.add(suffixLabel)
+
+ dialog.vbox.add(hbox)
+ dialog.show_all()
+ while 1:
+ response = dialog.run()
+ if response != gtk.RESPONSE_OK:
+ break
+ try:
+ value = int(entry.get_text())
+ if value <= 0:
+ raise ValueError
+ self.controller.set_weight(value)
+ self.client.set_int(WEIGHT, value)
+ weightButton.set_value(str(self.controller.get_weight()) + \
+ " " + self.controller.get_str_weight_unit() )
+ break
+ except:
+ hildon.hildon_banner_show_information(self, "None", "Invalid weight")
+ dialog.destroy()
+
dialog = gtk.Dialog()
dialog.set_title("Settings")
dialog.add_button("OK", gtk.RESPONSE_OK)
+ self.dialog = dialog
-
- button = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
- button.set_title("Reset total counter")
- button.set_alignment(0, 0.8, 1, 1)
- button.connect("clicked", reset_total_counter)
+ resetButton = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
+ resetButton.set_title("Reset total counter")
+ resetButton.set_alignment(0, 0.8, 1, 1)
+ resetButton.connect("clicked", reset_total_counter)
alarmButton = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
alarmButton.set_title("Alarm")
modePicker = hildon.PickerButton(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
modePicker.set_alignment(0.0, 0.5, 1.0, 1.0)
- modePicker.set_title("Select mode")
+ modePicker.set_title("Mode")
modePicker.set_selector(selector)
modePicker.set_active(widget.mode)
heightPicker = hildon.PickerButton(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
heightPicker.set_alignment(0.0, 0.5, 1.0, 1.0)
- heightPicker.set_title("Select height")
+ heightPicker.set_title("Height")
heightPicker.set_selector(selectorH)
heightPicker.set_active(widget.height)
+ weightButton = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
+ weightButton.set_title("Weight")
+ weightButton.set_alignment(0, 0.8, 1, 1)
+ weightButton.set_value(str(self.controller.get_weight()) + " " + self.controller.get_str_weight_unit() )
+ weightButton.connect("clicked", weight_dialog)
+
selectorUnit = hildon.TouchSelector(text=True)
selectorUnit.set_column_selection_mode(hildon.TOUCH_SELECTOR_SELECTION_MODE_SINGLE)
selectorUnit.append_text("Metric (km)")
unitPicker = hildon.PickerButton(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
unitPicker.set_alignment(0.0, 0.5, 1.0, 1.0)
- unitPicker.set_title("Units")
+ unitPicker.set_title("Unit")
unitPicker.set_selector(selectorUnit)
unitPicker.set_active(widget.unit)
selectorUI = hildon.TouchSelector(text=True)
selectorUI = hildon.TouchSelector(text=True)
selectorUI.set_column_selection_mode(hildon.TOUCH_SELECTOR_SELECTION_MODE_SINGLE)
+ selectorUI.append_text("Show current + total + graph")
selectorUI.append_text("Show current + total")
selectorUI.append_text("Show only current")
selectorUI.append_text("Show only total")
pan_area = hildon.PannableArea()
vbox = gtk.VBox()
- vbox.add(button)
vbox.add(alarmButton)
vbox.add(modePicker)
vbox.add(heightPicker)
+ vbox.add(weightButton)
vbox.add(unitPicker)
vbox.add(UIPicker)
vbox.add(idleButton)
+ vbox.add(resetButton)
#vbox.add(logButton)
pan_area.add_with_viewport(vbox)