From ee18f157f199ecabeec8e7a3094fa79823e8f4a5 Mon Sep 17 00:00:00 2001 From: BasioMeusPuga Date: Sat, 20 Oct 2018 03:49:45 +0530 Subject: [PATCH] Account for absence of Qt Multimedia --- lector/definitionsdialog.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lector/definitionsdialog.py b/lector/definitionsdialog.py index aa8bbdf..26870b2 100644 --- a/lector/definitionsdialog.py +++ b/lector/definitionsdialog.py @@ -17,7 +17,13 @@ import json import urllib.request -from PyQt5 import QtWidgets, QtCore, QtGui, QtMultimedia +from PyQt5 import QtWidgets, QtCore, QtGui +try: + from PyQt5 import QtMultimedia + multimedia_available = True +except ImportError: + print('QtMultimedia not found. Sounds will not play.') + multimedia_available = False from lector.resources import definitions @@ -56,8 +62,11 @@ class DefinitionsUI(QtWidgets.QDialog, definitions.Ui_Dialog): self.pronunciation_mp3 = None self.okButton.clicked.connect(self.hide) - self.pronounceButton.clicked.connect(self.play_pronunciation) self.dialogBackground.clicked.connect(self.color_background) + if multimedia_available: + self.pronounceButton.clicked.connect(self.play_pronunciation) + else: + self.pronounceButton.setEnabled(False) def api_call(self, url, word): language = self.parent.settings['dictionary_language'] @@ -158,7 +167,7 @@ class DefinitionsUI(QtWidgets.QDialog, definitions.Ui_Dialog): self.show() def play_pronunciation(self): - if not self.pronunciation_mp3: + if not self.pronunciation_mp3 or not multimedia_available: return media_content = QtMultimedia.QMediaContent(