From 51eeb232a3edb27d32d6e8f2c33acce43479467e Mon Sep 17 00:00:00 2001 From: sthoo Date: Sun, 16 Jun 2019 01:39:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BAsound=E6=A0=87=E7=AD=BE=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=A0=BC=E5=BC=8F=E5=8C=96=E6=A0=B7=E5=BC=8F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=EF=BC=88=E5=AE=9A=E5=88=B6=E6=89=8B=E6=9C=BA=E4=B8=8A?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=9B=BE=E6=A0=87=E5=A4=A7=E5=B0=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons21/fastwq/context.py | 10 ++++++++++ addons21/fastwq/gui/setting.py | 18 ++++++++++++++++-- addons21/fastwq/lang.py | 1 + addons21/fastwq/service/base.py | 2 +- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/addons21/fastwq/context.py b/addons21/fastwq/context.py index 8231c7c..9991b43 100644 --- a/addons21/fastwq/context.py +++ b/addons21/fastwq/context.py @@ -142,5 +142,15 @@ class Config(object): tmpstr = '{{c1::%s}}' return tmpstr + @property + def sound_str(self): + '''sound formater string''' + # 设置音频播放按钮大小 + # [sound:{0}] + tmpstr = self.data.get('sound_str', u'[sound:{0}]') + if len(tmpstr.split('{0}')) != 2: + tmpstr = u'[sound:{0}]' + return tmpstr + config = Config(mw) diff --git a/addons21/fastwq/gui/setting.py b/addons21/fastwq/gui/setting.py index 8327560..0c308ac 100644 --- a/addons21/fastwq/gui/setting.py +++ b/addons21/fastwq/gui/setting.py @@ -78,6 +78,16 @@ class SettingDialog(Dialog): hbox.setStretchFactor(input_cloze_str, 2) layout.addLayout(hbox) + hbox = QHBoxLayout() + input_sound_str = QLineEdit() + input_sound_str.setText(config.sound_str) + input_label = QLabel(_("SOUND_FORMAT") + ":", parent=self) + hbox.addWidget(input_label) + hbox.setStretchFactor(input_label, 1) + hbox.addWidget(input_sound_str) + hbox.setStretchFactor(input_sound_str, 2) + layout.addLayout(hbox) + hbox = QHBoxLayout() okbtn = QDialogButtonBox(parent=self) okbtn.setStandardButtons(QDialogButtonBox.Ok) @@ -98,6 +108,7 @@ class SettingDialog(Dialog): self.check_ighore_mdx_wordcase = check_ighore_mdx_wordcase self.input_thread_number = input_thread_number self.input_cloze_str = input_cloze_str + self.input_sound_str = input_sound_str layout.setAlignment(Qt.AlignTop | Qt.AlignLeft) self.setLayout(layout) @@ -112,7 +123,8 @@ class SettingDialog(Dialog): 'ignore_accents': False, 'ignore_mdx_wordcase': False, 'thread_number': 16, - 'cloze_str': '{{c1::%s}}' + 'cloze_str': '{{c1::%s}}', + 'sound_str': '[sound:{0}]' } config.update(data) self.check_force_update.setChecked(config.force_update) @@ -120,6 +132,7 @@ class SettingDialog(Dialog): self.check_ighore_mdx_wordcase.setChecked(config.ignore_mdx_wordcase) self.input_thread_number.setValue(config.thread_number) self.input_cloze_str.setText(config.cloze_str) + self.input_sound_str.setText(config.sound_str) def save(self): data = { @@ -127,6 +140,7 @@ class SettingDialog(Dialog): 'ignore_accents': self.check_ignore_accents.isChecked(), 'ignore_mdx_wordcase': self.check_ighore_mdx_wordcase.isChecked(), 'thread_number': self.input_thread_number.value(), - 'cloze_str': self.input_cloze_str.text() + 'cloze_str': self.input_cloze_str.text(), + 'sound_str': self.input_sound_str.text() } config.update(data) diff --git a/addons21/fastwq/lang.py b/addons21/fastwq/lang.py index 8a878d9..2e9e38e 100644 --- a/addons21/fastwq/lang.py +++ b/addons21/fastwq/lang.py @@ -92,6 +92,7 @@ _arr = [ ['OPTIONS', u'选项', u'Options'], ['CLOZE_WORD', u'单词填空', u'Cloze word'], ['CLOZE_WORD_FORMAT', '单词填空格式', 'Cloze word formater'], + ['SOUND_FORMAT', '发音格式化', 'Sound formater'], ['BRE_PRON', u'英式发音', u'British Pronunciation'], ['AME_PRON', u'美式发音', u'American Pronunciation'], ['PRON', u'发音', u'Audio Pronunciation'], diff --git a/addons21/fastwq/service/base.py b/addons21/fastwq/service/base.py index ce45f4b..1f84b2b 100644 --- a/addons21/fastwq/service/base.py +++ b/addons21/fastwq/service/base.py @@ -295,7 +295,7 @@ class Service(object): @staticmethod def get_anki_label(filename, type_): - formats = {'audio': u'[sound:{0}]', + formats = {'audio': config.sound_str, 'img': u'', 'video': u''} return formats[type_].format(filename)