_moduleLogger = logging.getLogger(__name__)
+class LedWrapper(object):
+
+ def __init__(self):
+ self._ledHandler = None
+ self._init = False
+
+ def off(self):
+ self._lazy_init()
+ if self._ledHandler is not None:
+ self._ledHandler.off()
+
+ def _lazy_init(self):
+ if self._init:
+ return
+ self._init = True
+ try:
+ import led_handler
+ self._ledHandler = led_handler.LedHandler()
+ except Exception, e:
+ _moduleLogger.exception('Unable to initialize LED Handling: "%s"' % str(e))
+ self._ledHandler = None
+
+
+
class Dialcentral(object):
_DATA_PATHS = [
self._hiddenUnits = {}
self._clipboard = QtGui.QApplication.clipboard()
self._dataPath = None
+ self._ledHandler = LedWrapper()
self.notifyOnMissed = False
self.notifyOnVoicemail = False
self.notifyOnSms = False
def alarmHandler(self):
return self._alarmHandler
+ @property
+ def ledHandler(self):
+ return self._ledHandler
+
def _walk_children(self):
if self._mainWindow is not None:
return (self._mainWindow, )
def refresh(self, force=True):
self._session.update_history(force)
+ if self._app.notifyOnMissed:
+ self._app.ledHandler.off()
def _populate_items(self):
self._categoryManager.prepare_for_update(self._session.get_when_history_updated())
def refresh(self, force=True):
self._session.update_messages(force)
+ if self._app.notifyOnSms or self._app.notifyOnVoicemail:
+ self._app.ledHandler.off()
def _populate_items(self):
self._categoryManager.prepare_for_update(self._session.get_when_messages_updated())