--- a/src/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py Fri Oct 21 09:28:18 2022 +0200 +++ b/src/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py Mon Oct 24 14:23:39 2022 +0200 @@ -7,15 +7,20 @@ Module implementing the translator widget. """ +import sys + from PyQt6.QtCore import pyqtSlot, QTemporaryFile from PyQt6.QtWidgets import QWidget -try: - from PyQt6.QtMultimedia import QMediaFormat, QMediaPlayer, QAudioOutput +if "--no-multimedia" in sys.argv: + MULTIMEDIA_AVAILABLE = False +else: + try: + from PyQt6.QtMultimedia import QMediaFormat, QMediaPlayer, QAudioOutput - MULTIMEDIA_AVAILABLE = True -except ImportError: - MULTIMEDIA_AVAILABLE = False + MULTIMEDIA_AVAILABLE = True + except ImportError: + MULTIMEDIA_AVAILABLE = False from eric7.EricWidgets import EricMessageBox from eric7.EricWidgets.EricApplication import ericApp @@ -61,11 +66,19 @@ audioAvailable = False if MULTIMEDIA_AVAILABLE: - mediaFormat = QMediaFormat() - audioAvailable = ( - QMediaFormat.AudioCodec.MP3 - in mediaFormat.supportedAudioCodecs(QMediaFormat.ConversionMode.Decode) - ) + if self.__plugin.getPreferences("MultimediaEnabled"): + mediaFormat = QMediaFormat() + audioAvailable = ( + QMediaFormat.AudioCodec.MP3 + in mediaFormat.supportedAudioCodecs( + QMediaFormat.ConversionMode.Decode + ) + ) + else: + audioAvailable = False + else: + # reset if multimedia was disabled via command line + self.__plugin.setPreferences("MultimediaEnabled", False) self.pronounceOrigButton.setVisible(audioAvailable) self.pronounceTransButton.setVisible(audioAvailable)