Network/IRC/IrcWidget.py

changeset 2246
fdf22a29fbf4
parent 2245
cbddacb4bc2e
child 2252
1fc32bd13be3
diff -r cbddacb4bc2e -r fdf22a29fbf4 Network/IRC/IrcWidget.py
--- a/Network/IRC/IrcWidget.py	Wed Dec 05 19:46:44 2012 +0100
+++ b/Network/IRC/IrcWidget.py	Thu Dec 06 19:40:03 2012 +0100
@@ -39,7 +39,6 @@
     ServerConnected = 2
     ServerConnecting = 3
     
-    # TODO: Implement the Auto Away functionality
     def __init__(self, parent=None):
         """
         Constructor
@@ -66,6 +65,7 @@
         self.networkWidget.joinChannel.connect(self.__joinChannel)
         self.networkWidget.nickChanged.connect(self.__changeNick)
         self.networkWidget.sendData.connect(self.__send)
+        self.networkWidget.away.connect(self.__away)
         
         self.__channelList = []
         self.__channelTypePrefixes = ""
@@ -747,3 +747,15 @@
             return name[0] in self.__channelTypePrefixes
         else:
             return name[0] in "#&"
+    
+    def __away(self, isAway):
+        """
+        Private slot handling the change of the away state.
+        
+        @param isAway flag indicating the current away state (boolean)
+        """
+        if isAway and self.__identityName:
+            identity = self.__ircNetworkManager.getIdentity(self.__identityName)
+            if identity.rememberAwayPosition():
+                for channel in self.__channelList:
+                    channel.setMarkerLine()

eric ide

mercurial