Preferences/ConfigurationPages/IrcPage.py

changeset 2230
2b1b9265156c
parent 2229
78539385a8df
child 2243
c0323a43d966
diff -r 78539385a8df -r 2b1b9265156c Preferences/ConfigurationPages/IrcPage.py
--- a/Preferences/ConfigurationPages/IrcPage.py	Sun Nov 25 20:22:02 2012 +0100
+++ b/Preferences/ConfigurationPages/IrcPage.py	Mon Nov 26 19:07:40 2012 +0100
@@ -7,8 +7,6 @@
 Module implementing the IRC configuration page.
 """
 
-from PyQt4.QtCore import pyqtSlot
-
 from .ConfigurationPageBase import ConfigurationPageBase
 from .Ui_IrcPage import Ui_IrcPage
 
@@ -34,8 +32,6 @@
         self.timeFormatCombo.addItems(IrcPage.TimeFormats)
         self.dateFormatCombo.addItems(IrcPage.DateFormats)
         
-        self.ircColours = {}
-        
         # set initial values
         # timestamps
         self.timestampGroup.setChecked(Preferences.getIrc("ShowTimestamps"))
@@ -46,40 +42,28 @@
             self.dateFormatCombo.findText(Preferences.getIrc("DateFormat")))
         
         # colours
-        # TODO: convert this to the code style below
-        self.ircColours["NetworkMessageColour"] = \
-            self.initColour("NetworkMessageColour", self.networkButton,
-                Preferences.getIrc)
-        self.ircColours["ServerMessageColour"] = \
-            self.initColour("ServerMessageColour", self.serverButton,
-                Preferences.getIrc)
-        self.ircColours["ErrorMessageColour"] = \
-            self.initColour("ErrorMessageColour", self.errorButton,
-                Preferences.getIrc)
-        self.ircColours["TimestampColour"] = \
-            self.initColour("TimestampColour", self.timestampButton,
-                Preferences.getIrc)
-        self.ircColours["HyperlinkColour"] = \
-            self.initColour("HyperlinkColour", self.hyperlinkButton,
-                Preferences.getIrc)
-        self.ircColours["ChannelMessageColour"] = \
-            self.initColour("ChannelMessageColour", self.channelButton,
-                Preferences.getIrc)
-        self.ircColours["OwnNickColour"] = \
-            self.initColour("OwnNickColour", self.ownNickButton,
-                Preferences.getIrc)
-        self.ircColours["NickColour"] = \
-            self.initColour("NickColour", self.nickButton,
-                Preferences.getIrc)
-        self.ircColours["JoinChannelColour"] = \
-            self.initColour("JoinChannelColour", self.joinButton,
-                Preferences.getIrc)
-        self.ircColours["LeaveChannelColour"] = \
-            self.initColour("LeaveChannelColour", self.leaveButton,
-                Preferences.getIrc)
-        self.ircColours["ChannelInfoColour"] = \
-            self.initColour("ChannelInfoColour", self.infoButton,
-                Preferences.getIrc)
+        self.initColour("NetworkMessageColour", self.networkButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("ServerMessageColour", self.serverButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("ErrorMessageColour", self.errorButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("TimestampColour", self.timestampButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("HyperlinkColour", self.hyperlinkButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("ChannelMessageColour", self.channelButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("OwnNickColour", self.ownNickButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("NickColour", self.nickButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("JoinChannelColour", self.joinButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("LeaveChannelColour", self.leaveButton,
+                         Preferences.getIrc, byName=True)
+        self.initColour("ChannelInfoColour", self.infoButton,
+                         Preferences.getIrc, byName=True)
         
         # notifications
         self.notificationsGroup.setChecked(Preferences.getIrc("ShowNotifications"))
@@ -88,39 +72,38 @@
         self.ownNickCheckBox.setChecked(Preferences.getIrc("NotifyNick"))
         
         # IRC text colors
-        # TODO: optimize further: put colour dict and select slot in base class
-        self.initColour2(self.ircColours, "IrcColor0", self.ircColor0Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor1", self.ircColor1Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor2", self.ircColor2Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor3", self.ircColor3Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor4", self.ircColor4Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor5", self.ircColor5Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor6", self.ircColor6Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor7", self.ircColor7Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor8", self.ircColor8Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor9", self.ircColor9Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor10", self.ircColor10Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor11", self.ircColor11Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor12", self.ircColor12Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor13", self.ircColor13Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor14", self.ircColor14Button,
-            Preferences.getIrc, self.__selectColour)
-        self.initColour2(self.ircColours, "IrcColor15", self.ircColor15Button,
-            Preferences.getIrc, self.__selectColour)
+        self.initColour("IrcColor0", self.ircColor0Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor1", self.ircColor1Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor2", self.ircColor2Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor3", self.ircColor3Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor4", self.ircColor4Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor5", self.ircColor5Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor6", self.ircColor6Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor7", self.ircColor7Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor8", self.ircColor8Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor9", self.ircColor9Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor10", self.ircColor10Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor11", self.ircColor11Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor12", self.ircColor12Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor13", self.ircColor13Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor14", self.ircColor14Button,
+                         Preferences.getIrc, byName=True)
+        self.initColour("IrcColor15", self.ircColor15Button,
+                         Preferences.getIrc, byName=True)
     
     def save(self):
         """
