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"