From 1f3695894e9ca44297dc4004448ece8b3647525b Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Tue, 26 May 2020 07:37:01 +0200 Subject: [PATCH] don't depend against qt5.13 --- .../commonwidget/texteditfindbarbase.h | 10 ++++++++++ .../commonwidget/textfindreplacewidget.cpp | 19 +++++++++++++++++++ .../commonwidget/textfindreplacewidget.h | 4 ++++ .../plaintexteditor/plaintexteditfindbar.cpp | 11 +++++++++++ .../plaintexteditor/plaintexteditfindbar.h | 4 ++++ .../richtexteditor/richtexteditfindbar.cpp | 11 +++++++++++ .../richtexteditor/richtexteditfindbar.h | 4 ++++ 7 files changed, 63 insertions(+) diff --git a/src/texteditor/commonwidget/texteditfindbarbase.h b/src/texteditor/commonwidget/texteditfindbarbase.h index ae049ad..b7ac825 100644 --- a/src/texteditor/commonwidget/texteditfindbarbase.h +++ b/src/texteditor/commonwidget/texteditfindbarbase.h @@ -23,7 +23,9 @@ #include "kpimtextedit_export.h" #include #include +#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0) #include +#endif namespace KPIMTextEdit { class TextFindWidget; class TextReplaceWidget; @@ -56,7 +58,11 @@ protected: virtual Q_REQUIRED_RESULT bool viewIsReadOnly() const = 0; virtual Q_REQUIRED_RESULT bool documentIsEmpty() const = 0; virtual Q_REQUIRED_RESULT bool searchInDocument(const QString &text, QTextDocument::FindFlags searchOptions) = 0; +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) + virtual Q_REQUIRED_RESULT bool searchInDocument(const QRegExp ®Exp, QTextDocument::FindFlags searchOptions) = 0; +#else virtual Q_REQUIRED_RESULT bool searchInDocument(const QRegularExpression ®Exp, QTextDocument::FindFlags searchOptions) = 0; +#endif virtual void autoSearchMoveCursor() = 0; bool event(QEvent *e) override; @@ -83,7 +89,11 @@ private Q_SLOTS: protected: QString mLastSearchStr; +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) + QRegExp mLastSearchRegExp; +#else QRegularExpression mLastSearchRegExp; +#endif TextFindWidget *mFindWidget = nullptr; TextReplaceWidget *mReplaceWidget = nullptr; bool mHideWhenClose = true; diff --git a/src/texteditor/commonwidget/textfindreplacewidget.cpp b/src/texteditor/commonwidget/textfindreplacewidget.cpp index 0e208d1..99d4bf5 100644 --- a/src/texteditor/commonwidget/textfindreplacewidget.cpp +++ b/src/texteditor/commonwidget/textfindreplacewidget.cpp @@ -174,6 +174,24 @@ QString TextFindWidget::searchText() const return mSearch->text(); } +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) +QRegExp TextFindWidget::searchRegExp() const +{ + QRegExp reg; + if (mCaseSensitiveAct->isChecked()) { + reg.setCaseSensitivity(Qt::CaseSensitive); + } else { + reg.setCaseSensitivity(Qt::CaseInsensitive); + } + QString searchTextString = mSearch->text(); + if (mWholeWordAct->isChecked()) { + searchTextString = QLatin1String("\\b") + searchTextString + QLatin1String("\\b"); + } + reg.setPattern(searchTextString); + return reg; +} + +#else QRegularExpression TextFindWidget::searchRegExp() const { QRegularExpression reg; @@ -188,6 +206,7 @@ QRegularExpression TextFindWidget::searchRegExp() const return reg; } +#endif QTextDocument::FindFlags TextFindWidget::searchOptions() const { QTextDocument::FindFlags opt = {}; diff --git a/src/texteditor/commonwidget/textfindreplacewidget.h b/src/texteditor/commonwidget/textfindreplacewidget.h index c918ab4..13926d8 100644 --- a/src/texteditor/commonwidget/textfindreplacewidget.h +++ b/src/texteditor/commonwidget/textfindreplacewidget.h @@ -41,7 +41,11 @@ public: void setFoundMatch(bool match); Q_REQUIRED_RESULT bool isRegularExpression() const; +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) + Q_REQUIRED_RESULT QRegExp searchRegExp() const; +#else Q_REQUIRED_RESULT QRegularExpression searchRegExp() const; +#endif Q_REQUIRED_RESULT QString searchText() const; diff --git a/src/texteditor/plaintexteditor/plaintexteditfindbar.cpp b/src/texteditor/plaintexteditor/plaintexteditfindbar.cpp index 9f8f2c6..4ad7013 100644 --- a/src/texteditor/plaintexteditor/plaintexteditfindbar.cpp +++ b/src/texteditor/plaintexteditor/plaintexteditfindbar.cpp @@ -75,6 +75,15 @@ bool PlainTextEditFindBar::searchInDocument(const QString &text, QTextDocument:: return found; } +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) +bool PlainTextEditFindBar::searchInDocument(const QRegExp ®Exp, QTextDocument::FindFlags searchOptions) +{ + const bool found = d->mView->find(regExp, searchOptions); + mFindWidget->setFoundMatch(found); + return found; +} + +#else bool PlainTextEditFindBar::searchInDocument(const QRegularExpression ®Exp, QTextDocument::FindFlags searchOptions) { const bool found = d->mView->find(regExp, searchOptions); @@ -82,6 +91,8 @@ bool PlainTextEditFindBar::searchInDocument(const QRegularExpression ®Exp, QT return found; } +#endif + void PlainTextEditFindBar::autoSearchMoveCursor() { QTextCursor cursor = d->mView->textCursor(); diff --git a/src/texteditor/plaintexteditor/plaintexteditfindbar.h b/src/texteditor/plaintexteditor/plaintexteditfindbar.h index 5f19429..cf7ed57 100644 --- a/src/texteditor/plaintexteditor/plaintexteditfindbar.h +++ b/src/texteditor/plaintexteditor/plaintexteditfindbar.h @@ -43,7 +43,11 @@ protected: Q_REQUIRED_RESULT bool viewIsReadOnly() const override; Q_REQUIRED_RESULT bool documentIsEmpty() const override; Q_REQUIRED_RESULT bool searchInDocument(const QString &text, QTextDocument::FindFlags searchOptions) override; +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) + Q_REQUIRED_RESULT bool searchInDocument(const QRegExp ®Exp, QTextDocument::FindFlags searchOptions) override; +#else Q_REQUIRED_RESULT bool searchInDocument(const QRegularExpression ®Exp, QTextDocument::FindFlags searchOptions) override; +#endif void autoSearchMoveCursor() override; public Q_SLOTS: diff --git a/src/texteditor/richtexteditor/richtexteditfindbar.cpp b/src/texteditor/richtexteditor/richtexteditfindbar.cpp index 2e76ba4..3c5ad36 100644 --- a/src/texteditor/richtexteditor/richtexteditfindbar.cpp +++ b/src/texteditor/richtexteditor/richtexteditfindbar.cpp @@ -74,6 +74,15 @@ bool RichTextEditFindBar::searchInDocument(const QString &text, QTextDocument::F return found; } +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) +bool RichTextEditFindBar::searchInDocument(const QRegExp ®Exp, QTextDocument::FindFlags searchOptions) +{ + const bool found = d->mView->find(regExp, searchOptions); + mFindWidget->setFoundMatch(found); + return found; +} + +#else bool RichTextEditFindBar::searchInDocument(const QRegularExpression ®Exp, QTextDocument::FindFlags searchOptions) { const bool found = d->mView->find(regExp, searchOptions); @@ -81,6 +90,8 @@ bool RichTextEditFindBar::searchInDocument(const QRegularExpression ®Exp, QTe return found; } +#endif + void RichTextEditFindBar::autoSearchMoveCursor() { QTextCursor cursor = d->mView->textCursor(); diff --git a/src/texteditor/richtexteditor/richtexteditfindbar.h b/src/texteditor/richtexteditor/richtexteditfindbar.h index 5341c63..d0041e3 100644 --- a/src/texteditor/richtexteditor/richtexteditfindbar.h +++ b/src/texteditor/richtexteditor/richtexteditfindbar.h @@ -42,7 +42,11 @@ protected: Q_REQUIRED_RESULT bool viewIsReadOnly() const override; Q_REQUIRED_RESULT bool documentIsEmpty() const override; Q_REQUIRED_RESULT bool searchInDocument(const QString &text, QTextDocument::FindFlags searchOptions) override; +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) + Q_REQUIRED_RESULT bool searchInDocument(const QRegExp ®Exp, QTextDocument::FindFlags searchOptions) override; +#else Q_REQUIRED_RESULT bool searchInDocument(const QRegularExpression ®Exp, QTextDocument::FindFlags searchOptions) override; +#endif void autoSearchMoveCursor() override; public Q_SLOTS: -- GitLab --- kpimtextedit-20.08.1/CMakeLists.txt.old 2020-09-01 06:34:13.000000000 +0000 +++ kpimtextedit-20.08.1/CMakeLists.txt 2020-09-17 16:33:36.113343815 +0000 @@ -37,7 +37,7 @@ SOVERSION 5 ) -set(QT_REQUIRED_VERSION "5.13.0") +set(QT_REQUIRED_VERSION "5.12.9") find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Widgets) ########### Find packages ###########