Sun, 15 Jul 2018 19:21:28 +0200
UserInterface, Translator: fixed an issue switching to the translator via the keyboard shortcut.
# -*- coding: utf-8 -*- # Copyright (c) 2014 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the translator object. """ from __future__ import unicode_literals import os from PyQt5.QtCore import Qt, QObject from PyQt5.QtGui import QKeySequence from E5Gui.E5Action import E5Action import UI.PixmapCache class Translator(QObject): """ Class implementing the translator object. """ def __init__(self, plugin, parent=None): """ Constructor @param plugin reference to the plugin object (TranslatorPlugin) @param parent parent (QObject) """ QObject.__init__(self, parent) self.__plugin = plugin self.__ui = parent self.__widget = None def activate(self): """ Public method to activate the translator. """ from .TranslatorWidget import TranslatorWidget self.__widget = TranslatorWidget(self.__plugin, self) self.__ui.addSideWidget( self.__ui.BottomSide, self.__widget, UI.PixmapCache.getIcon( os.path.join(os.path.dirname(__file__), "icons", "flag.png")), self.tr("Translator")) self.__activateAct = E5Action( 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.addE5Actions([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.removeE5Actions([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 (string) @return icon (QIcon) """ return UI.PixmapCache.getIcon(os.path.join( os.path.dirname(__file__), "icons", name)) 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.ActiveWindowFocusReason)