@@ -139,117 +122,7 @@
         Preferences.setIrc("NotifyNick", self.ownNickCheckBox.isChecked())
         
         # colours
-        for key in self.ircColours:
-            Preferences.setIrc(key, self.ircColours[key].name())
-    
-    @pyqtSlot()
-    def on_networkButton_clicked(self):
-        """
-        Private slot to set the color for network messages.
-        """
-        self.ircColours["NetworkMessageColour"] = \
-            self.selectColour(self.networkButton,
-                self.ircColours["NetworkMessageColour"])
-    
-    @pyqtSlot()
-    def on_nickButton_clicked(self):
-        """
-        Private slot to set the color for nick names.
-        """
-        self.ircColours["NickColour"] = \
-            self.selectColour(self.nickButton,
-                self.ircColours["NickColour"])
-    
-    @pyqtSlot()
-    def on_serverButton_clicked(self):
-        """
-        Private slot to set the color for server messages.
-        """
-        self.ircColours["ServerMessageColour"] = \
-            self.selectColour(self.serverButton,
-                self.ircColours["ServerMessageColour"])
-    
-    @pyqtSlot()
-    def on_ownNickButton_clicked(self):
-        """
-        Private slot to set the color for own nick name.
-        """
-        self.ircColours["OwnNickColour"] = \
-            self.selectColour(self.ownNickButton,
-                self.ircColours["OwnNickColour"])
-    
-    @pyqtSlot()
-    def on_channelButton_clicked(self):
-        """
-        Private slot to set the color for channel messages.
-        """
-        self.ircColours["ChannelMessageColour"] = \
-            self.selectColour(self.channelButton,
-                self.ircColours["ChannelMessageColour"])
-    
-    @pyqtSlot()
-    def on_joinButton_clicked(self):
-        """
-        Private slot to set the color for join events.
-        """
-        self.ircColours["JoinChannelColour"] = \
-            self.selectColour(self.joinButton,
-                self.ircColours["JoinChannelColour"])
-    
-    @pyqtSlot()
-    def on_errorButton_clicked(self):
-        """
-        Private slot to set the color for error messages.
-        """
-        self.ircColours["ErrorMessageColour"] = \
-            self.selectColour(self.errorButton,
-                self.ircColours["ErrorMessageColour"])
-    
-    @pyqtSlot()
-    def on_leaveButton_clicked(self):
-        """
-        Private slot to set the color for leave events.
-        """
-        self.ircColours["LeaveChannelColour"] = \
-            self.selectColour(self.leaveButton,
-                self.ircColours["LeaveChannelColour"])
-    
-    @pyqtSlot()
-    def on_timestampButton_clicked(self):
-        """
-        Private slot to set the color for timestamps.
-        """
-        self.ircColours["TimestampColour"] = \
-            self.selectColour(self.timestampButton,
-                self.ircColours["TimestampColour"])
-    
-    @pyqtSlot()
-    def on_infoButton_clicked(self):
-        """
-        Private slot to set the color for info messages.
-        """
-        self.ircColours["ChannelInfoColour"] = \
-            self.selectColour(self.infoButton,
-                self.ircColours["ChannelInfoColour"])
-    
-    @pyqtSlot()
-    def on_hyperlinkButton_clicked(self):
-        """
-        Private slot to set the color for hyperlinks.
-        """
-        self.ircColours["HyperlinkColour"] = \
-            self.selectColour(self.hyperlinkButton,
-                self.ircColours["HyperlinkColour"])
-    
-    @pyqtSlot()
-    def __selectColour(self):
-        """
-        Private slot to select a color.
-        """
-        button = self.sender()
-        colorKey = button.property("colorName")
-        self.ircColours[colorKey] = self.selectColour(
-            button, self.ircColours[colorKey])
+        self.saveColours(Preferences.setIrc)
 
 
 def create(dlg):

eric ide

mercurial