X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=package%2Fsrc%2Fwifi_assistant%2Fdaemon%2Fdaemon.py;h=ba4694991df5dc403b2a90c8e3a763a43886ff9c;hb=ac7d9315ba2dfb6265520a78a29c7415d72d4bee;hp=5948e17ba0aca8308698eb76f468655dc5227026;hpb=1a7e937512d7993bc8b2e5fc5493fff7f6c9b97a;p=wifi-assistant diff --git a/package/src/wifi_assistant/daemon/daemon.py b/package/src/wifi_assistant/daemon/daemon.py index 5948e17..ba46949 100644 --- a/package/src/wifi_assistant/daemon/daemon.py +++ b/package/src/wifi_assistant/daemon/daemon.py @@ -2,12 +2,15 @@ import gtk, hildon import conic import gobject +import logging from launcher import Launcher def _(str): return str +log = logging.getLogger("wfdaemon") + class Daemon(): def __init__(self, launcher, application_settings, network_settings, parent_window): @@ -16,9 +19,11 @@ class Daemon(): self._parent = parent_window self._launcher = launcher self._popup = self._application_settings.getUsePopup() + log.debug("_popup(%s)", self._popup) def connectionEstablished(self, ssid): + log.debug("connectionEstablished(%s)", ssid) settings = self._network_settings.get(ssid) if settings is None: if self.showDecisionDialog(ssid): @@ -31,6 +36,7 @@ class Daemon(): def launchBrowser(self, settings): + log.debug("launchBrowser(%s)", settings) browser_name = settings.getNameOfBrowserToLaunch() browser_options = settings.getBrowserOptions() if 'url' in browser_options: @@ -41,26 +47,28 @@ class Daemon(): self.launchBrowser(settings) def showDecisionDialog(self, ssid): + log.debug("showDecisionDialog(%s)", ssid) if not self._popup: return False - dialog = self._createDialog(ssid) + from wifi_assistant.gui.popup_dialog import PopupDialog + PopupDialog(self._parent, self._showDecisionDialogCallback).show(ssid) - dialog.show_all() - result = dialog.run() - dialog.hide() + def _showDecisionDialogCallback(self, ssid, launch_browser, remember): + log.debug("_showDecisionDialogCallback(%s, %s, %s)", ssid, launch_browser, remember) + setting = self._network_settings.getDefaultSettings() + setting.setNetworkName(ssid) + setting.setLaunchingOfBrowserEnabled(launch_browser) - launch_browser = (result == gtk.RESPONSE_YES) - if checkbox.get_active(): - setting = NetworkSetting() - setting.setNetworkName(ssid) - setting.setLaunchingOfBrowserEnabled(launch_browser) + if remember: self._network_settings.save(setting) - return launch_browser + if launch_browser: + self.launchBrowser(setting) def start(self): + log.debug("start") self._connection = conic.Connection() self._connection.connect("connection-event", self._connectionEventCallback) self._connection.set_property("automatic-connection-events", True) @@ -69,32 +77,13 @@ class Daemon(): def stop(self): + log.debug("stop") self._application_settings.unregisterUsePopupListener(self._usePopupEventCallback) self._connection.set_property("automatic-connection-events", False) - def _createDialog(self, ssid): - dialog = gtk.Dialog(ssid, self._parent) - dialog.vbox.set_homogeneous(False) - - dialog.add_button(_('No'), gtk.RESPONSE_NO) - dialog.add_button(_('Yes'), gtk.RESPONSE_YES) - - label = gtk.Label(_('New network connection established - do you wish to launch a browser?')) - label.set_line_wrap(True) - #label.set_justify(gtk.JUSTIFY_LEFT) - #label.set_alignment(0, 0.5) - dialog.vbox.add(label) - - checkbox = hildon.CheckButton(gtk.HILDON_SIZE_FINGER_HEIGHT) - checkbox.set_label(_('Remember this decision')) - checkbox.set_active(True) - dialog.vbox.add(checkbox) - - return dialog - - def _connectionEventCallback(self, connection, event): + log.debug("_connectionEventCallback(%s)", event) status = event.get_status() if status == conic.STATUS_CONNECTED: # assemble id > name dict @@ -114,6 +103,7 @@ class Daemon(): def _usePopupEventCallback(self, gconfClient, id, gconfEntry, x): + log.debug("_usePopupEventCallback(%s)", gconfEntry) self._popup = gconfEntry.get_value().get_bool()