Tue, 18 Oct 2022 16:06:21 +0200
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
# -*- coding: utf-8 -*- # Copyright (c) 2014 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the translator object. """ import os from PyQt6.QtCore import Qt, QObject from PyQt6.QtGui import QKeySequence from eric7.EricGui.EricAction import EricAction from eric7.EricGui import EricPixmapCache class Translator(QObject): """ Class implementing the translator object. """ def __init__(self, plugin, usesDarkPalette, parent=None): """ Constructor @param plugin reference to the plugin object @type TranslatorPlugin @param usesDarkPalette flag indicating that the platform uses a palette with a dark background @type bool @param parent parent @type QObject """ QObject.__init__(self, parent) self.__plugin = plugin self.__ui = parent self.__widget = None if usesDarkPalette: self.__iconSuffix = "dark" else: self.__iconSuffix = "light" def activate(self): """ Public method to activate the translator. """ from .TranslatorWidget import TranslatorWidget self.__widget = TranslatorWidget(self.__plugin, self) iconName = ( "sbTranslator96" if self.__ui.getLayoutType() == "Sidebars" else "flag-{0}".format(self.__iconSuffix) ) self.__ui.addSideWidget( self.__ui.BottomSide, self.__widget, EricPixmapCache.getIcon( os.path.join(os.path.dirname(__file__), "icons", iconName) ), self.tr("Translator"), ) self.__activateAct = EricAction( self.tr("Translator"), self.tr("T&ranslator"), QKeySequence(self.tr("Alt+Shift+R")), 0, self, "translator_activate", ) self.__activateAct.setStatusTip( self.tr("Switch the input focus to the Translator window.") ) self.__activateAct.setWhatsThis( self.tr( """<b>Activate Translator</b>""" """<p>This switches the input focus to the Translator""" """ window.</p>""" ) ) self.__activateAct.triggered.connect(self.__activateWidget) self.__ui.addEricActions([self.__activateAct], "ui") menu = self.__ui.getMenu("subwindow") menu.addAction(self.__activateAct) def deactivate(self): """ Public method to deactivate the time tracker. """ menu = self.__ui.getMenu("subwindow") menu.removeAction(self.__activateAct) self.__ui.removeEricActions([self.__activateAct], "ui") self.__ui.removeSideWidget(self.__widget) def getAppIcon(self, name): """ Public method to get an icon. @param name name of the icon file @type str @return icon @rtype QIcon """ return EricPixmapCache.getIcon( os.path.join( os.path.dirname(__file__), "icons", "{0}-{1}".format(name, self.__iconSuffix), ) ) def __activateWidget(self): """ Private slot to handle the activation of the project browser. """ uiLayoutType = self.__ui.getLayoutType() if uiLayoutType == "Toolboxes": self.__ui.hToolboxDock.show() self.__ui.hToolbox.setCurrentWidget(self.__widget) elif uiLayoutType == "Sidebars": self.__ui.bottomSidebar.show() self.__ui.bottomSidebar.setCurrentWidget(self.__widget) else: self.__widget.show() self.__widget.setFocus(Qt.FocusReason.ActiveWindowFocusReason)