239 Private method to determine the connection parameters. |
239 Private method to determine the connection parameters. |
240 |
240 |
241 @return tuple with hostname and port (string, integer) |
241 @return tuple with hostname and port (string, integer) |
242 """ |
242 """ |
243 hostEntry = self.hostEdit.currentText() |
243 hostEntry = self.hostEdit.currentText() |
244 if ":" in hostEntry: |
244 if "@" in hostEntry: |
245 host, port = hostEntry.split(":") |
245 host, port = hostEntry.split("@") |
246 try: |
246 try: |
247 port = int(port) |
247 port = int(port) |
248 except ValueError: |
248 except ValueError: |
249 port = Preferences.getCooperation("ServerPort") |
249 port = Preferences.getCooperation("ServerPort") |
250 self.hostEdit.setEditText("{0}:{1}".format(host, port)) |
250 self.hostEdit.setEditText("{0}@{1}".format(host, port)) |
251 else: |
251 else: |
252 host = hostEntry |
252 host = hostEntry |
253 port = Preferences.getCooperation("ServerPort") |
253 port = Preferences.getCooperation("ServerPort") |
254 self.hostEdit.setEditText("{0}:{1}".format(host, port)) |
254 self.hostEdit.setEditText("{0}@{1}".format(host, port)) |
255 return host, port |
255 return host, port |
256 |
256 |
257 @pyqtSlot() |
257 @pyqtSlot() |
258 def on_connectButton_clicked(self): |
258 def on_connectButton_clicked(self): |
259 """ |
259 """ |
260 Private slot initiating the connection. |
260 Private slot initiating the connection. |
261 """ |
261 """ |
262 if not self.__connected: |
262 if not self.__connected: |
263 host, port = self.__getConnectionParameters() |
263 host, port = self.__getConnectionParameters() |
264 self.__setHostsHistory(self.hostEdit.currentText()) |
264 self.__setHostsHistory(self.hostEdit.currentText()) |
265 if not self.__client.server().isListening(): |
265 if not self.__client.isListening(): |
266 self.on_serverButton_clicked() |
266 self.on_serverButton_clicked() |
267 if self.__client.server().isListening(): |
267 if self.__client.isListening(): |
268 self.__client.connectToHost(host, port) |
268 self.__client.connectToHost(host, port) |
269 self.__setConnected(True) |
269 self.__setConnected(True) |
270 else: |
270 else: |
271 self.__client.disconnectConnections() |
271 self.__client.disconnectConnections() |
272 self.__setConnected(False) |
272 self.__setConnected(False) |
281 @pyqtSlot() |
281 @pyqtSlot() |
282 def on_serverButton_clicked(self): |
282 def on_serverButton_clicked(self): |
283 """ |
283 """ |
284 Private slot to start the server. |
284 Private slot to start the server. |
285 """ |
285 """ |
286 if self.__client.server().isListening(): |
286 if self.__client.isListening(): |
287 self.__client.server().close() |
287 self.__client.close() |
288 self.serverButton.setText(self.trUtf8("Start Server")) |
288 self.serverButton.setText(self.trUtf8("Start Server")) |
289 self.serverPortSpin.setEnabled(True) |
289 self.serverPortSpin.setEnabled(True) |
290 if self.serverPortSpin.value() != Preferences.getCooperation("ServerPort"): |
290 if self.serverPortSpin.value() != Preferences.getCooperation("ServerPort"): |
291 self.serverPortSpin.setValue(Preferences.getCooperation("ServerPort")) |
291 self.serverPortSpin.setValue(Preferences.getCooperation("ServerPort")) |
292 self.serverLed.setColor(QColor(Qt.red)) |
292 self.serverLed.setColor(QColor(Qt.red)) |
293 else: |
293 else: |
294 res, port = self.__client.server().startListening(self.serverPortSpin.value()) |
294 res, port = self.__client.startListening(self.serverPortSpin.value()) |
295 if res: |
295 if res: |
296 self.serverButton.setText(self.trUtf8("Stop Server")) |
296 self.serverButton.setText(self.trUtf8("Stop Server")) |
297 self.serverPortSpin.setValue(port) |
297 self.serverPortSpin.setValue(port) |
298 self.serverPortSpin.setEnabled(False) |
298 self.serverPortSpin.setEnabled(False) |
299 self.serverLed.setColor(QColor(Qt.green)) |
299 self.serverLed.setColor(QColor(Qt.green)) |
300 else: |
300 else: |
301 self.__showErrorMessage( |
301 self.__showErrorMessage( |
302 self.trUtf8("! Server Error: {0}\n").format( |
302 self.trUtf8("! Server Error: {0}\n").format( |
303 self.__client.server().errorString()) |
303 self.__client.errorString()) |
304 ) |
304 ) |
305 |
305 |
306 def __setConnected(self, connected): |
306 def __setConnected(self, connected): |
307 """ |
307 """ |
308 Private slot to set the connected state. |
308 Private slot to set the connected state. |
352 |
352 |
353 def preferencesChanged(self): |
353 def preferencesChanged(self): |
354 """ |
354 """ |
355 Public slot to handle a change of preferences. |
355 Public slot to handle a change of preferences. |
356 """ |
356 """ |
357 if not self.__client.server().isListening(): |
357 if not self.__client.isListening(): |
358 self.serverPortSpin.setValue(Preferences.getCooperation("ServerPort")) |
358 self.serverPortSpin.setValue(Preferences.getCooperation("ServerPort")) |
359 if Preferences.getCooperation("AutoStartServer"): |
359 if Preferences.getCooperation("AutoStartServer"): |
360 self.on_serverButton_clicked() |
360 self.on_serverButton_clicked() |
361 |
361 |
362 def getClient(self): |
362 def getClient(self): |