File indexing completed on 2024-05-12 16:15:57
0001 /* 0002 SPDX-FileCopyrightText: 2014-2023 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "texttospeechgui.h" 0008 #include "texttospeech.h" 0009 #include <KLocalizedString> 0010 #include <QAction> 0011 #include <QApplication> 0012 #include <QCommandLineParser> 0013 #include <QDebug> 0014 #include <QMenu> 0015 #include <QMenuBar> 0016 #include <QStandardPaths> 0017 #include <QTextEdit> 0018 0019 TextToSpeechGui::TextToSpeechGui(QWidget *parent) 0020 : QMainWindow(parent) 0021 { 0022 setWindowTitle(QStringLiteral("text to speech window")); 0023 mEdit = new QTextEdit; 0024 setCentralWidget(mEdit); 0025 0026 QMenu *editMenu = menuBar()->addMenu(QStringLiteral("Edit")); 0027 0028 auto act = new QAction(i18n("Speech text"), this); 0029 connect(act, &QAction::triggered, this, &TextToSpeechGui::slotTextToSpeech); 0030 editMenu->addAction(act); 0031 qDebug() << " isReady ? " << TextEditTextToSpeech::TextToSpeech::self()->isReady(); 0032 } 0033 0034 TextToSpeechGui::~TextToSpeechGui() = default; 0035 0036 void TextToSpeechGui::slotTextToSpeech() 0037 { 0038 QString text; 0039 if (mEdit->textCursor().hasSelection()) { 0040 text = mEdit->textCursor().selectedText(); 0041 } else { 0042 text = mEdit->toPlainText(); 0043 } 0044 if (!text.isEmpty()) { 0045 TextEditTextToSpeech::TextToSpeech::self()->say(text); 0046 } 0047 } 0048 0049 int main(int argc, char **argv) 0050 { 0051 QApplication app(argc, argv); 0052 QStandardPaths::setTestModeEnabled(true); 0053 QCommandLineParser parser; 0054 parser.addVersionOption(); 0055 parser.addHelpOption(); 0056 parser.process(app); 0057 0058 auto w = new TextToSpeechGui; 0059 0060 w->show(); 0061 app.exec(); 0062 delete w; 0063 return 0; 0064 } 0065 0066 #include "moc_texttospeechgui.cpp"