src/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py

branch
eric7
changeset 9429
b2db3a67525c
parent 9413
80c06d472826
child 9473
3f23dbf37dbe
equal deleted inserted replaced
9428:615d367f0140 9429:b2db3a67525c
5 5
6 """ 6 """
7 Module implementing the translator widget. 7 Module implementing the translator widget.
8 """ 8 """
9 9
10 import sys
11
10 from PyQt6.QtCore import pyqtSlot, QTemporaryFile 12 from PyQt6.QtCore import pyqtSlot, QTemporaryFile
11 from PyQt6.QtWidgets import QWidget 13 from PyQt6.QtWidgets import QWidget
12 14
13 try: 15 if "--no-multimedia" in sys.argv:
14 from PyQt6.QtMultimedia import QMediaFormat, QMediaPlayer, QAudioOutput
15
16 MULTIMEDIA_AVAILABLE = True
17 except ImportError:
18 MULTIMEDIA_AVAILABLE = False 16 MULTIMEDIA_AVAILABLE = False
17 else:
18 try:
19 from PyQt6.QtMultimedia import QMediaFormat, QMediaPlayer, QAudioOutput
20
21 MULTIMEDIA_AVAILABLE = True
22 except ImportError:
23 MULTIMEDIA_AVAILABLE = False
19 24
20 from eric7.EricWidgets import EricMessageBox 25 from eric7.EricWidgets import EricMessageBox
21 from eric7.EricWidgets.EricApplication import ericApp 26 from eric7.EricWidgets.EricApplication import ericApp
22 27
23 from .Ui_TranslatorWidget import Ui_TranslatorWidget 28 from .Ui_TranslatorWidget import Ui_TranslatorWidget
59 self.__mediaPlayer = None 64 self.__mediaPlayer = None
60 self.__mediaFile = None 65 self.__mediaFile = None
61 66
62 audioAvailable = False 67 audioAvailable = False
63 if MULTIMEDIA_AVAILABLE: 68 if MULTIMEDIA_AVAILABLE:
64 mediaFormat = QMediaFormat() 69 if self.__plugin.getPreferences("MultimediaEnabled"):
65 audioAvailable = ( 70 mediaFormat = QMediaFormat()
66 QMediaFormat.AudioCodec.MP3 71 audioAvailable = (
67 in mediaFormat.supportedAudioCodecs(QMediaFormat.ConversionMode.Decode) 72 QMediaFormat.AudioCodec.MP3
68 ) 73 in mediaFormat.supportedAudioCodecs(
74 QMediaFormat.ConversionMode.Decode
75 )
76 )
77 else:
78 audioAvailable = False
79 else:
80 # reset if multimedia was disabled via command line
81 self.__plugin.setPreferences("MultimediaEnabled", False)
69 self.pronounceOrigButton.setVisible(audioAvailable) 82 self.pronounceOrigButton.setVisible(audioAvailable)
70 self.pronounceTransButton.setVisible(audioAvailable) 83 self.pronounceTransButton.setVisible(audioAvailable)
71 84
72 self.pronounceOrigButton.setIcon(self.__translator.getAppIcon("pronounce")) 85 self.pronounceOrigButton.setIcon(self.__translator.getAppIcon("pronounce"))
73 self.pronounceTransButton.setIcon(self.__translator.getAppIcon("pronounce")) 86 self.pronounceTransButton.setIcon(self.__translator.getAppIcon("pronounce"))

eric ide

mercurial