From 881919ae24834c6da47012f7890d02e476893640 Mon Sep 17 00:00:00 2001 From: andrei1089 Date: Mon, 25 Jan 2010 18:16:04 +0200 Subject: [PATCH] Settings for aspect and units --- .pedometer_widget_home.py.swn | Bin 36864 -> 53248 bytes pedometer_widget_home.py | 93 +++++++++++++++++++++++++++++++++++++---- pedometer_widget_home.pyc | Bin 14383 -> 16812 bytes 3 files changed, 86 insertions(+), 7 deletions(-) diff --git a/.pedometer_widget_home.py.swn b/.pedometer_widget_home.py.swn index 96b99eaf30a1228f29703ec910999eafe8b2e421..74f6212c3113e2602a18a917bbbc0f38f8203f4f 100644 GIT binary patch delta 3760 zcmdtkZE#an8o=?JG<~N{3RI*}y}hM2rEQutY%SOfs|;YkLdB#Mp{=D!Z6Hl*5@=D@ zlo?k20`7R+-4Pi9K^;bCq!Y(wkr`yhw;2$XS#glvomu&?E-b>z&Z@8r`#-r!n+h`f zc{}~}-ky8j?mg!@=Zx$&j_l5wyw=|CZdLELH7fjA6lKZL(aD$0^9z;h{BJ}P3@MYi zF3CtMM5*{p`q{Nj1 zZcfsr-B^ca$S!_OSC8O%tj9Vykb^IHzf*Vvg9u|0$}tn?^5`sfAc_c~WzA69&m zr6?Eh5njgT)%;lr8|q=fWybzEUc)o!K?`iig*x#k>JRqWdN)KO{!r|`@UX2v;PZF) z1cO#_JyapO>#~a`rjEv^%*n_e?GFznv)7DO><lmUr&s_CL6KJ1{0rE-eW3FHtq9AdsUYzFYUa5A{^F= z#4PJ2W3G3Z+f%37W$VITYZg;$mrcw3BpE#y_PS}=_de9NaDn(s?Nrl-P#`9gvZz8P zB#zW>HWZ{^k}8|(EAwO~8n!1q^?MA}$-*92+r6IqYqbVFtER{?M4OLN1 ztx~OgGQY1*jc(}c3k;8soXnVfq|SD!z2VSC@tft2!hwcq$KL$i|{XZpdg5@5J+q<&t6>U&L4?^`!BIQ?4v(cwUyr-J0kQ?@{ADK1I2Q zDSi>MKUOZE(}h1^7uLao(=_`EqL_w~7hmiX>{)mHk4k0{%rEs7Gza|7X z2+gl*2?6%WaM{w%Yt%F*C=v=R57^QASZ}CiXCS{yp1Ojgc~!EjZc^uC-5q^V-vbD zALS^-dFuKUpWrQQD`GdOE=rE+6|GS0(y|LQUPIpm#C~n&&y{p%(^t6%5OGdh(+!XG zVm#E=vq5Od=fV&!6Ymb0;;C|twnk^uTxV0`+*=fv`-)yX-D-N*m)}O;?$b|F_1Y&? zH{O$UHR71&6j!v;>9d`-#%6nS4X>%GeX;a&RZaJlT(f7$+B4gf2bR=1BO_nwj0Q)O zeXh+pXO3RqK;WkJm5Qa6W}6&Qxys1>T8=3DlX8Z8xu@@g9Mwl4pSPG9nPRgX8T}-3 zV`s#w%B|v^mV9|2i^~Jq*aDHfTz(3JB%>k3s#r?cpOV1SDW*!DDUGv$kRXs z3voOC&XRZ-JMaRA(19l0hEn{%Dd5jIig)vr<;pYM^uvaFGT~#9Qt_$TqdVTVw*2!e9JF2S_Q>qQ7{PbC1>@<(;R3F?K%~T3RuZVk3Ovmg;%{8V2{a>&b@+F_5dYv7hB1UBUPB?C zX9+QbJNOER5Jm+u;J|&S5MSUuG&oayDJzdNh4>TW=tm4S$iu^VLi~m?e1aY{BaAw% z!b(hKaAP=y4-v;k6k^sP#9iFMS#;wal&s@zF`h7#$M_DP!y3{_e1;gJsKtC_*;P)c zEL)aJU((P!lRh%vnR70s_j<4xvTV;O=YfGZkDeZu$j;NZqHj+ zn5{+|>H1jw=oaE5?8DpGhV@vA7aaEhV;IH|Id$@~FQG{nibrTA`utIa1dxN@31ku%5kLX*F+~@X_y$+dix}R-8}Q-}da#-q$6+L}2U}2y zAT&Gw_P_Wsrg0HRZR)4v)7o4eMynn*BC=W<=2YJfyPEW6ss4cu^YWINO!f74xB2dl zbB=~ 1000: - return str(meters/1000) + " km" + if self.unit == 0: + return str(meters/1000) + " km" + else: + return str(meters/1609.344) + " mi" else: - return str(meters) + " m" + if self.unit == 0: + return str(meters) + " m" + else: + return str(meters*3.2808) + " ft" def get_avg_speed(timer, dist): + suffix = "" + conv = 0 + if self.unit: + suffix = "mi/h" + conv = 2.23693629 + else: + suffix = "km/h" + conv = 3.6 + if timer == 0: - return "N/A km/h" + return "N/A " + suffix speed = 1.0 *dist / timer - #convert from meters per second to kilometers per hour - speed *= 3.6 - return "%.2f km/h" % speed + #convert from meters per second to km/h or mi/h + speed *= conv + return "%.2f %s" % (speed, suffix) tdelta = timer hours = int(tdelta / 3600) @@ -159,6 +196,17 @@ class PedometerHomePlugin(hildondesktop.HomePluginItem): widget.height = selectorH.get_active(0) widget.client.set_int(HEIGHT, widget.height) + def selectorUnit_changed(selector, data): + widget.unit = selectorUnit.get_active(0) + widget.client.set_int(UNIT, widget.unit) + widget.update_current() + widget.update_total() + + def selectorUI_changed(selector, data): + widget.aspect = selectorUI.get_active(0) + widget.client.set_int(ASPECT, widget.aspect) + widget.update_aspect() + dialog = gtk.Dialog() dialog.set_transient_for(self) dialog.set_title("Settings") @@ -196,9 +244,38 @@ class PedometerHomePlugin(hildondesktop.HomePluginItem): heightPicker.set_selector(selectorH) heightPicker.set_active(widget.height) + selectorUnit = hildon.TouchSelector(text=True) + selectorUnit.set_column_selection_mode(hildon.TOUCH_SELECTOR_SELECTION_MODE_SINGLE) + selectorUnit.append_text("Metric (km)") + selectorUnit.append_text("English (mi)") + selectorUnit.connect("changed", selectorUnit_changed) + + 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_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") + selectorUI.append_text("Show only current") + selectorUI.append_text("Show only total") + selectorUI.connect("changed", selectorUI_changed) + + UIPicker = hildon.PickerButton(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL) + UIPicker.set_alignment(0.0, 0.5, 1.0, 1.0) + UIPicker.set_title("Widget aspect") + UIPicker.set_selector(selectorUI) + UIPicker.set_active(widget.aspect) + dialog.vbox.add(button) dialog.vbox.add(modePicker) dialog.vbox.add(heightPicker) + dialog.vbox.add(unitPicker) + dialog.vbox.add(UIPicker) + dialog.show_all() response = dialog.run() hildon.hildon_banner_show_information(self, "None", "You have to Stop/Start the counter to apply the new settings") @@ -231,9 +308,11 @@ class PedometerHomePlugin(hildondesktop.HomePluginItem): self.pedometer.request_stop() self.pedometer.join() self.client.set_int(COUNTER, self.totalCounter) - self.client.set_int(COUNTER, int(self.totalTime)) + self.client.set_int(TIMER, int(self.totalTime)) self.button.set_label("Start") + self.desc.hide_all() else: + self.desc.show_all() self.pedometer = PedoCounter(self.update_values) self.pedometer.set_mode(self.mode) self.pedometer.set_height(self.height) diff --git a/pedometer_widget_home.pyc b/pedometer_widget_home.pyc index fb6e5d731249fc01edef0c4ea86410c2990ea55d..d89dce8d050a2a2da379600a76f8ffc27ab65339 100644 GIT binary patch literal 16812 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 ONq7~g3-G^Jd-%U@{o=m> -- 1.7.9.5