src/eric7/Plugins/PluginAbout.py

Wed, 13 Jul 2022 14:55:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Jul 2022 14:55:47 +0200
branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
permissions
-rw-r--r--

Reformatted the source code using the 'Black' utility.

# -*- coding: utf-8 -*-

# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Module implementing the About plugin.
"""

from PyQt6.QtCore import QObject
from PyQt6.QtGui import QAction

import UI.Info
import UI.PixmapCache

from EricGui.EricAction import EricAction
from EricWidgets import EricMessageBox

# Start-Of-Header
name = "About Plugin"
author = "Detlev Offenbach <detlev@die-offenbachs.de>"
autoactivate = True
deactivateable = True
version = UI.Info.VersionOnly
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)
        """
        super().__init__(ui)
        self.__ui = ui

        self.__aboutDialog = None

    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.removeEricActions(acts, "ui")

    def __initActions(self):
        """
        Private method to initialize the actions.
        """
        acts = []

        self.aboutAct = EricAction(
            self.tr("About {0}").format(UI.Info.Program),
            UI.PixmapCache.getIcon("helpAbout"),
            self.tr("&About {0}").format(UI.Info.Program),
            0,
            0,
            self,
            "about_eric",
        )
        self.aboutAct.setStatusTip(self.tr("Display information about this software"))
        self.aboutAct.setWhatsThis(
            self.tr(
                """<b>About {0}</b>"""
                """<p>Display some information about this software.</p>"""
            ).format(UI.Info.Program)
        )
        self.aboutAct.triggered.connect(self.__about)
        self.aboutAct.setMenuRole(QAction.MenuRole.AboutRole)
        acts.append(self.aboutAct)

        self.aboutQtAct = EricAction(
            self.tr("About Qt"),
            UI.PixmapCache.getIcon("helpAboutQt"),
            self.tr("About &Qt"),
            0,
            0,
            self,
            "about_qt",
        )
        self.aboutQtAct.setStatusTip(
            self.tr("Display information about the Qt toolkit")
        )
        self.aboutQtAct.setWhatsThis(
            self.tr(
                """<b>About Qt</b>"""
                """<p>Display some information about the Qt toolkit.</p>"""
            )
        )
        self.aboutQtAct.triggered.connect(self.__aboutQt)
        self.aboutQtAct.setMenuRole(QAction.MenuRole.AboutQtRole)
        acts.append(self.aboutQtAct)

        self.__ui.addEricActions(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.
        """
        from AboutPlugin.AboutDialog import AboutDialog

        if self.__aboutDialog is None:
            self.__aboutDialog = AboutDialog(self.__ui)
        self.__aboutDialog.show()

    def __aboutQt(self):
        """
        Private slot to handle the About Qt dialog.
        """
        EricMessageBox.aboutQt(self.__ui, UI.Info.Program)

eric ide

mercurial