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

branch
eric7
changeset 9482
a2bc06a54d9d
parent 9473
3f23dbf37dbe
child 9653
e67609152c5e
equal deleted inserted replaced
9481:0b936ff1bbb9 9482:a2bc06a54d9d
7 Module implementing the translator widget. 7 Module implementing the translator widget.
8 """ 8 """
9 9
10 import sys 10 import sys
11 11
12 from PyQt6.QtCore import QTemporaryFile, pyqtSlot 12 from PyQt6.QtCore import QTemporaryFile, QUrl, pyqtSlot
13 from PyQt6.QtWidgets import QWidget 13 from PyQt6.QtWidgets import QWidget
14 14
15 if "--no-multimedia" in sys.argv: 15 if "--no-multimedia" in sys.argv:
16 MULTIMEDIA_AVAILABLE = False 16 MULTIMEDIA_AVAILABLE = False
17 else: 17 else:
399 @param translationLanguage language code of the translation 399 @param translationLanguage language code of the translation
400 @type str 400 @type str
401 @return tuple of translated text and flag indicating success 401 @return tuple of translated text and flag indicating success
402 @rtype tuple of (str, bool) 402 @rtype tuple of (str, bool)
403 """ 403 """
404 from .TranslatorRequest import TranslatorRequest
405
404 if self.__translatorRequest is None: 406 if self.__translatorRequest is None:
405 from .TranslatorRequest import TranslatorRequest
406
407 self.__translatorRequest = TranslatorRequest(self) 407 self.__translatorRequest = TranslatorRequest(self)
408 408
409 self.__ensureTranslationEngineReady() 409 self.__ensureTranslationEngineReady()
410 if self.__translationEngine is None: 410 if self.__translationEngine is None:
411 return "", False 411 return "", False
423 @param text text to be pronounced 423 @param text text to be pronounced
424 @type str 424 @type str
425 @param language language code of the text 425 @param language language code of the text
426 @type str 426 @type str
427 """ 427 """
428 from .TranslatorRequest import TranslatorRequest
429
428 if not text or not language: 430 if not text or not language:
429 return 431 return
430 432
431 if self.__translatorRequest is None: 433 if self.__translatorRequest is None:
432 from .TranslatorRequest import TranslatorRequest
433
434 self.__translatorRequest = TranslatorRequest(self) 434 self.__translatorRequest = TranslatorRequest(self)
435 435
436 if self.__mediaPlayer is None: 436 if self.__mediaPlayer is None:
437 self.__mediaPlayer = QMediaPlayer(self) 437 self.__mediaPlayer = QMediaPlayer(self)
438 self.__audioOutput = QAudioOutput(self) 438 self.__audioOutput = QAudioOutput(self)
470 self.__mediaFile.open() 470 self.__mediaFile.open()
471 self.__mediaFile.setAutoRemove(False) 471 self.__mediaFile.setAutoRemove(False)
472 self.__mediaFile.write(data) 472 self.__mediaFile.write(data)
473 self.__mediaFile.close() 473 self.__mediaFile.close()
474 474
475 from PyQt6.QtCore import QUrl
476
477 self.__mediaPlayer.setSource( 475 self.__mediaPlayer.setSource(
478 QUrl.fromLocalFile(self.__mediaFile.fileName()) 476 QUrl.fromLocalFile(self.__mediaFile.fileName())
479 ) 477 )
480 self.__mediaPlayer.play() 478 self.__mediaPlayer.play()
481 else: 479 else:

eric ide

mercurial