src/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.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.

6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8514
diff changeset
3 # Copyright (c) 2014 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the translator widget.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
10 from PyQt6.QtCore import pyqtSlot, QTemporaryFile
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
11 from PyQt6.QtWidgets import QWidget
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
12
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 try:
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
14 from PyQt6.QtMultimedia import QMediaFormat, QMediaPlayer, QAudioOutput
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
15
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 MULTIMEDIA_AVAILABLE = True
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 except ImportError:
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 MULTIMEDIA_AVAILABLE = False
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
8358
144a6b854f70 Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8356
diff changeset
20 from EricWidgets import EricMessageBox
144a6b854f70 Sorted the eric specific extensions into packages named like the corresponding PyQt packages (i.e. EricCore,EricGui and EricWidgets).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8356
diff changeset
21 from EricWidgets.EricApplication import ericApp
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 from .Ui_TranslatorWidget import Ui_TranslatorWidget
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 from .TranslatorLanguagesDb import TranslatorLanguagesDb
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 from . import TranslatorEngines
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 import UI.PixmapCache
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 class TranslatorWidget(QWidget, Ui_TranslatorWidget):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Class implementing the translator widget.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
35
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 def __init__(self, plugin, translator, parent=None):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
39
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
40 @param plugin reference to the plugin object
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
41 @type TranslatorPlugin
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
42 @param translator reference to the translator object
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
43 @type Translator
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
44 @param parent reference to the parent widget
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
45 @type QWidget
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
47 super().__init__(parent)
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
49
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.__plugin = plugin
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.__translator = translator
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
52
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__languages = TranslatorLanguagesDb(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
54
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.__translatorRequest = None
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.__translationEngine = None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
57
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
58 self.__audioOutput = None
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.__mediaPlayer = None
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.__mediaFile = None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
61
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
62 audioAvailable = False
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
63 if MULTIMEDIA_AVAILABLE:
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
64 mediaFormat = QMediaFormat()
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
65 audioAvailable = (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
66 QMediaFormat.AudioCodec.MP3
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
67 in mediaFormat.supportedAudioCodecs(QMediaFormat.ConversionMode.Decode)
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
68 )
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.pronounceOrigButton.setVisible(audioAvailable)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.pronounceTransButton.setVisible(audioAvailable)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
71
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
72 self.pronounceOrigButton.setIcon(self.__translator.getAppIcon("pronounce"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
73 self.pronounceTransButton.setIcon(self.__translator.getAppIcon("pronounce"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
74 self.swapButton.setIcon(self.__translator.getAppIcon("swap"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
75 self.translateButton.setIcon(self.__translator.getAppIcon("translate"))
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7505
diff changeset
76 self.clearButton.setIcon(UI.PixmapCache.getIcon("editDelete"))
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7505
diff changeset
77 self.preferencesButton.setIcon(UI.PixmapCache.getIcon("configure"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
78
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.translateButton.setEnabled(False)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 self.clearButton.setEnabled(False)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.pronounceOrigButton.setEnabled(False)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.pronounceTransButton.setEnabled(False)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
83
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 selectedEngine = self.__plugin.getPreferences("SelectedEngine")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
85
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.__updateEngines()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 engineIndex = self.engineComboBox.findData(selectedEngine)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 self.engineComboBox.setCurrentIndex(engineIndex)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.__engineComboBoxCurrentIndexChanged(engineIndex)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
90
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 self.engineComboBox.currentIndexChanged.connect(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
92 self.__engineComboBoxCurrentIndexChanged
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
93 )
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 self.__plugin.updateLanguages.connect(self.__updateLanguages)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
95
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 def __updateLanguages(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 Private slot to update the language combo boxes.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 """
6546
30829a28e969 TranslatorWidget: added code to cope with a situation where the translation engine is None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6523
diff changeset
100 self.__ensureTranslationEngineReady()
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
101 if self.__translationEngine is not None:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
102 supportedCodes = self.__translationEngine.supportedLanguages()
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
103 enabledCodes = self.__plugin.getPreferences("EnabledLanguages")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
104
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
105 # 1. save current selections
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
106 origLanguage = self.origLanguageComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107 self.origLanguageComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
108 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
109
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
110 # 2. reload the original language combo box
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
111 self.origLanguageComboBox.blockSignals(True)
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
112 self.origLanguageComboBox.clear()
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
113 for code in enabledCodes:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
114 if code in supportedCodes:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
115 language = self.__languages.getLanguage(code)
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
116 if language:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
117 icon = self.__languages.getLanguageIcon(code)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
118 self.origLanguageComboBox.addItem(icon, language, code)
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
119 self.origLanguageComboBox.model().sort(0)
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
120 origIndex = self.origLanguageComboBox.findData(origLanguage)
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
121 if origIndex == -1:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
122 origIndex = 0
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
123 self.origLanguageComboBox.blockSignals(False)
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
124 self.origLanguageComboBox.setCurrentIndex(origIndex)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
125
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 def __updateEngines(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 Private slot to update the engines combo box.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
130 currentEngine = self.engineComboBox.itemData(self.engineComboBox.currentIndex())
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 self.engineComboBox.clear()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 for engineName in TranslatorEngines.supportedEngineNames():
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 icon = TranslatorEngines.getEngineIcon(engineName)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 self.engineComboBox.addItem(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
135 icon, TranslatorEngines.engineDisplayName(engineName), engineName
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
136 )
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 self.engineComboBox.model().sort(0)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
138 self.engineComboBox.setCurrentIndex(self.engineComboBox.findData(currentEngine))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
139
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 def __originalLanguage(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 Private method to return the code of the selected original language.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
143
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
144 @return code of the original language
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
145 @rtype str
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 return self.origLanguageComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
148 self.origLanguageComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
149 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
150
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 def __translationLanguage(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 Private method to return the code of the selected translation language.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
154
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
155 @return code of the translation language
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
156 @rtype str
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 return self.transLanguageComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
159 self.transLanguageComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
160 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
161
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 @pyqtSlot()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 def on_translateButton_clicked(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 Private slot to translate the entered text.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 self.transEdit.clear()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 result, ok = self.__translate(
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 self.origEdit.toPlainText(),
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 self.__originalLanguage(),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
171 self.__translationLanguage(),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
172 )
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 if ok:
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 self.transEdit.setHtml(result)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 else:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
176 EricMessageBox.critical(self, self.tr("Translation Error"), result)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
177
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 @pyqtSlot()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 def on_pronounceOrigButton_clicked(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 Private slot to pronounce the original text.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
183 self.__pronounce(self.origEdit.toPlainText(), self.__originalLanguage())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
184
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 @pyqtSlot()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 def on_pronounceTransButton_clicked(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 Private slot to pronounce the translated text.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
190 self.__pronounce(self.transEdit.toPlainText(), self.__translationLanguage())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
191
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 @pyqtSlot()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 def on_swapButton_clicked(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 Private slot to swap the languages.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 """
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
197 # save selected language codes
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
198 oLanguage = self.origLanguageComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
199 self.origLanguageComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
200 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
201
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
202 tLanguage = self.transLanguageComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
203 self.transLanguageComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
204 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
205
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
206 oIdx = self.origLanguageComboBox.findData(tLanguage)
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
207 if oIdx < 0:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
208 oIdx = 0
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
209 self.origLanguageComboBox.setCurrentIndex(oIdx)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
210
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
211 tIdx = self.transLanguageComboBox.findData(oLanguage)
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
212 if tIdx < 0:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
213 tIdx = 0
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
214 self.transLanguageComboBox.setCurrentIndex(tIdx)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
215
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 origText = self.origEdit.toPlainText()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 self.origEdit.setPlainText(self.transEdit.toPlainText())
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 self.transEdit.setPlainText(origText)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
219
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 @pyqtSlot()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 def on_clearButton_clicked(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
223 Private slot to clear the text fields.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 self.origEdit.clear()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 self.transEdit.clear()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
227
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 @pyqtSlot()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 def on_origEdit_textChanged(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 Private slot to handle changes of the original text.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 self.__updatePronounceButtons()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 self.__updateClearButton()
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
235 self.__updateTranslateButton()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
236
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 @pyqtSlot()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 def on_transEdit_textChanged(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 Private slot to handle changes of the translation text.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 self.__updatePronounceButtons()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 self.__updateClearButton()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
244
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 @pyqtSlot(int)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 def on_origLanguageComboBox_currentIndexChanged(self, index):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 Private slot to handle the selection of the original language.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
249
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
250 @param index current index
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
251 @type int
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 self.__plugin.setPreferences(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
254 "OriginalLanguage", self.origLanguageComboBox.itemData(index)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
255 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
256
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
257 supportedTargetCodes = self.__translationEngine.supportedTargetLanguages(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
258 self.origLanguageComboBox.itemData(index)
7256
4ef3b78ebb4e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
259 )
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
260 if supportedTargetCodes is not None:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
261 enabledCodes = self.__plugin.getPreferences("EnabledLanguages")
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
262 transLanguage = self.transLanguageComboBox.itemData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
263 self.transLanguageComboBox.currentIndex()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
264 )
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
265 self.transLanguageComboBox.clear()
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
266 if len(supportedTargetCodes) > 0:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
267 for code in enabledCodes:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
268 if code in supportedTargetCodes:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
269 language = self.__languages.getLanguage(code)
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
270 if language:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
271 icon = self.__languages.getLanguageIcon(code)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
272 self.transLanguageComboBox.addItem(icon, language, code)
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
273 self.transLanguageComboBox.model().sort(0)
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
274 index = self.transLanguageComboBox.findData(transLanguage)
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
275 if index == -1:
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
276 index = 0
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
277 self.transLanguageComboBox.setCurrentIndex(index)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
278
6523
3e2897a36771 TranslatorWidget: fixed an issue causing the translate button to remain active even with no Original Language selected (e.g. after changing translator engine).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6419
diff changeset
279 self.__updateTranslateButton()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
280
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 @pyqtSlot(int)
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 def on_transLanguageComboBox_currentIndexChanged(self, index):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 Private slot to handle the selection of the translation language.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
285
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
286 @param index current index
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
287 @type int
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 self.__plugin.setPreferences(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
290 "TranslationLanguage", self.transLanguageComboBox.itemData(index)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
291 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
292
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
293 @pyqtSlot()
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
294 def __availableTranslationsLoaded(self):
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
295 """
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
296 Private slot to handle the availability of translations.
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 """
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
298 origLanguage = self.__plugin.getPreferences("OriginalLanguage")
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
299 transLanguage = self.__plugin.getPreferences("TranslationLanguage")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
300
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
301 self.__updateLanguages()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
302
6419
5d47e741245a TranslatorWidget: fixed an issue updating the target language selector.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6412
diff changeset
303 origIndex = self.origLanguageComboBox.findData(origLanguage)
5d47e741245a TranslatorWidget: fixed an issue updating the target language selector.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6412
diff changeset
304 self.origLanguageComboBox.setCurrentIndex(origIndex)
5d47e741245a TranslatorWidget: fixed an issue updating the target language selector.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6412
diff changeset
305 self.on_origLanguageComboBox_currentIndexChanged(origIndex)
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
306 self.transLanguageComboBox.setCurrentIndex(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
307 self.transLanguageComboBox.findData(transLanguage)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
308 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
309
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
310 def __ensureTranslationEngineReady(self):
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 """
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
312 Private slot to ensure, that the currently selected translation engine
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
313 is ready.
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
314 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
315 engineName = self.engineComboBox.itemData(self.engineComboBox.currentIndex())
7256
4ef3b78ebb4e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
316 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
317 self.__translationEngine is not None
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
318 and self.__translationEngine.engineName() != engineName
7256
4ef3b78ebb4e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
319 ):
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
320 self.__translationEngine.availableTranslationsLoaded.disconnect(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
321 self.__availableTranslationsLoaded
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
322 )
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 self.__translationEngine.deleteLater()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 self.__translationEngine = None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
325
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 if self.__translationEngine is None:
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 self.__translationEngine = TranslatorEngines.getTranslationEngine(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
328 engineName, self.__plugin, self
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
329 )
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
330 if self.__translationEngine is not None:
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
331 self.__translationEngine.availableTranslationsLoaded.connect(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
332 self.__availableTranslationsLoaded
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
333 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
334
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
335 @pyqtSlot(int)
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
336 def __engineComboBoxCurrentIndexChanged(self, index):
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
337 """
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
338 Private slot to handle the selection of a translation service.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
339
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
340 @param index current index
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
341 @type int
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
342 """
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
343 self.__ensureTranslationEngineReady()
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
344 if self.__translationEngine is not None:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
345 self.__updateTranslateButton()
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
346 self.__updatePronounceButtons()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
347
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
348 self.__plugin.setPreferences(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
349 "SelectedEngine", self.engineComboBox.itemData(index)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
350 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
351
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 def __updatePronounceButtons(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 Private slot to set the state of the pronounce buttons.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 """
8259
2bbec88047dd Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
356 hasTTS = self.__translationEngine and self.__translationEngine.hasTTS()
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 self.pronounceOrigButton.setEnabled(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
358 hasTTS and bool(self.origEdit.toPlainText())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
359 )
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 self.pronounceTransButton.setEnabled(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
361 hasTTS and bool(self.transEdit.toPlainText())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
362 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
363
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 def __updateClearButton(self):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 Private slot to set the state of the clear button.
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
368 enable = bool(self.origEdit.toPlainText()) or bool(self.transEdit.toPlainText())
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 self.clearButton.setEnabled(enable)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
370
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
371 def __updateTranslateButton(self):
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
372 """
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
373 Private slot to set the state of the translate button.
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
374 """
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
375 enable = bool(self.origEdit.toPlainText())
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
376 enable &= bool(self.__translationLanguage())
6523
3e2897a36771 TranslatorWidget: fixed an issue causing the translate button to remain active even with no Original Language selected (e.g. after changing translator engine).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6419
diff changeset
377 enable &= bool(self.__originalLanguage())
6411
7fd9b7ecbcfe Translator: added a translation engine for the IBM Watson Language Translator.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
378 self.translateButton.setEnabled(enable)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
379
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 def __translate(self, text, originalLanguage, translationLanguage):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 Private method to translate the given text.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
383
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
384 @param text text to be translated
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
385 @type str
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
386 @param originalLanguage language code of the original
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
387 @type str
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
388 @param translationLanguage language code of the translation
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
389 @type str
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
390 @return tuple of translated text and flag indicating success
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
391 @rtype tuple of (str, bool)
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 if self.__translatorRequest is None:
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 from .TranslatorRequest import TranslatorRequest
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
395
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 self.__translatorRequest = TranslatorRequest(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
397
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
398 self.__ensureTranslationEngineReady()
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
399 if self.__translationEngine is None:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
400 return "", False
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
401 else:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
402 result, ok = self.__translationEngine.getTranslation(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
403 self.__translatorRequest, text, originalLanguage, translationLanguage
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
404 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
405
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
406 return result, ok
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
407
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 def __pronounce(self, text, language):
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410 Private method to pronounce the given text.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
411
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
412 @param text text to be pronounced
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
413 @type str
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
414 @param language language code of the text
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
415 @type str
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 if not text or not language:
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
419
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 if self.__translatorRequest is None:
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 from .TranslatorRequest import TranslatorRequest
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
422
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 self.__translatorRequest = TranslatorRequest(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
424
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 if self.__mediaPlayer is None:
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 self.__mediaPlayer = QMediaPlayer(self)
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
427 self.__audioOutput = QAudioOutput(self)
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
428 self.__mediaPlayer.setAudioOutput(self.__audioOutput)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
429
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
430 self.__mediaPlayer.playbackStateChanged.connect(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
431 self.__mediaPlayerPlaybackStateChanged
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
432 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
433 self.__mediaPlayer.errorOccurred.connect(self.__mediaPlayerError)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
434
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
435 if (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
436 self.__mediaPlayer.playbackState()
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
437 == QMediaPlayer.PlaybackState.PlayingState
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
438 ):
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
440
6412
d71b094845e7 Translator: improved the translator by making the loading of available translations an asynchroneous operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6411
diff changeset
441 self.__ensureTranslationEngineReady()
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
442 if self.__translationEngine is not None:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
443 if not self.__translationEngine.hasTTS():
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
444 EricMessageBox.critical(
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
445 self,
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
446 self.tr("Translation Error"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
447 self.tr(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
448 "The selected translation service does not"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
449 " support the Text-to-Speech function."
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
450 ),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
451 )
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
452 return
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
453
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
454 data, ok = self.__translationEngine.getTextToSpeechData(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
455 self.__translatorRequest, text, language
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
456 )
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
457 if ok:
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
458 self.__mediaFile = QTemporaryFile(self)
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
459 self.__mediaFile.open()
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
460 self.__mediaFile.setAutoRemove(False)
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
461 self.__mediaFile.write(data)
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
462 self.__mediaFile.close()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
463
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
464 from PyQt6.QtCore import QUrl
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
465
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
466 self.__mediaPlayer.setSource(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
467 QUrl.fromLocalFile(self.__mediaFile.fileName())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
468 )
6598
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
469 self.__mediaPlayer.play()
20917d2d9b4b TranslatorWidget: fixed situations, where the translation engine is not set (i.e. it is None).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6577
diff changeset
470 else:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
471 EricMessageBox.critical(self, self.tr("Translation Error"), data)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
472
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
473 def __mediaPlayerPlaybackStateChanged(self, state):
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 """
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 Private slot handling changes of the media player state.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
476
9148
b31f0d894b55 Translator
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
477 @param state media player state
b31f0d894b55 Translator
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8881
diff changeset
478 @type QMediaPlayer.PlaybackState
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 """
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
480 if state == QMediaPlayer.PlaybackState.StoppedState:
6018
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 self.__mediaFile.close()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 self.__mediaFile.remove()
1c858879d3d0 Added the translator plug-in to the core plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 self.__mediaFile = None
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
484
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
485 def __mediaPlayerError(self, error, errorString):
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
486 """
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
487 Private slot to handle errors during playback of the data.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
488
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
489 @param error media player error condition
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
490 @type QMediaPlayer.Error
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
491 @param errorString string representation for the error
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
492 @type str
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
493 """
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
494 if error != QMediaPlayer.Error.NoError:
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
495 EricMessageBox.warning(
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
496 self,
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
497 self.tr("Error playing pronunciation"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
498 self.tr(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
499 "<p>The received pronunciation could not be played."
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
500 "</p><p>Reason: {0}</p>"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
501 ).format(errorString),
8511
8046c6a443bd TranslatorWidget: adapted the TTS support for PyQt/Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8463
diff changeset
502 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
503
6577
232f83b6763b TranslatorWidget: added a button to open the Translator configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6546
diff changeset
504 @pyqtSlot()
232f83b6763b TranslatorWidget: added a button to open the Translator configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6546
diff changeset
505 def on_preferencesButton_clicked(self):
232f83b6763b TranslatorWidget: added a button to open the Translator configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6546
diff changeset
506 """
232f83b6763b TranslatorWidget: added a button to open the Translator configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6546
diff changeset
507 Private slot to open the Translator configuration page.
232f83b6763b TranslatorWidget: added a button to open the Translator configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6546
diff changeset
508 """
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
509 ericApp().getObject("UserInterface").showPreferences("translatorPage")

eric ide

mercurial