33 self.__name = name |
35 self.__name = name |
34 self.__realName = "" |
36 self.__realName = "" |
35 self.__nickNames = [] |
37 self.__nickNames = [] |
36 self.__serviceName = "" |
38 self.__serviceName = "" |
37 self.__password = "" |
39 self.__password = "" |
|
40 self.__ident = Utilities.getUserName() |
38 |
41 |
39 def save(self, settings): |
42 def save(self, settings): |
40 """ |
43 """ |
41 Public method to save the identity data. |
44 Public method to save the identity data. |
42 |
45 |
43 @param settings reference to the settings object (QSettings) |
46 @param settings reference to the settings object (QSettings) |
44 """ |
47 """ |
45 # no need to save the name because that is the group key |
48 # no need to save the name because that is the group key |
|
49 settings.setValue("Ident", self.__ident) |
46 settings.setValue("RealName", self.__realName) |
50 settings.setValue("RealName", self.__realName) |
47 settings.setValue("NickNames", self.__nickNames) |
51 settings.setValue("NickNames", self.__nickNames) |
48 settings.setValue("ServiceName", self.__serviceName) |
52 settings.setValue("ServiceName", self.__serviceName) |
49 settings.setValue("Password", self.__password) |
53 settings.setValue("Password", self.__password) |
50 |
54 |
52 """ |
56 """ |
53 Public method to load the identity data. |
57 Public method to load the identity data. |
54 |
58 |
55 @param settings reference to the settings object (QSettings) |
59 @param settings reference to the settings object (QSettings) |
56 """ |
60 """ |
|
61 self.__ident = settings.value("Ident", Utilities.getUserName()) |
57 self.__realName = settings.value("RealName", "") |
62 self.__realName = settings.value("RealName", "") |
58 self.__nickNames = Preferences.toList(settings.value("NickNames", [])) |
63 self.__nickNames = Preferences.toList(settings.value("NickNames", [])) |
59 self.__serviceName = settings.value("ServiceName", "") |
64 self.__serviceName = settings.value("ServiceName", "") |
60 self.__password = settings.value("Password", "") |
65 self.__password = settings.value("Password", "") |
61 |
66 |
|
67 def setName(self, name): |
|
68 """ |
|
69 Public method to set the identity name. |
|
70 |
|
71 @param identity name (string) |
|
72 """ |
|
73 self.__name = name |
|
74 |
62 def getName(self): |
75 def getName(self): |
63 """ |
76 """ |
64 Public method to get the identity name. |
77 Public method to get the identity name. |
65 |
78 |
66 @return identity name (string) |
79 @return identity name (string) |
67 """ |
80 """ |
68 return self.__name |
81 return self.__name |
69 |
82 |
|
83 def setIdent(self, name): |
|
84 """ |
|
85 Public method to set the real identity name. |
|
86 |
|
87 @param name real identity name (string) |
|
88 """ |
|
89 self.__ident = name |
|
90 |
70 def getIdent(self): |
91 def getIdent(self): |
71 """ |
92 """ |
72 Public method to get the real identity name. |
93 Public method to get the real identity name. |
73 |
94 |
74 Note: This methdo takes care of converting the default |
|
75 identity name to the user's user name. |
|
76 |
|
77 @return real identity name (string) |
95 @return real identity name (string) |
78 """ |
96 """ |
79 if self.__name == IrcIdentity.DefaultIdentityName: |
97 return self.__ident |
80 return Utilities.getUserName() |
|
81 else: |
|
82 return self.__name |
|
83 |
98 |
84 def setRealName(self, name): |
99 def setRealName(self, name): |
85 """ |
100 """ |
86 Public method to set the real name of the identity. |
101 Public method to set the real name of the identity. |
87 |
102 |
151 Class method to create the default identity. |
166 Class method to create the default identity. |
152 |
167 |
153 @return default identity (IrcIdentity) |
168 @return default identity (IrcIdentity) |
154 """ |
169 """ |
155 userName = Utilities.getUserName() |
170 userName = Utilities.getUserName() |
|
171 realName = Utilities.getRealName() |
|
172 if not realName: |
|
173 realName = "eric IDE chat" |
156 identity = IrcIdentity(IrcIdentity.DefaultIdentityName) |
174 identity = IrcIdentity(IrcIdentity.DefaultIdentityName) |
157 identity.setNickNames([userName, userName + "_", userName + "__"]) |
175 identity.setNickNames([userName, userName + "_", userName + "__"]) |
158 identity.setRealName(userName) |
176 identity.setRealName(realName) |
|
177 identity.setIdent(userName) |
159 return identity |
178 return identity |
160 |
179 |
161 |
180 |
162 class IrcServer(object): |
181 class IrcServer(object): |
163 """ |
182 """ |
477 """ |
496 """ |
478 Public method to get the channels. |
497 Public method to get the channels. |
479 |
498 |
480 @return list of channels for the network (list of IrcChannel) |
499 @return list of channels for the network (list of IrcChannel) |
481 """ |
500 """ |
482 return list(self.__channels.values()) |
501 return list(copy.deepcopy(self.__channels).values()) |
483 |
502 |
484 def getChannelNames(self): |
503 def getChannelNames(self): |
485 """ |
504 """ |
486 Public method to get the list of channels. |
505 Public method to get the list of channels. |
487 |
506 |
618 |
637 |
619 # save IRC data |
638 # save IRC data |
620 self.__settings.beginGroup("IRC") |
639 self.__settings.beginGroup("IRC") |
621 |
640 |
622 # identities |
641 # identities |
|
642 self.__settings.remove("Identities") |
623 self.__settings.beginGroup("Identities") |
643 self.__settings.beginGroup("Identities") |
624 for key in self.__identities: |
644 for key in self.__identities: |
625 self.__settings.beginGroup(key) |
645 self.__settings.beginGroup(key) |
626 self.__identities[key].save(self.__settings) |
646 self.__identities[key].save(self.__settings) |
627 self.__settings.endGroup() |
647 self.__settings.endGroup() |
628 self.__settings.endGroup() |
648 self.__settings.endGroup() |
629 |
649 |
630 # networks |
650 # networks |
|
651 self.__settings.remove("Networks") |
631 self.__settings.beginGroup("Networks") |
652 self.__settings.beginGroup("Networks") |
632 for key in self.__networks: |
653 for key in self.__networks: |
633 self.__settings.beginGroup(key) |
654 self.__settings.beginGroup(key) |
634 self.__networks[key].save(self.__settings) |
655 self.__networks[key].save(self.__settings) |
635 self.__settings.endGroup() |
656 self.__settings.endGroup() |
727 |
748 |
728 return id |
749 return id |
729 else: |
750 else: |
730 return None |
751 return None |
731 |
752 |
|
753 def getIdentities(self): |
|
754 """ |
|
755 Public method to get a copy of all identities. |
|
756 |
|
757 @return dictionary of all identities (dict of IrcIdentity) |
|
758 """ |
|
759 return copy.deepcopy(self.__identities) |
|
760 |
|
761 def setIdentities(self, identities): |
|
762 """ |
|
763 Public method to set the identities. |
|
764 |
|
765 @param identities dictionary of all identities (dict of IrcIdentity) |
|
766 """ |
|
767 self.__identities = copy.deepcopy(identities) |
|
768 self.identityChanged() |
|
769 |
|
770 # Check all networks, if the identity they use is still available. |
|
771 # If it isn't, change them to use the default identity. |
|
772 for network in self.__networks.values(): |
|
773 if network.getIdentityName() not in self.__identities: |
|
774 network.setIdentityName(IrcIdentity.DefaultIdentityName) |
|
775 |
732 def getIdentityNames(self): |
776 def getIdentityNames(self): |
733 """ |
777 """ |
734 Public method to get the names of all identities. |
778 Public method to get the names of all identities. |
735 |
779 |
736 @return names of all identities (list of string) |
780 @return names of all identities (list of string) |
824 name = network.getName() |
868 name = network.getName() |
825 if name not in self.__networks: |
869 if name not in self.__networks: |
826 self.__networks[name] = network |
870 self.__networks[name] = network |
827 self.networkChanged() |
871 self.networkChanged() |
828 |
872 |
829 # TODO: check, if this method is needed |
|
830 ## def createNetwork(self, name, identity, server, channels=None): |
|
831 ## """ |
|
832 ## Public method to create a new network object. |
|
833 ## |
|
834 ## @param name name of the network (string) |
|
835 ## @param identity reference to an identity object to associate with |
|
836 ## this network (IrcIdentity) |
|
837 ## @param server reference to a server object to associate with this |
|
838 ## network (IrcServer) |
|
839 ## @param channels list of channels for the network (list of IrcChannel) |
|
840 ## @return reference to the created network object (IrcNetwork) |
|
841 ## """ |
|
842 ## if not self.__loaded: |
|
843 ## self.__load() |
|
844 ## |
|
845 ## if name in self.__networks: |
|
846 ## return None |
|
847 ## |
|
848 ## network = IrcNetwork(name) |
|
849 ## network.setIdentityName(identity.getName()) |
|
850 #### network.setServerName(server.getServer()) |
|
851 #### network.setChannels(channels[:]) |
|
852 #### network.setAutoJoinChannels(autoJoinChannels) |
|
853 ## self.__networks[name] = network |
|
854 ## |
|
855 ## self.networkChanged() |
|
856 ## |
|
857 ## return network |
|
858 ## |
|
859 def deleteNetwork(self, name): |
873 def deleteNetwork(self, name): |
860 """ |
874 """ |
861 Public method to delete the given network. |
875 Public method to delete the given network. |
862 |
876 |
863 @param name name of the network to delete (string) |
877 @param name name of the network to delete (string) |