Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
PIM
KPimTextEdit
Commits
53f18731
Commit
53f18731
authored
Dec 27, 2021
by
Laurent Montel
😁
Browse files
Add support for building without texttospeech as for the moment we don't
have it in qt6
parent
a9f119df
Pipeline
#114609
passed with stage
in 2 minutes and 24 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
53f18731
...
...
@@ -76,7 +76,15 @@ add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050f02)
add_definitions
(
-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055A00
)
find_package
(
Qt5
${
QT_REQUIRED_VERSION
}
CONFIG REQUIRED COMPONENTS TextToSpeech
)
find_package
(
Qt5TextToSpeech
${
QT_REQUIRED_VERSION
}
CONFIG
)
set_package_properties
(
Qt5TextToSpeech PROPERTIES DESCRIPTION
"Add support for texttospeed"
TYPE OPTIONAL
)
if
(
TARGET Qt5::TextToSpeech
)
set
(
HAVE_TEXT_TO_SPEECH_SUPPORT TRUE
)
add_definitions
(
-DHAVE_TEXT_TO_SPEECH_SUPPORT
)
endif
()
if
(
BUILD_TESTING
)
find_package
(
Qt5
${
QT_REQUIRED_VERSION
}
CONFIG REQUIRED COMPONENTS Test
)
...
...
src/CMakeLists.txt
View file @
53f18731
...
...
@@ -53,7 +53,7 @@ target_sources(KF5PimTextEdit PRIVATE
composer-ng/richtextcomposeremailquotehighlighter.h
composer-ng/richtextcomposerwidget.h
)
if
(
HAVE_TEXT_TO_SPEECH_SUPPORT
)
target_sources
(
KF5PimTextEdit PRIVATE
texttospeech/texttospeech.cpp
texttospeech/texttospeechwidget.cpp
...
...
@@ -76,6 +76,7 @@ target_sources(KF5PimTextEdit PRIVATE
texttospeech/texttospeechlanguagecombobox.h
texttospeech/texttospeechactions.h
)
endif
()
target_sources
(
KF5PimTextEdit PRIVATE
grantleebuilder/plaintextmarkupbuilder.cpp
...
...
@@ -168,7 +169,12 @@ target_link_libraries(KF5PimTextEdit
KF5::SyntaxHighlighting
Qt::TextToSpeech
)
if
(
HAVE_TEXT_TO_SPEECH_SUPPORT
)
target_link_libraries
(
KF5PimTextEdit
PRIVATE
Qt::TextToSpeech
)
endif
()
set_target_properties
(
KF5PimTextEdit PROPERTIES
VERSION
${
KPIMTEXTEDIT_VERSION
}
SOVERSION
${
KPIMTEXTEDIT_SOVERSION
}
...
...
@@ -240,7 +246,7 @@ ecm_generate_headers(KPimTextEdit_CamelCasetexteditor_commonwidget_HEADERS
)
if
(
HAVE_TEXT_TO_SPEECH_SUPPORT
)
ecm_generate_headers
(
KPimTextEdit_CamelCasetexttospeechs_HEADERS
HEADER_NAMES
TextToSpeech
...
...
@@ -252,7 +258,7 @@ ecm_generate_headers(KPimTextEdit_CamelCasetexttospeechs_HEADERS
PREFIX KPIMTextEdit
RELATIVE texttospeech
)
endif
()
ecm_generate_headers
(
KPimTextEdit_Camelcasecomposerng_HEADERS
HEADER_NAMES
RichTextComposer
...
...
@@ -269,11 +275,22 @@ ecm_generate_headers(KPimTextEdit_Camelcasecomposerng_HEADERS
########### install files ###############
if
(
HAVE_TEXT_TO_SPEECH_SUPPORT
)
install
(
FILES
${
KPimTextEdit_texttospeechs_HEADERS
}
DESTINATION
${
KDE_INSTALL_INCLUDEDIR_KF5
}
/KPIMTextEdit/kpimtextedit
COMPONENT Devel
)
install
(
FILES
${
KPimTextEdit_CamelCasetexttospeechs_HEADERS
}
DESTINATION
${
KDE_INSTALL_INCLUDEDIR_KF5
}
/KPIMTextEdit/KPIMTextEdit/
COMPONENT Devel
)
endif
()
install
(
FILES
${
CMAKE_CURRENT_BINARY_DIR
}
/kpimtextedit_export.h
${
kpimtextedit_HEADERS
}
${
KPimTextEdit_texttospeechs_HEADERS
}
${
KPimTextEdit_richtexteditor_HEADERS
}
${
KPimTextEdit_texteditor_commonwidget_HEADERS
}
${
KPimTextEdit_plaintexteditor_HEADERS
}
...
...
@@ -288,7 +305,6 @@ install(FILES
${
KPimTextEdit_CamelCase_HEADERS
}
${
KPimTextEdit_CamelCasetextrichtexteditor_HEADERS
}
${
KPimTextEdit_CamelCaseplaintexteditor_HEADERS
}
${
KPimTextEdit_CamelCasetexttospeechs_HEADERS
}
${
KPimTextEdit_CamelCasetexteditor_commonwidget_HEADERS
}
${
KPimTextEdit_Camelcasecomposerng_HEADERS
}
${
KPimTextEdit_CamelCaseemoticon_HEADERS
}
...
...
@@ -306,8 +322,10 @@ if (BUILD_TESTING)
add_subdirectory
(
texteditor/commonwidget/autotests
)
add_subdirectory
(
texteditor/plaintexteditor/tests
)
add_subdirectory
(
texteditor/richtexteditor/tests
)
add_subdirectory
(
texttospeech/autotests
)
add_subdirectory
(
texttospeech/tests
)
if
(
HAVE_TEXT_TO_SPEECH_SUPPORT
)
add_subdirectory
(
texttospeech/autotests
)
add_subdirectory
(
texttospeech/tests
)
endif
()
add_subdirectory
(
composer-ng/autotests
)
add_subdirectory
(
composer-ng/tests
)
add_subdirectory
(
grantleebuilder/autotests
)
...
...
src/texteditor/plaintexteditor/plaintexteditor.cpp
View file @
53f18731
...
...
@@ -18,7 +18,9 @@
#include <QActionGroup>
#include <QIcon>
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
#include "texttospeech/texttospeech.h"
#endif
#include <Sonnet/Dialog>
#include <sonnet/backgroundchecker.h>
...
...
@@ -181,6 +183,7 @@ void PlainTextEditor::contextMenuEvent(QContextMenuEvent *event)
}
}
if
(
d
->
supportFeatures
&
TextToSpeech
)
{
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
if
(
KPIMTextEdit
::
TextToSpeech
::
self
()
->
isReady
())
{
if
(
!
emptyDocument
)
{
QAction
*
speakAction
=
popup
->
addAction
(
i18n
(
"Speak Text"
));
...
...
@@ -188,6 +191,7 @@ void PlainTextEditor::contextMenuEvent(QContextMenuEvent *event)
connect
(
speakAction
,
&
QAction
::
triggered
,
this
,
&
PlainTextEditor
::
slotSpeakText
);
}
}
#endif
}
if
(
webShortcutSupport
()
&&
textCursor
().
hasSelection
())
{
popup
->
addSeparator
();
...
...
src/texteditor/plaintexteditor/plaintexteditorwidget.cpp
View file @
53f18731
...
...
@@ -8,8 +8,9 @@
#include "plaintexteditfindbar.h"
#include "plaintexteditor.h"
#include "slidecontainer.h"
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
#include "texttospeech/texttospeechwidget.h"
#endif
#include <QTextCursor>
#include <QVBoxLayout>
...
...
@@ -21,7 +22,9 @@ public:
KPIMTextEdit
::
PlainTextEditFindBar
*
mFindBar
=
nullptr
;
PlainTextEditor
*
mEditor
=
nullptr
;
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
KPIMTextEdit
::
TextToSpeechWidget
*
mTextToSpeechWidget
=
nullptr
;
#endif
KPIMTextEdit
::
SlideContainer
*
mSliderContainer
=
nullptr
;
};
...
...
@@ -75,16 +78,19 @@ void PlainTextEditorWidget::init(PlainTextEditor *customEditor)
{
auto
lay
=
new
QVBoxLayout
(
this
);
lay
->
setContentsMargins
({});
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
d
->
mTextToSpeechWidget
=
new
KPIMTextEdit
::
TextToSpeechWidget
(
this
);
lay
->
addWidget
(
d
->
mTextToSpeechWidget
);
#endif
if
(
customEditor
)
{
d
->
mEditor
=
customEditor
;
}
else
{
d
->
mEditor
=
new
PlainTextEditor
;
}
lay
->
addWidget
(
d
->
mEditor
);
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
connect
(
d
->
mEditor
,
&
PlainTextEditor
::
say
,
d
->
mTextToSpeechWidget
,
&
KPIMTextEdit
::
TextToSpeechWidget
::
say
);
#endif
d
->
mSliderContainer
=
new
KPIMTextEdit
::
SlideContainer
(
this
);
d
->
mFindBar
=
new
KPIMTextEdit
::
PlainTextEditFindBar
(
d
->
mEditor
,
this
);
...
...
src/texteditor/richtexteditor/richtexteditor.cpp
View file @
53f18731
...
...
@@ -26,7 +26,9 @@
#include <sonnet/backgroundchecker.h>
#include <sonnet/spellcheckdecorator.h>
#include <sonnet/speller.h>
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
#include <texttospeech/texttospeech.h>
#endif
#include <QApplication>
#include <QClipboard>
...
...
@@ -247,7 +249,7 @@ QMenu *RichTextEditor::mousePopupMenu(QPoint pos)
allowTabAction
->
setChecked
(
!
tabChangesFocus
());
connect
(
allowTabAction
,
&
QAction
::
triggered
,
this
,
&
RichTextEditor
::
slotAllowTab
);
}
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
if
(
KPIMTextEdit
::
TextToSpeech
::
self
()
->
isReady
())
{
if
(
!
emptyDocument
)
{
QAction
*
speakAction
=
popup
->
addAction
(
i18n
(
"Speak Text"
));
...
...
@@ -255,6 +257,7 @@ QMenu *RichTextEditor::mousePopupMenu(QPoint pos)
connect
(
speakAction
,
&
QAction
::
triggered
,
this
,
&
RichTextEditor
::
slotSpeakText
);
}
}
#endif
if
(
webShortcutSupport
()
&&
textCursor
().
hasSelection
())
{
popup
->
addSeparator
();
const
QString
selectedText
=
textCursor
().
selectedText
();
...
...
src/texteditor/richtexteditor/richtexteditorwidget.cpp
View file @
53f18731
...
...
@@ -10,8 +10,9 @@
#include <QTextCursor>
#include <QVBoxLayout>
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
#include <texttospeech/texttospeechwidget.h>
#endif
#include "slidecontainer.h"
using
namespace
KPIMTextEdit
;
...
...
@@ -23,7 +24,9 @@ public:
KPIMTextEdit
::
RichTextEditFindBar
*
mFindBar
=
nullptr
;
RichTextEditor
*
mEditor
=
nullptr
;
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
KPIMTextEdit
::
TextToSpeechWidget
*
mTextToSpeechWidget
=
nullptr
;
#endif
KPIMTextEdit
::
SlideContainer
*
mSliderContainer
=
nullptr
;
};
...
...
@@ -97,14 +100,18 @@ void RichTextEditorWidget::init(RichTextEditor *customEditor)
{
auto
lay
=
new
QVBoxLayout
(
this
);
lay
->
setContentsMargins
({});
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
d
->
mTextToSpeechWidget
=
new
KPIMTextEdit
::
TextToSpeechWidget
(
this
);
lay
->
addWidget
(
d
->
mTextToSpeechWidget
);
#endif
if
(
customEditor
)
{
d
->
mEditor
=
customEditor
;
}
else
{
d
->
mEditor
=
new
RichTextEditor
;
}
#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
connect
(
d
->
mEditor
,
&
RichTextEditor
::
say
,
d
->
mTextToSpeechWidget
,
&
KPIMTextEdit
::
TextToSpeechWidget
::
say
);
#endif
lay
->
addWidget
(
d
->
mEditor
);
d
->
mSliderContainer
=
new
KPIMTextEdit
::
SlideContainer
(
this
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment