Network/IRC/IrcWidget.py

changeset 2336
d9e47b8ee1ef
parent 2302
f29e9405c851
child 2339
4ee173db22c2
diff -r fc69ad77e18a -r d9e47b8ee1ef Network/IRC/IrcWidget.py
--- a/Network/IRC/IrcWidget.py	Sat Jan 12 18:44:39 2013 +0100
+++ b/Network/IRC/IrcWidget.py	Sun Jan 13 12:58:08 2013 +0100
@@ -218,11 +218,7 @@
                 self.networkWidget.addServerMessage(self.trUtf8("Info"),
                     self.trUtf8("Disconnecting from server {0}...").format(
                         self.__server.getName()))
-                while self.__channelList:
-                    channel = self.__channelList.pop()
-                    self.channelsWidget.removeTab(self.channelsWidget.indexOf(channel))
-                    channel.deleteLater()
-                    channel = None
+                self.__closeAllChannels()
                 self.__send("QUIT :" + self.__quitMessage)
                 self.__socket and self.__socket.flush()
                 self.__socket and self.__socket.close()
@@ -344,6 +340,16 @@
         channel = self.channelsWidget.currentWidget()
         channel.requestLeave()
     
+    def __closeAllChannels(self):
+        """
+        Private method to close all channels.
+        """
+        while self.__channelList:
+            channel = self.__channelList.pop()
+            self.channelsWidget.removeTab(self.channelsWidget.indexOf(channel))
+            channel.deleteLater()
+            channel = None
+    
     def __closeChannel(self, name):
         """
         Private slot handling the closing of a channel.
@@ -432,6 +438,7 @@
         """
         Private slot to indicate the host was disconnected.
         """
+        self.__closeAllChannels()
         self.networkWidget.addServerMessage(self.trUtf8("Info"),
             self.trUtf8("Server disconnected."))
         self.networkWidget.setRegistered(False)

eric ide

mercurial