Warning, file /libraries/ktextaddons/textedittexttospeech/texttospeechutil.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2022-2023 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "texttospeechutil.h" 0008 0009 #include <KConfig> 0010 #include <KConfigGroup> 0011 #include <QIODevice> 0012 0013 QString TextEditTextToSpeech::TextToSpeechUtil::textToSpeechConfigFileName() 0014 { 0015 return QStringLiteral("texttospeechrc"); 0016 } 0017 0018 QString TextEditTextToSpeech::TextToSpeechUtil::textToSpeechConfigGroupName() 0019 { 0020 return QStringLiteral("Settings"); 0021 } 0022 0023 TextEditTextToSpeech::TextToSpeechUtil::TextToSpeechSettings TextEditTextToSpeech::TextToSpeechUtil::loadSettings() 0024 { 0025 TextEditTextToSpeech::TextToSpeechUtil::TextToSpeechSettings settings; 0026 KConfig config(TextEditTextToSpeech::TextToSpeechUtil::textToSpeechConfigFileName()); 0027 const KConfigGroup grp = config.group(TextEditTextToSpeech::TextToSpeechUtil::textToSpeechConfigGroupName()); 0028 settings.engineName = grp.readEntry("engine"); 0029 settings.rate = grp.readEntry("rate", 50); 0030 settings.volumeValue = grp.readEntry("volume", 0); 0031 settings.localeName = grp.readEntry("localeName"); 0032 settings.pitch = grp.readEntry("pitch", 0); 0033 #if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) 0034 QByteArray ba = grp.readEntry("voice", QByteArray()); 0035 QDataStream s(&ba, QIODevice::ReadOnly); 0036 s.setVersion(QDataStream::Qt_5_15); 0037 s >> settings.voice; 0038 #endif 0039 return settings; 0040 } 0041 0042 void TextEditTextToSpeech::TextToSpeechUtil::writeConfig(const TextEditTextToSpeech::TextToSpeechUtil::TextToSpeechSettings &settings) 0043 { 0044 KConfig config(TextEditTextToSpeech::TextToSpeechUtil::textToSpeechConfigFileName()); 0045 KConfigGroup grp = config.group(TextEditTextToSpeech::TextToSpeechUtil::textToSpeechConfigGroupName()); 0046 grp.writeEntry("volume", settings.volumeValue); 0047 grp.writeEntry("rate", settings.rate); 0048 grp.writeEntry("pitch", settings.pitch); 0049 grp.writeEntry("localeName", settings.localeName); 0050 // qDebug() << " engineName " << engineName; 0051 grp.writeEntry("engine", settings.engineName); 0052 #if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) 0053 QByteArray ba; 0054 QDataStream s(&ba, QIODevice::WriteOnly); 0055 s.setVersion(QDataStream::Qt_5_15); 0056 s << settings.voice; 0057 grp.writeEntry("voice", ba); 0058 #endif 0059 } 0060 0061 QDebug operator<<(QDebug d, const TextEditTextToSpeech::TextToSpeechUtil::TextToSpeechSettings &t) 0062 { 0063 #if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) 0064 d << "voice " << t.voice; 0065 #endif 0066 d << "engineName " << t.engineName; 0067 d << "localeName " << t.localeName; 0068 d << "rate " << t.rate; 0069 d << "pitch " << t.pitch; 0070 d << "volumeValue " << t.volumeValue; 0071 return d; 0072 }