54 readyForUse = pyqtSignal() |
54 readyForUse = pyqtSignal() |
55 newMessage = pyqtSignal(str, str) |
55 newMessage = pyqtSignal(str, str) |
56 getParticipants = pyqtSignal() |
56 getParticipants = pyqtSignal() |
57 participants = pyqtSignal(list) |
57 participants = pyqtSignal(list) |
58 editorCommand = pyqtSignal(str, str, str) |
58 editorCommand = pyqtSignal(str, str, str) |
|
59 rejected = pyqtSignal(str) |
59 |
60 |
60 def __init__(self, parent = None): |
61 def __init__(self, parent = None): |
61 """ |
62 """ |
62 Constructor |
63 Constructor |
63 |
64 |
77 self.__pingTimer.setInterval(PingInterval) |
78 self.__pingTimer.setInterval(PingInterval) |
78 self.__pongTime = QTime() |
79 self.__pongTime = QTime() |
79 self.__buffer = QByteArray() |
80 self.__buffer = QByteArray() |
80 |
81 |
81 self.readyRead.connect(self.__processReadyRead) |
82 self.readyRead.connect(self.__processReadyRead) |
82 self.disconnected.connect(self.__pingTimer.stop) |
83 self.disconnected.connect(self.__disconnected) |
83 self.__pingTimer.timeout.connect(self.__sendPing) |
84 self.__pingTimer.timeout.connect(self.__sendPing) |
84 self.connected.connect(self.__sendGreetingMessage) |
85 self.connected.connect(self.__sendGreetingMessage) |
85 |
86 |
86 def name(self): |
87 def name(self): |
87 """ |
88 """ |
392 msg = QByteArray("{0}{1}{2}{1}{3}".format( |
393 msg = QByteArray("{0}{1}{2}{1}{3}".format( |
393 projectHash, SeparatorToken, filename, message).encode("utf-8")) |
394 projectHash, SeparatorToken, filename, message).encode("utf-8")) |
394 data = QByteArray("{0}{1}{2}{1}".format( |
395 data = QByteArray("{0}{1}{2}{1}".format( |
395 Connection.ProtocolEditor, SeparatorToken, msg.size())) + msg |
396 Connection.ProtocolEditor, SeparatorToken, msg.size())) + msg |
396 self.write(data) |
397 self.write(data) |
|
398 |
|
399 def __disconnected(self): |
|
400 """ |
|
401 Private slot to handle the connection being dropped. |
|
402 """ |
|
403 self.__pingTimer.stop() |
|
404 if self.__state == Connection.WaitingForGreeting: |
|
405 self.rejected.emit(self.trUtf8("* Connection to {0}:{1} refused.").format( |
|
406 self.peerName(), self.peerPort())) |