No more sudo and no more iconv
[ussd-widget] / ussd-widget / src / usr / lib / hildon-desktop / ussd-widget.py
index ae5a7a1..8f20617 100755 (executable)
@@ -8,9 +8,9 @@ from subprocess import *
 
 class UssdConfigDialog(gtk.Dialog):
     def __init__(self, queryNumber):
-        gtk.Dialog.__init__(self, "Hello World", None,
+        gtk.Dialog.__init__(self, "USSD widget", None,
                             gtk.DIALOG_DESTROY_WITH_PARENT | gtk.DIALOG_NO_SEPARATOR,
-                            ("Close", gtk.RESPONSE_OK))
+                            ("Save", gtk.RESPONSE_OK))
         self.ussdNumber = hildon.Entry(gtk.HILDON_SIZE_AUTO)
         self.ussdNumber.set_text(queryNumber)
         self.vbox.add(gtk.Label("USSD number"))
@@ -32,7 +32,7 @@ def get_ussd_number():
 def ussd_renew(button):
     query = get_ussd_number()
     if query :
-        p = Popen(['sudo', 'python', '/usr/bin/ussdquery.py', query], stdout=PIPE)
+        p = Popen(['python', '/usr/bin/ussdquery.py', query], stdout=PIPE)
         reply = p.communicate()[0].strip()
         if reply == "" :
             reply = "   Error   "
@@ -53,20 +53,25 @@ def on_show_settings(widget):
     config.close()
 
     dialog.destroy()
+    
+    if queryNumber == "" :
+        widget.button.set_label("Click to update")
 
 class UssdWidgetPlugin(hildondesktop.HomePluginItem):
     def __init__(self):
         hildondesktop.HomePluginItem.__init__(self)
-        button = gtk.Button("   Error   ")
-        button.connect("clicked", ussd_renew)
-        button.show_all()
-        self.add(button)
+        query = get_ussd_number()
+        if query :
+            self.button = gtk.Button("Click to update")
+        else :
+            self.button = gtk.Button("Configure me")
+        self.button.connect("clicked", ussd_renew)
+        self.button.show_all()
+        self.add(self.button)
 
         self.set_settings(True)
         self.connect("show-settings", on_show_settings)    
 
-        ussd_renew(button)
-
 hd_plugin_type = UssdWidgetPlugin
 
 # The code below is just for testing purposes.