Network/IRC/IrcWidget.py

changeset 2252
1fc32bd13be3
parent 2246
fdf22a29fbf4
child 2253
7ba2af1ff785
equal deleted inserted replaced
2250:810e9c7b61e3 2252:1fc32bd13be3
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 """

eric ide

mercurial