276e97012d1fd66f3a44ee68c000c72f8d62bd7b
[wifi-assistant] / package / src / daemon.py
1 import gtk, hildon
2 from gnome import gconf
3 import webbrowser
4 import osso
5
6 def _(str):
7     return str
8
9 _gc = gconf.client_get_default()
10 parent = gtk.Window()
11
12 def launch_browser():
13     url = _gc.get_string('/apps/maemo/wbl/url_to_open')
14     osso_context = osso.Context("org.maemo.touchsearch", "1.1", False)
15     osso_rpc = osso.Rpc(osso_context)
16     osso_rpc.rpc_run_with_defaults("osso_browser", "open_new_window", (url,))
17
18 def show_decision_dialog(ssid):
19     dialog = gtk.Dialog(ssid, parent)
20     dialog.vbox.set_homogeneous(False)
21     
22     dialog.add_button(_('No'), gtk.RESPONSE_NO)
23     dialog.add_button(_('Yes'), gtk.RESPONSE_YES)
24     
25     label = gtk.Label(_('New network connection established - do you wish to launch a browser?'))
26     label.set_line_wrap(True)
27     #label.set_justify(gtk.JUSTIFY_LEFT)
28     #label.set_alignment(0, 0.5)
29     dialog.vbox.add(label)
30
31     checkbox = hildon.CheckButton(gtk.HILDON_SIZE_FINGER_HEIGHT)
32     checkbox.set_label(_('Remember this decision'))
33     checkbox.set_active(True)
34     dialog.vbox.add(checkbox)
35     
36     dialog.show_all()
37     result = dialog.run()
38     dialog.hide()
39     
40     launchBrowser = (result == gtk.RESPONSE_YES)
41     if (checkbox.get_active()):
42         _gc.set_bool('/apps/maemo/wbl/launch/' + ssid, launchBrowser)
43     
44     return launchBrowser
45
46 def connection_established(ssid):
47     value = _gc.get_without_default('/apps/maemo/wbl/launch/' + ssid)
48     print value
49     if value is None:
50         if show_decision_dialog(ssid):
51             launch_browser()
52         return
53
54     if value.get_bool():
55         launch_browser()
56  
57 import sys
58 connection_established(sys.argv[1])