def __init__(self, app_, parent=None): self.app = app_ # style = app.style() # icon = QtGui.QIcon(style.standardPixmap(QtGui.QStyle.SP_ComputerIcon)) icon = QtGui.QIcon(':/images/img/uds.png') QtGui.QSystemTrayIcon.__init__(self, icon, parent) self.menu = QtGui.QMenu(parent) exitAction = self.menu.addAction("About") exitAction.triggered.connect(self.about) self.setContextMenu(self.menu) self.ipc = MessagesProcessor() self.sessionStart = datetime.datetime.now() self.maxIdleTime = None self.showIdleWarn = True self.maxSessionTime = None self.showMaxSessionWarn = True self.timer = QtCore.QTimer() self.timer.timeout.connect(self.checkTimers) if self.ipc.isAlive() is False: raise Exception('No connection to service, exiting.') self.stopped = False self.ipc.displayMessage.connect(self.displayMessage) self.ipc.exit.connect(self.quit) self.ipc.script.connect(self.executeScript) self.ipc.logoff.connect(self.logoff) self.ipc.information.connect(self.information) # Pre generate a request for information (general parameters) to daemon/service self.ipc.requestInformation() self.aboutDlg = UDSAboutDialog() self.msgDlg = UDSMessageDialog() self.counter = 0 self.resetTimervars() self.timer.start(TIMER_TIMEOUT * 1000) # Launch idle checking every 5 seconds self.ipc.start() # If this is running, it's because he have logged in self.ipc.sendLogin(operations.getCurrentUser())
def quit(self, logoff=False): global doLogoff logger.debug('Quit invoked') if self.stopped is False: self.stopped = True try: # If we close Client, send Logoff to Broker self.ipc.sendLogout(operations.getCurrentUser()) self.timer.stop() self.ipc.stop() except Exception: # May we have lost connection with server, simply exit in that case pass doLogoff = logoff self.app.quit()
def __init__(self, app_, parent=None): self.app = app_ # style = app.style() # icon = QtGui.QIcon(style.standardPixmap(QtGui.QStyle.SP_ComputerIcon)) icon = QtGui.QIcon(':/images/img/uds.png') QtGui.QSystemTrayIcon.__init__(self, icon, parent) self.menu = QtGui.QMenu(parent) exitAction = self.menu.addAction("About") exitAction.triggered.connect(self.about) self.setContextMenu(self.menu) self.ipc = MessagesProcessor() self.sessionStart = datetime.datetime.now() self.maxIdleTime = None self.showIdleWarn = True self.maxSessionTime = None self.showMaxSessionWarn = True self.timer = QtCore.QTimer() self.timer.timeout.connect(self.checkTimers) if self.ipc.isAlive() is False: raise Exception('No connection to service, exiting.') self.stopped = False self.ipc.displayMessage.connect(self.displayMessage) self.ipc.exit.connect(self.quit) self.ipc.script.connect(self.executeScript) self.ipc.logoff.connect(self.logoff) self.ipc.information.connect(self.information) # Pre generate a request for information (general parameters) to daemon/service self.ipc.requestInformation() self.aboutDlg = UDSAboutDialog() self.msgDlg = UDSMessageDialog() self.counter = 0 self.timer.start(5000) # Launch idle checking every 5 seconds self.graceTimerShots = 6 # Start counting for idle after 30 seconds after login, got on windows some "instant" logout because of idle timer not being reset?? self.ipc.start() # If this is running, it's because he have logged in self.ipc.sendLogin(operations.getCurrentUser())
def __init__(self, app_, parent=None): self.app = app_ style = app.style() icon = QtGui.QIcon(style.standardPixmap(QtGui.QStyle.SP_ComputerIcon)) QtGui.QSystemTrayIcon.__init__(self, icon, parent) self.menu = QtGui.QMenu(parent) exitAction = self.menu.addAction("About") exitAction.triggered.connect(self.about) self.setContextMenu(self.menu) self.ipc = MessagesProcessor() self.maxIdleTime = None self.timer = QtCore.QTimer() self.timer.timeout.connect(self.checkIdle) self.showIdleWarn = True if self.ipc.isAlive() is False: raise Exception('no connection to service, exiting') self.stopped = False self.ipc.displayMessage.connect(self.displayMessage) self.ipc.exit.connect(self.quit) self.ipc.script.connect(self.executeScript) self.ipc.logoff.connect(self.logoff) self.ipc.information.connect(self.information) # Pre generate a request for information (general parameters) to daemon/service self.ipc.requestInformation() self.aboutDlg = UDSAboutDialog() self.msgDlg = UDSMessageDialog() self.counter = 0 self.timer.start(5000) # Launch idle checking every 5 seconds self.graceTimerShots = 6 # Start counting for idle after 30 seconds after login, got on windows some "instant" logout because of idle timer not being reset?? self.ipc.start() # If this is running, it's because he have logged in self.ipc.sendLogin(operations.getCurrentUser())