File indexing completed on 2025-04-20 12:50:01
0001 /* 0002 SPDX-FileCopyrightText: 2014-2023 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 #include "textedittexttospeech_export.h" 0009 #include <QWidget> 0010 class QComboBox; 0011 class QPushButton; 0012 namespace TextEditTextToSpeech 0013 { 0014 class TextToSpeechLanguageComboBox; 0015 class TextToSpeechConfigInterface; 0016 class TextToSpeechSliderWidget; 0017 class TextToSpeechVoiceComboBox; 0018 class TEXTEDITTEXTTOSPEECH_EXPORT TextToSpeechConfigWidget : public QWidget 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit TextToSpeechConfigWidget(QWidget *parent = nullptr); 0023 ~TextToSpeechConfigWidget() override; 0024 0025 void initializeSettings(); 0026 0027 void writeConfig(); 0028 void readConfig(); 0029 0030 void setTextToSpeechConfigInterface(TextToSpeechConfigInterface *interface); 0031 void restoreDefaults(); 0032 0033 Q_SIGNALS: 0034 void configChanged(bool state); 0035 0036 private: 0037 TEXTEDITTEXTTOSPEECH_NO_EXPORT void slotTestTextToSpeech(); 0038 TEXTEDITTEXTTOSPEECH_NO_EXPORT void valueChanged(); 0039 TEXTEDITTEXTTOSPEECH_NO_EXPORT void slotLocalesAndVoices(); 0040 TEXTEDITTEXTTOSPEECH_NO_EXPORT void slotUpdateSettings(); 0041 TEXTEDITTEXTTOSPEECH_NO_EXPORT void slotEngineChanged(); 0042 TEXTEDITTEXTTOSPEECH_NO_EXPORT void slotLanguageChanged(); 0043 TEXTEDITTEXTTOSPEECH_NO_EXPORT void updateVoice(); 0044 TEXTEDITTEXTTOSPEECH_NO_EXPORT void updateLocale(); 0045 TEXTEDITTEXTTOSPEECH_NO_EXPORT void updateEngine(); 0046 TEXTEDITTEXTTOSPEECH_NO_EXPORT void updateAvailableLocales(); 0047 TEXTEDITTEXTTOSPEECH_NO_EXPORT void updateAvailableEngine(); 0048 TEXTEDITTEXTTOSPEECH_NO_EXPORT void updateAvailableVoices(); 0049 TEXTEDITTEXTTOSPEECH_NO_EXPORT void slotAvailableEngineChanged(); 0050 TextToSpeechSliderWidget *const mVolume; 0051 TextToSpeechSliderWidget *const mRate; 0052 TextToSpeechSliderWidget *const mPitch; 0053 TextToSpeechLanguageComboBox *const mLanguage; 0054 TextToSpeechConfigInterface *mTextToSpeechConfigInterface = nullptr; 0055 QComboBox *const mAvailableEngine; 0056 TextToSpeechVoiceComboBox *const mVoice; 0057 QPushButton *const mTestButton; 0058 }; 0059 }