def StatusChanged(self, status):
        '''Server status changed'''
        server_log.info('[dbus] StatusChanged: %s' % status)
        self._status = status

        # If failed to connect to web server, stop local service
        if self._status == constants.SERVER_STATUS_PEERID_FAILED:
            notify(_('Failed to get access code!'))
            self.Stop()

        # Get peeer ID successfully
        elif self._status == constants.SERVER_STATUS_PEERID_OK:
            self.connected_to_webserver = True

        # Show disconnection window
        elif self._status == constants.SERVER_STATUS_SHARING:
            self.remoting_connected = True
            self.disconnect_window = DisconnectWindow()
            self.disconnect_window.disconnected.connect(self.disconnected)
            self.disconnect_window.show()

        # If remote peer has closed remoting connection, terminate local service
        elif self._status == constants.SERVER_STATUS_DISCONNECTED:
            notify(_('Remoting service terminated!'))
            self.Stop()
    def StatusChanged(self, status):
        '''Server status changed'''
        server_log.info('[dbus] StatusChanged: %s' % status)
        self._status = status

        # If failed to connect to web server, stop local service
        if self._status == constants.SERVER_STATUS_PEERID_FAILED:
            notify(_('Failed to get access code!'))
            QtCore.QTimer.singleShot(1000, self.Stop)

        # Get peeer ID successfully
        elif self._status == constants.SERVER_STATUS_PEERID_OK:
            self.connected_to_webserver = True

        # Show disconnection window
        elif self._status == constants.SERVER_STATUS_SHARING:
            self.remoting_connected = True
            self.disconnect_window = DisconnectWindow()
            self.disconnect_window.disconnected.connect(self.Stop)
            self.disconnect_window.show()

        # If remote peer has closed remoting connection, terminate local service
        elif self._status == constants.SERVER_STATUS_DISCONNECTED:
            notify(_('Remoting service terminated!'))
            QtCore.QTimer.singleShot(1000, self.Stop)
    def __init__(self, parent=None):
        super().__init__(parent)

        group = QtWidgets.QActionGroup(self)

        balancedAction = QtWidgets.QAction(_('Balance'), self)
        balancedAction.setCheckable(True)
        balancedAction.setChecked(True)
        balancedAction.triggered.connect(self.balancedChecked)
        balancedAction.setActionGroup(group)

        speedAction = QtWidgets.QAction(_('Optimize Speed'), self)
        speedAction.setCheckable(True)
        speedAction.triggered.connect(self.speedChecked)
        speedAction.setActionGroup(group)

        qualityAction = QtWidgets.QAction(_('Optimize Quality'), self)
        qualityAction.setCheckable(True)
        qualityAction.triggered.connect(self.qualityChecked)
        qualityAction.setActionGroup(group)

        fullscreenAction = QtWidgets.QAction(_('Fullscreen'), self)
        fullscreenAction.toggled.connect(self.fullscreenToggled)
        fullscreenAction.setCheckable(True)

        self.addAction(balancedAction)
        self.addAction(speedAction)
        self.addAction(qualityAction)
        self.addSeparator()
        self.addAction(fullscreenAction)

        self.setStyleSheet(MENU_STYLE)
    def StatusChanged(self, status):
        '''Client status has been changed'''
        client_log.info('[dbus] client status changed: %s' % status)
        self._status = status

        # Connect to web server OK
        if self._status == constants.CLIENT_STATUS_PAGE_READY:
            self.connected_to_webserver = True

        # Connect to web server failed
        elif self._status == constants.CLIENT_STATUS_CONNECT_FAILED:
            self.Stop()

        # Peer id is invalid
        elif self._status == constants.CLIENT_STATUS_UNAVAILABLE:
            self.Stop()

        # Connect to remote peer OK
        elif self._status == constants.CLIENT_STATUS_CONNECT_OK:
            self.remoting_connected = True

        # Disconnected, by remote peer or network failed
        elif self._status == constants.CLIENT_STATUS_DISCONNECTED:
            notify(_('Remoting service terminated!'))
            self.Stop()
    def StatusChanged(self, status):
        '''Client status has been changed'''
        client_log.info('[dbus] client status changed: %s' % status)
        self._status = status

        # Connect to web server OK
        if self._status == constants.CLIENT_STATUS_PAGE_READY:
            self.connected_to_webserver = True

        # Connect to web server failed
        elif self._status == constants.CLIENT_STATUS_CONNECT_FAILED:
            self.Stop()

        # Peer id is invalid
        elif self._status == constants.CLIENT_STATUS_UNAVAILABLE:
            self.Stop()

        # Connect to remote peer OK
        elif self._status == constants.CLIENT_STATUS_CONNECT_OK:
            self.remoting_connected = True

        # Disconnected, by remote peer or network failed
        elif self._status == constants.CLIENT_STATUS_DISCONNECTED:
            notify(_('Remoting service terminated!'))
            self.Stop()
def main():
    if is_manager_dbus_running():
        return
    app = QtCore.QCoreApplication(sys.argv)
    app.setApplicationName(_(constants.APP_NAME))
    manager_dbus = ManagerDBus()
    app.exec()
def main():
    if is_manager_dbus_running():
        return
    app = QtCore.QCoreApplication(sys.argv)
    app.setApplicationName(_(constants.APP_NAME))
    manager_dbus = ManagerDBus()
    app.exec()
def main():
    if is_client_dbus_running():
        client_log.warn('[client] client side is running')
        return
#    if is_server_dbus_running():
#        client_log.warn('[client] server side is running')
#        return
    app = QtWidgets.QApplication(sys.argv)
    app.setApplicationName(_(APP_NAME))

    client_dbus = ClientDBus()
    # FIXME: log service failed to dump log
    client_log.debug('Init client dbus: %s' % client_dbus)

    app.exec()
def main():
    if is_server_dbus_running():
        server_log.warn('[server] server side is running')
        return


#    if is_client_dbus_running():
#        server_log.warn('[server] client side is running')
#        return
    app = QtWidgets.QApplication(sys.argv)
    app.setApplicationName(_(APP_NAME))

    server_dbus = ServerDBus()
    # FIXME: log service failed to dump log
    server_log.debug('Init server dbus: %s' % server_dbus)

    app.exec()