1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
From a8d74999570b1dd6025548593e2d06b37afadce0 Mon Sep 17 00:00:00 2001
From: Laurent Montel <montel@kde.org>
Date: Mon, 14 Feb 2022 19:07:53 +0100
Subject: [PATCH] Fix build without texttospeech
---
.../mailsourceviewtextbrowserwidget.cpp | 19 ++++++++++++++++---
.../widgets/mailsourceviewtextbrowserwidget.h | 9 +++++++++
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.cpp b/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.cpp
index 5c0050002..0e5b61c1e 100644
--- a/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.cpp
+++ b/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.cpp
@@ -38,16 +38,20 @@ using namespace MessageViewer;
MailSourceViewTextBrowserWidget::MailSourceViewTextBrowserWidget(const QString &syntax, QWidget *parent)
: QWidget(parent)
, mSliderContainer(new KPIMTextEdit::SlideContainer(this))
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
, mTextToSpeechWidget(new KPIMTextEdit::TextToSpeechWidget(this))
+#endif
{
auto lay = new QVBoxLayout(this);
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
lay->setContentsMargins({});
mTextToSpeechWidget->setObjectName(QStringLiteral("texttospeech"));
lay->addWidget(mTextToSpeechWidget);
-
auto textToSpeechInterface = new KPIMTextEdit::TextToSpeechInterface(mTextToSpeechWidget, this);
-
mTextBrowser = new MailSourceViewTextBrowser(textToSpeechInterface);
+#else
+ mTextBrowser = new MailSourceViewTextBrowser(this);
+#endif
mTextBrowser->setObjectName(QStringLiteral("textbrowser"));
mTextBrowser->setLineWrapMode(QPlainTextEdit::NoWrap);
mTextBrowser->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
@@ -104,12 +108,17 @@ MessageViewer::MailSourceViewTextBrowser *MailSourceViewTextBrowserWidget::textB
{
return mTextBrowser;
}
-
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
MailSourceViewTextBrowser::MailSourceViewTextBrowser(KPIMTextEdit::TextToSpeechInterface *textToSpeechInterface, QWidget *parent)
: QPlainTextEdit(parent)
, mTextToSpeechInterface(textToSpeechInterface)
{
}
+#endif
+MailSourceViewTextBrowser::MailSourceViewTextBrowser(QWidget *parent)
+ : QPlainTextEdit(parent)
+{
+}
void MailSourceViewTextBrowser::contextMenuEvent(QContextMenuEvent *event)
{
@@ -117,6 +126,7 @@ void MailSourceViewTextBrowser::contextMenuEvent(QContextMenuEvent *event)
if (popup) {
popup->addSeparator();
popup->addAction(KStandardAction::find(this, &MailSourceViewTextBrowser::findText, this));
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
// Code from KTextBrowser
if (mTextToSpeechInterface->isReady()) {
popup->addSeparator();
@@ -125,6 +135,7 @@ void MailSourceViewTextBrowser::contextMenuEvent(QContextMenuEvent *event)
this,
&MailSourceViewTextBrowser::slotSpeakText);
}
+#endif
popup->addSeparator();
popup->addAction(KStandardAction::saveAs(this, &MailSourceViewTextBrowser::slotSaveAs, this));
@@ -140,6 +151,7 @@ void MailSourceViewTextBrowser::slotSaveAs()
void MailSourceViewTextBrowser::slotSpeakText()
{
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
QString text;
if (textCursor().hasSelection()) {
text = textCursor().selectedText();
@@ -147,4 +159,5 @@ void MailSourceViewTextBrowser::slotSpeakText()
text = toPlainText();
}
mTextToSpeechInterface->say(text);
+#endif
}
diff --git a/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.h b/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.h
index 84f0eb8ae..500402f9a 100644
--- a/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.h
+++ b/messageviewer/src/widgets/mailsourceviewtextbrowserwidget.h
@@ -12,6 +12,8 @@
#include <KSyntaxHighlighting/Repository>
#include <QPlainTextEdit>
#include <QSyntaxHighlighter>
+#include <kpimtextedit/kpimtextedit-texttospeech.h>
+
namespace KPIMTextEdit
{
class SlideContainer;
@@ -50,14 +52,19 @@ private:
MailSourceViewTextBrowser *mTextBrowser = nullptr;
FindBarSourceView *mFindBar = nullptr;
KPIMTextEdit::SlideContainer *const mSliderContainer;
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
KPIMTextEdit::TextToSpeechWidget *const mTextToSpeechWidget;
+#endif
};
class MailSourceViewTextBrowser : public QPlainTextEdit
{
Q_OBJECT
public:
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
explicit MailSourceViewTextBrowser(KPIMTextEdit::TextToSpeechInterface *textToSpeechInterface, QWidget *parent = nullptr);
+#endif
+ explicit MailSourceViewTextBrowser(QWidget *parent);
protected:
void contextMenuEvent(QContextMenuEvent *event) override;
@@ -67,6 +74,8 @@ Q_SIGNALS:
private:
void slotSpeakText();
void slotSaveAs();
+#if KPIMTEXTEDIT_TEXT_TO_SPEECH
KPIMTextEdit::TextToSpeechInterface *mTextToSpeechInterface = nullptr;
+#endif
};
}
--
GitLab
|