diff frontends/src/quick_frontend/quick_app.py @ 1348:a39d2db03c80 frontends_multi_profiles

frontends: add listeners 'profilePlugged', 'disconnect' and 'gotMenus' (the last one to be removed when the menus are refactored to quick_app)
author souliane <souliane@mailoo.org>
date Tue, 03 Mar 2015 22:17:57 +0100
parents ba41a81d14c2
children ec43552f5f8b
line wrap: on
line diff
--- a/frontends/src/quick_frontend/quick_app.py	Tue Mar 03 15:05:10 2015 +0100
+++ b/frontends/src/quick_frontend/quick_app.py	Tue Mar 03 22:17:57 2015 +0100
@@ -390,6 +390,8 @@
         for function_name, handler, args, kwargs in cached_signals:
             log.debug(u"Calling cached signal [%s] with args %s and kwargs %s" % (function_name, args, kwargs))
 
+        self.callListeners('profilePlugged', profile=profile)
+
     def asyncConnect(self, profile, callback=None, errback=None):
         if not callback:
             callback = lambda dummy: None
@@ -740,6 +742,11 @@
         """
         raise NotImplementedError
 
+    def disconnect(self, profile):
+        log.info("disconnecting")
+        self.callListeners('disconnect', profile=profile)
+        self.bridge.disconnect(profile)
+
     def onExit(self):
         """Must be called when the frontend is terminating"""
         to_unplug = []
@@ -747,7 +754,7 @@
             if self.bridge.isConnected(profile):
                 if C.bool(self.bridge.getParamA("autodisconnect", "Connection", profile_key=profile)):
                     #The user wants autodisconnection
-                    self.bridge.disconnect(profile)
+                    self.disconnect(profile)
             to_unplug.append(profile)
         for profile in to_unplug:
             self.unplug_profile(profile)