X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=package%2Fsrc%2Fwifi_assistant%2Fdaemon.py;fp=package%2Fsrc%2Fwifi_assistant%2Fdaemon.py;h=0000000000000000000000000000000000000000;hb=635da74643ed775f97d1dfe602e9150fddf5840b;hp=d8d3215aba54e57f4132f94bf993421495bc4ba0;hpb=0da30082ee98d6f033d1fe001d6cea5d9592b4a7;p=wifi-assistant diff --git a/package/src/wifi_assistant/daemon.py b/package/src/wifi_assistant/daemon.py deleted file mode 100644 index d8d3215..0000000 --- a/package/src/wifi_assistant/daemon.py +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/bin/python2.5 -import gtk, hildon -import conic -import gobject - -from launcher import Launcher - -def _(str): - return str - -class Daemon(): - - def __init__(self, launcher, application_settings, network_settings, parent_window): - self._application_settings = application_settings - self._network_settings = network_settings - self._parent = parent_window - self._launcher = launcher - self._popup = self._application_settings.getUsePopup() - - - def connectionEstablished(self, ssid): - settings = self._network_settings.get(ssid) - if settings is None: - if self.showDecisionDialog(ssid): - defaults = self._network_settings.getDefaultSettings() - self.launchBrowser(defaults) - return - - if settings.getLaunchingOfBrowserEnabled(): - self.launchBrowser(settings) - - - def launchBrowser(self, settings): - browser_name = settings.getNameOfBrowserToLaunch() - browser_options = settings.getBrowserOptions() - if 'url' in browser_options: - self._launcher.launchBrowser(browser_name, browser_options) - # the following line is the backwards compatible line - else: - settings = self._network_settings.getDefaultSettings() - self.launchBrowser(settings) - - def showDecisionDialog(self, ssid): - if not self._popup: - return False - - dialog = self._createDialog(ssid) - - dialog.show_all() - result = dialog.run() - dialog.hide() - - launch_browser = (result == gtk.RESPONSE_YES) - if checkbox.get_active(): - setting = NetworkSetting() - setting.setNetworkName(ssid) - setting.setLaunchingOfBrowserEnabled(launch_browser) - self._network_settings.save(setting) - - return launch_browser - - def start(self): - self._connection = conic.Connection() - self._connection.connect("connection-event", self._connectionEventCallback) - self._connection.set_property("automatic-connection-events", True) - self._application_settings.addUsePopupListener(self._usePopupEventCallback) - gtk.main() - - - def stop(self): - self._application_settings.removeUsePopupListener(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): - status = event.get_status() - if status == conic.STATUS_CONNECTED: - # assemble id > name dict - iap_id_to_name = {} - iaps = connection.get_all_iaps() - for iap in iaps: - iap_id = iap.get_id() - iap_name = iap.get_name() - iap_id_to_name[iap_id] = iap_name - - # get name of network - iap_id = event.get_iap_id() - iap_name = None - if (iap_id_to_name.has_key(iap_id)): - iap_name = iap_id_to_name[iap_id] - self.connectionEstablished(iap_name) - - - def _usePopupEventCallback(self, gconfClient, id, gconfEntry, x): - self._popup = gconfEntry.get_value().get_bool() - - -if __name__ == "__main__": - d = Daemon(Launcher(), ApplicationSettings(), NetworkSettings(), gtk.Window()) - - d.start() - d.stop()