Sun, 25 Nov 2012 20:22:02 +0100
Optimized the IRC color selection code a bit.
Preferences/ConfigurationPages/ConfigurationPageBase.py | file | annotate | diff | comparison | revisions | |
Preferences/ConfigurationPages/IrcPage.py | file | annotate | diff | comparison | revisions |
--- a/Preferences/ConfigurationPages/ConfigurationPageBase.py Sun Nov 25 20:11:13 2012 +0100 +++ b/Preferences/ConfigurationPages/ConfigurationPageBase.py Sun Nov 25 20:22:02 2012 +0100 @@ -40,14 +40,13 @@ """ return - def initColour(self, colourstr, button, prefMethod, selectSlot=None): + def initColour(self, colourstr, button, prefMethod): """ Public method to initialize a colour selection button. @param colourstr colour to be set (string) @param button reference to a button to show the colour on (QPushButton) @param prefMethod preferences method to get the colour - @param selectSlot method to select the color @return reference to the created colour (QColor) """ colour = QColor(prefMethod(colourstr)) @@ -56,10 +55,27 @@ pm.fill(colour) button.setIconSize(pm.size()) button.setIcon(QIcon(pm)) + return colour + + def initColour2(self, colourDict, colourstr, button, prefMethod, selectSlot): + """ + Public method to initialize a colour selection button. + + @param colourDict reference to the dictionary storing the colors + @param colourstr colour to be set (string) + @param button reference to a button to show the colour on (QPushButton) + @param prefMethod preferences method to get the colour + @param selectSlot method to select the color + """ + colour = QColor(prefMethod(colourstr)) + size = button.size() + pm = QPixmap(size.width() / 2, size.height() / 2) + pm.fill(colour) + button.setIconSize(pm.size()) + button.setIcon(QIcon(pm)) button.setProperty("colorName", colourstr) - if selectSlot is not None: - button.clicked[()].connect(selectSlot) - return colour + button.clicked[()].connect(selectSlot) + colourDict[colourstr] = colour def selectColour(self, button, colourVar, showAlpha=False): """
--- a/Preferences/ConfigurationPages/IrcPage.py Sun Nov 25 20:11:13 2012 +0100 +++ b/Preferences/ConfigurationPages/IrcPage.py Sun Nov 25 20:22:02 2012 +0100 @@ -88,38 +88,39 @@ self.ownNickCheckBox.setChecked(Preferences.getIrc("NotifyNick")) # IRC text colors - self.ircColours["IrcColor0"] = self.initColour( - "IrcColor0", self.ircColor0Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor1"] = self.initColour( - "IrcColor1", self.ircColor1Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor2"] = self.initColour( - "IrcColor2", self.ircColor2Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor3"] = self.initColour( - "IrcColor3", self.ircColor3Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor4"] = self.initColour( - "IrcColor4", self.ircColor4Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor5"] = self.initColour( - "IrcColor5", self.ircColor5Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor6"] = self.initColour( - "IrcColor6", self.ircColor6Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor7"] = self.initColour( - "IrcColor7", self.ircColor7Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor8"] = self.initColour( - "IrcColor8", self.ircColor8Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor9"] = self.initColour( - "IrcColor9", self.ircColor9Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor10"] = self.initColour( - "IrcColor10", self.ircColor10Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor11"] = self.initColour( - "IrcColor11", self.ircColor11Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor12"] = self.initColour( - "IrcColor12", self.ircColor12Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor13"] = self.initColour( - "IrcColor13", self.ircColor13Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor14"] = self.initColour( - "IrcColor14", self.ircColor14Button, Preferences.getIrc, self.__selectColour) - self.ircColours["IrcColor15"] = self.initColour( - "IrcColor15", self.ircColor15Button, Preferences.getIrc, self.__selectColour) + # 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) def save(self): """