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):