246 channel.setPartMessage(identity.getPartMessage()) |
246 channel.setPartMessage(identity.getPartMessage()) |
247 channel.setUserPrivilegePrefix(self.__userPrefix) |
247 channel.setUserPrivilegePrefix(self.__userPrefix) |
248 |
248 |
249 channel.sendData.connect(self.__send) |
249 channel.sendData.connect(self.__send) |
250 channel.channelClosed.connect(self.__closeChannel) |
250 channel.channelClosed.connect(self.__closeChannel) |
|
251 channel.openPrivateChat.connect(self.__openPrivate) |
251 |
252 |
252 self.channelsWidget.addTab(channel, name) |
253 self.channelsWidget.addTab(channel, name) |
253 self.__channelList.append(channel) |
254 self.__channelList.append(channel) |
254 |
255 |
255 joinCommand = ["JOIN", name] |
256 joinCommand = ["JOIN", name] |
261 emptyIndex = self.channelsWidget.indexOf(self.__emptyLabel) |
262 emptyIndex = self.channelsWidget.indexOf(self.__emptyLabel) |
262 if emptyIndex > -1: |
263 if emptyIndex > -1: |
263 self.channelsWidget.removeTab(emptyIndex) |
264 self.channelsWidget.removeTab(emptyIndex) |
264 self.__leaveButton.setEnabled(True) |
265 self.__leaveButton.setEnabled(True) |
265 self.channelsWidget.setTabsClosable(True) |
266 self.channelsWidget.setTabsClosable(True) |
|
267 |
|
268 @pyqtSlot(str) |
|
269 def __openPrivate(self, name): |
|
270 """ |
|
271 Private slot to open a private chat with the given user. |
|
272 |
|
273 @param name name of the user (string) |
|
274 """ |
|
275 channel = IrcChannelWidget(self) |
|
276 channel.setName(self.__nickName) |
|
277 channel.setUserName(self.__nickName) |
|
278 identity = self.__ircNetworkManager.getIdentity(self.__identityName) |
|
279 channel.setPartMessage(identity.getPartMessage()) |
|
280 channel.setUserPrivilegePrefix(self.__userPrefix) |
|
281 channel.setPrivate(True, name) |
|
282 channel.addUsers([name, self.__nickName]) |
|
283 |
|
284 channel.sendData.connect(self.__send) |
|
285 channel.channelClosed.connect(self.__closeChannel) |
|
286 |
|
287 self.channelsWidget.addTab(channel, name) |
|
288 self.__channelList.append(channel) |
266 |
289 |
267 @pyqtSlot() |
290 @pyqtSlot() |
268 def __leaveChannel(self): |
291 def __leaveChannel(self): |
269 """ |
292 """ |
270 Private slot to leave a channel and close the associated tab. |
293 Private slot to leave a channel and close the associated tab. |
459 else: |
482 else: |
460 self.networkWidget.addMessage( |
483 self.networkWidget.addMessage( |
461 self.trUtf8("User {0} is now known as {1}.").format( |
484 self.trUtf8("User {0} is now known as {1}.").format( |
462 oldNick, newNick)) |
485 oldNick, newNick)) |
463 return True |
486 return True |
|
487 elif name == "ERROR": |
|
488 self.networkWidget.addErrorMessage( |
|
489 self.trUtf8("Server Error"), match.group(3).split(":", 1)[1]) |
|
490 return True |
464 |
491 |
465 return False |
492 return False |
466 |
493 |
467 def __handleNumericMessage(self, match): |
494 def __handleNumericMessage(self, match): |
468 """ |
495 """ |