85 # no specific service interfaces have been created yet |
85 # no specific service interfaces have been created yet |
86 |
86 |
87 self.__connection = None |
87 self.__connection = None |
88 self.__callbacks = {} # callback references indexed by UUID |
88 self.__callbacks = {} # callback references indexed by UUID |
89 self.__messageQueue = collections.deque() |
89 self.__messageQueue = collections.deque() |
|
90 self.__connected = False |
90 |
91 |
91 self.connectionStateChanged.connect(self.__connectionStateChanged) |
92 self.connectionStateChanged.connect(self.__connectionStateChanged) |
92 |
93 |
93 def getServiceInterface(self, name): |
94 def getServiceInterface(self, name): |
94 """ |
95 """ |
658 Private slot to handle the connection state change. |
659 Private slot to handle the connection state change. |
659 |
660 |
660 @param connected flag indicating the connection state |
661 @param connected flag indicating the connection state |
661 @type bool |
662 @type bool |
662 """ |
663 """ |
663 self.connectServerAct.setEnabled(not connected) |
664 if connected != self.__connected: # prevent executing it twice in succession |
664 self.disconnectServerAct.setEnabled(connected) |
665 self.__connected = connected |
665 self.stopServerAct.setEnabled(connected) |
666 |
666 self.serverVersionsAct.setEnabled(connected) |
667 self.connectServerAct.setEnabled(not connected) |
667 |
668 self.disconnectServerAct.setEnabled(connected) |
668 if connected: |
669 self.stopServerAct.setEnabled(connected) |
669 peerName = self.__connection.peerName() |
670 self.serverVersionsAct.setEnabled(connected) |
670 EricMessageBox.information( |
671 |
671 None, |
672 if connected: |
672 self.tr("Connect to eric-ide Server"), |
673 peerName = self.__connection.peerName() |
673 self.tr( |
674 EricMessageBox.information( |
674 "<p>The eric-ide server at <b>{0}:{1}</b> was connected" |
675 None, |
675 " successfully.</p>" |
676 self.tr("Connect to eric-ide Server"), |
676 ).format( |
677 self.tr( |
677 f"[{peerName}]" if ":" in peerName else peerName, |
678 "<p>The eric-ide server at <b>{0}:{1}</b> was connected" |
678 self.__connection.peerPort(), |
679 " successfully.</p>" |
679 ), |
680 ).format( |
680 ) |
681 f"[{peerName}]" if ":" in peerName else peerName, |
681 else: |
682 self.__connection.peerPort(), |
682 EricMessageBox.information( |
683 ), |
683 None, |
684 ) |
684 self.tr("Disonnect from eric-ide Server"), |
685 else: |
685 self.tr("""The eric-ide server was disconnected."""), |
686 EricMessageBox.information( |
686 ) |
687 None, |
|
688 self.tr("Disonnect from eric-ide Server"), |
|
689 self.tr("""The eric-ide server was disconnected."""), |
|
690 ) |
687 |
691 |
688 @pyqtSlot() |
692 @pyqtSlot() |
689 def __connectToServer(self): |
693 def __connectToServer(self): |
690 """ |
694 """ |
691 Private slot to connect to a remote eric-ide server. |
695 Private slot to connect to a remote eric-ide server. |