File indexing completed on 2024-06-23 04:40:17
0001 /* 0002 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "textcustomeditor_export.h" 0010 #include <TextCustomEditor/TextEditFindBarBase> 0011 0012 class QTextEdit; 0013 namespace TextCustomEditor 0014 { 0015 class RichTextEditFindBarPrivate; 0016 /** 0017 * @brief The RichTextEditFindBar class 0018 * @author Laurent Montel <montel@kde.org> 0019 */ 0020 class TEXTCUSTOMEDITOR_EXPORT RichTextEditFindBar : public TextEditFindBarBase 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit RichTextEditFindBar(QTextEdit *view, QWidget *parent = nullptr); 0025 ~RichTextEditFindBar() override; 0026 0027 protected: 0028 [[nodiscard]] bool viewIsReadOnly() const override; 0029 [[nodiscard]] bool documentIsEmpty() const override; 0030 [[nodiscard]] bool searchInDocument(const QString &text, TextEditFindBarBase::FindFlags searchOptions) override; 0031 [[nodiscard]] bool searchInDocument(const QRegularExpression ®Exp, TextEditFindBarBase::FindFlags searchOptions) override; 0032 void autoSearchMoveCursor() override; 0033 0034 public Q_SLOTS: 0035 void slotSearchText(bool backward = false, bool isAutoSearch = true) override; 0036 0037 private Q_SLOTS: 0038 void slotReplaceText() override; 0039 void slotReplaceAllText() override; 0040 0041 private: 0042 std::unique_ptr<RichTextEditFindBarPrivate> const d; 0043 }; 0044 }