Plugins/PluginAbout.py

changeset 0
de9c2efb9d02
child 13
1af94a91f439
diff -r 000000000000 -r de9c2efb9d02 Plugins/PluginAbout.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/PluginAbout.py	Mon Dec 28 16:03:33 2009 +0000
@@ -0,0 +1,127 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2007 - 2009 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the About plugin.
+"""
+
+from PyQt4.QtCore import QObject, SIGNAL
+from PyQt4.QtGui import QMessageBox
+
+from UI.Info import *
+import UI.PixmapCache
+
+from E4Gui.E4Action import E4Action
+
+from AboutPlugin.AboutDialog import AboutDialog
+
+# Start-Of-Header
+name = "About Plugin"
+author = "Detlev Offenbach <detlev@die-offenbachs.de>"
+autoactivate = True
+deactivateable = True
+version = "5.0.0"
+className = "AboutPlugin"
+packageName = "__core__"
+shortDescription = "Show the About dialogs."
+longDescription = """This plugin shows the About dialogs."""
+pyqtApi = 2
+# End-Of-Header
+
+error = ""
+
+class AboutPlugin(QObject):
+    """
+    Class implementing the About plugin.
+    """
+    def __init__(self, ui):
+        """
+        Constructor
+        
+        @param ui reference to the user interface object (UI.UserInterface)
+        """
+        QObject.__init__(self, ui)
+        self.__ui = ui
+
+    def activate(self):
+        """
+        Public method to activate this plugin.
+        
+        @return tuple of None and activation status (boolean)
+        """
+        self.__initActions()
+        self.__initMenu()
+        
+        return None, True
+
+    def deactivate(self):
+        """
+        Public method to deactivate this plugin.
+        """
+        menu = self.__ui.getMenu("help")
+        if menu:
+            menu.removeAction(self.aboutAct)
+            menu.removeAction(self.aboutQtAct)
+        acts = [self.aboutAct, self.aboutQtAct]
+        self.__ui.removeE4Actions(acts, 'ui')
+    
+    def __initActions(self):
+        """
+        Private method to initialize the actions.
+        """
+        acts = []
+        
+        self.aboutAct = E4Action(self.trUtf8('About {0}').format(Program),
+                UI.PixmapCache.getIcon("helpAbout.png"),
+                self.trUtf8('&About {0}').format(Program),
+                0, 0, self, 'about_eric')
+        self.aboutAct.setStatusTip(self.trUtf8('Display information about this software'))
+        self.aboutAct.setWhatsThis(self.trUtf8(
+            """<b>About {0}</b>"""
+            """<p>Display some information about this software.</p>"""
+                             ).format(Program))
+        self.connect(self.aboutAct, SIGNAL('triggered()'), self.__about)
+        acts.append(self.aboutAct)
+        
+        self.aboutQtAct = E4Action(self.trUtf8('About Qt'),
+                UI.PixmapCache.getIcon("helpAboutQt.png"),
+                self.trUtf8('About &Qt'), 0, 0, self, 'about_qt')
+        self.aboutQtAct.setStatusTip(\
+            self.trUtf8('Display information about the Qt toolkit'))
+        self.aboutQtAct.setWhatsThis(self.trUtf8(
+            """<b>About Qt</b>"""
+            """<p>Display some information about the Qt toolkit.</p>"""
+        ))
+        self.connect(self.aboutQtAct, SIGNAL('triggered()'), self.__aboutQt)
+        acts.append(self.aboutQtAct)
+        
+        self.__ui.addE4Actions(acts, 'ui')
+
+    def __initMenu(self):
+        """
+        Private method to add the actions to the right menu.
+        """
+        menu = self.__ui.getMenu("help")
+        if menu:
+            act = self.__ui.getMenuAction("help", "show_versions")
+            if act:
+                menu.insertAction(act, self.aboutAct)
+                menu.insertAction(act, self.aboutQtAct)
+            else:
+                menu.addAction(self.aboutAct)
+                menu.addAction(self.aboutQtAct)
+    
+    def __about(self):
+        """
+        Private slot to handle the About dialog.
+        """
+        dlg = AboutDialog(self.__ui)
+        dlg.exec_()
+        
+    def __aboutQt(self):
+        """
+        Private slot to handle the About Qt dialog.
+        """
+        QMessageBox.aboutQt(self.__ui, Program)

eric ide

mercurial