Fixed a non-fatal issue in the IRC widget related to changing an identity.

Sat, 22 Dec 2012 13:13:56 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 22 Dec 2012 13:13:56 +0100
changeset 2279
cbf90feec16f
parent 2278
72d794b6fef8
child 2280
8e85ca3fabe7

Fixed a non-fatal issue in the IRC widget related to changing an identity.

Network/IRC/IrcNetworkManager.py file | annotate | diff | comparison | revisions
Network/IRC/IrcNetworkWidget.py file | annotate | diff | comparison | revisions
Network/IRC/IrcWidget.py file | annotate | diff | comparison | revisions
--- a/Network/IRC/IrcNetworkManager.py	Sat Dec 22 12:22:37 2012 +0100
+++ b/Network/IRC/IrcNetworkManager.py	Sat Dec 22 13:13:56 2012 +0100
@@ -701,9 +701,11 @@
     
     @signal dataChanged() emitted after some data has changed
     @signal networksChanged() emitted after a network object has changed
+    @signal identitiesChanged() emitted after an identity object has changed
     """
     dataChanged = pyqtSignal()
     networksChanged = pyqtSignal()
+    identitiesChanged = pyqtSignal()
     
     def __init__(self, parent=None):
         """
@@ -926,6 +928,7 @@
         Public method to indicate a change of an identity object.
         """
         self.dataChanged.emit()
+        self.identitiesChanged.emit()
     
     ##################################################################
     ## Network related methods below
--- a/Network/IRC/IrcNetworkWidget.py	Sat Dec 22 12:22:37 2012 +0100
+++ b/Network/IRC/IrcNetworkWidget.py	Sat Dec 22 13:13:56 2012 +0100
@@ -81,6 +81,7 @@
         self.networkCombo.addItems(self.__manager.getNetworkNames())
         
         self.__manager.networksChanged.connect(self.__refreshNetworks)
+        self.__manager.identitiesChanged.connect(self.__refreshNetworks)
     
     def autoConnect(self):
         """
@@ -102,13 +103,17 @@
         currentNetwork = self.networkCombo.currentText()
         currentNick = self.nickCombo.currentText()
         currentChannel = self.channelCombo.currentText()
+        blocked = self.networkCombo.blockSignals(True)
         self.networkCombo.clear()
         self.networkCombo.addItems(self.__manager.getNetworkNames())
+        self.networkCombo.blockSignals(blocked)
         row = self.networkCombo.findText(currentNetwork)
         if row == -1:
             row = 0
+        blocked = self.nickCombo.blockSignals(True)
         self.networkCombo.setCurrentIndex(row)
         self.nickCombo.setEditText(currentNick)
+        self.nickCombo.blockSignals(blocked)
         self.channelCombo.setEditText(currentChannel)
     
     @pyqtSlot()
@@ -171,7 +176,6 @@
         @param networkName selected network name (string)
         """
         network = self.__manager.getNetwork(networkName)
-        self.channelCombo.clear()
         self.nickCombo.clear()
         self.channelCombo.clear()
         if network:
--- a/Network/IRC/IrcWidget.py	Sat Dec 22 12:22:37 2012 +0100
+++ b/Network/IRC/IrcWidget.py	Sat Dec 22 13:13:56 2012 +0100
@@ -853,7 +853,7 @@
         
         @param nick nick name to use (str)
         """
-        if nick:
+        if nick and nick != self.__nickName:
             self.__send("NICK " + nick)
     
     def __setChannelTypePrefixes(self, prefixes):

eric ide

mercurial