5 |
5 |
6 """ |
6 """ |
7 Module implementing the IRC data structures and their manager. |
7 Module implementing the IRC data structures and their manager. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt4.QtCore import pyqtSignal, QObject |
10 from PyQt4.QtCore import pyqtSignal, QObject, QCoreApplication |
11 |
11 |
12 import Utilities |
12 import Utilities |
13 from Utilities.AutoSaver import AutoSaver |
13 from Utilities.AutoSaver import AutoSaver |
14 from Utilities.crypto import pwConvert |
14 from Utilities.crypto import pwConvert |
15 import Preferences |
15 import Preferences |
18 class IrcIdentity(QObject): |
18 class IrcIdentity(QObject): |
19 """ |
19 """ |
20 Class implementing the IRC identity object. |
20 Class implementing the IRC identity object. |
21 """ |
21 """ |
22 DefaultIdentityName = "0default" |
22 DefaultIdentityName = "0default" |
|
23 DefaultIdentityDisplay = QCoreApplication.translate("IrcIdentity", "Default Identity") |
23 |
24 |
24 def __init__(self, name, parent=None): |
25 def __init__(self, name, parent=None): |
25 """ |
26 """ |
26 Constructor |
27 Constructor |
27 |
28 |
349 |
350 |
350 |
351 |
351 class IrcNetworkManager(QObject): |
352 class IrcNetworkManager(QObject): |
352 """ |
353 """ |
353 Class implementing the IRC identity object. |
354 Class implementing the IRC identity object. |
|
355 |
|
356 @signal dataChanged() emitted after some data has changed |
|
357 @signal networksChanged() emitted after a network object has changed |
354 """ |
358 """ |
355 dataChanged = pyqtSignal() |
359 dataChanged = pyqtSignal() |
|
360 networksChanged = pyqtSignal() |
356 |
361 |
357 def __init__(self, parent=None): |
362 def __init__(self, parent=None): |
358 """ |
363 """ |
359 Constructor |
364 Constructor |
360 |
365 |
541 |
546 |
542 @param identity reference to the identity to add (IrcIdentity) |
547 @param identity reference to the identity to add (IrcIdentity) |
543 """ |
548 """ |
544 name = identity.getName() |
549 name = identity.getName() |
545 self.__identities[name] = identity |
550 self.__identities[name] = identity |
546 self.dataChanged.emit() |
551 self.identityChanged() |
547 |
552 |
548 def deleteIdentity(self, name): |
553 def deleteIdentity(self, name): |
549 """ |
554 """ |
550 Public method to delete the given identity. |
555 Public method to delete the given identity. |
551 |
556 |
552 @param name name of the identity to delete (string) |
557 @param name name of the identity to delete (string) |
553 """ |
558 """ |
554 if name in self.__identities and name != IrcIdentity.DefaultIdentityName: |
559 if name in self.__identities and name != IrcIdentity.DefaultIdentityName: |
555 del self.__identities[name] |
560 del self.__identities[name] |
556 self.dataChanged.emit() |
561 self.identityChanged() |
557 |
562 |
558 def renameIdentity(self, oldName, newName): |
563 def renameIdentity(self, oldName, newName): |
559 """ |
564 """ |
560 Public method to rename an identity. |
565 Public method to rename an identity. |
561 |
566 |
568 |
573 |
569 for network in self.__networks: |
574 for network in self.__networks: |
570 if network.getIdentityName() == oldName: |
575 if network.getIdentityName() == oldName: |
571 network.setIdentityName(newName) |
576 network.setIdentityName(newName) |
572 |
577 |
573 self.dataChanged.emit() |
578 self.identityChanged() |
574 |
579 |
575 def identityChanged(self): |
580 def identityChanged(self): |
576 """ |
581 """ |
577 Public method to indicate a change of an identity object. |
582 Public method to indicate a change of an identity object. |
578 """ |
583 """ |
656 |
661 |
657 self.networkChanged() |
662 self.networkChanged() |
658 |
663 |
659 return network |
664 return network |
660 |
665 |
|
666 def deleteNetwork(self, name): |
|
667 """ |
|
668 Public method to delete the given network. |
|
669 |
|
670 @param name name of the network to delete (string) |
|
671 """ |
|
672 if name in self.__networks: |
|
673 del self.__networks[name] |
|
674 self.networkChanged() |
|
675 |
661 def networkChanged(self): |
676 def networkChanged(self): |
662 """ |
677 """ |
663 Public method to indicate a change of a network object. |
678 Public method to indicate a change of a network object. |
664 """ |
679 """ |
665 self.dataChanged.emit() |
680 self.dataChanged.emit() |
|
681 self.networksChanged.emit() |
666 |
682 |
667 def getNetworkNames(self): |
683 def getNetworkNames(self): |
668 """ |
684 """ |
669 Public method to get a list of all known network names. |
685 Public method to get a list of all known network names. |
670 |
686 |