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
|
/*
SPDX-FileCopyrightText: 2013-2025 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "textcustomeditor_private_export.h"
#include "texteditfindbarbase.h"
#include <QWidget>
class QAction;
class QLineEdit;
class QPushButton;
namespace TextCustomEditor
{
class TEXTCUSTOMEDITOR_TESTS_EXPORT TextFindWidget : public QWidget
{
Q_OBJECT
public:
explicit TextFindWidget(QWidget *parent = nullptr);
~TextFindWidget() override;
[[nodiscard]] TextEditFindBarBase::FindFlags searchOptions() const;
QLineEdit *searchLineEdit() const;
void setFoundMatch(bool match);
[[nodiscard]] bool isRegularExpression() const;
[[nodiscard]] QRegularExpression searchRegularExpression() const;
[[nodiscard]] QString searchText() const;
Q_SIGNALS:
void findNext();
void findPrev();
void clearSearch();
void autoSearch(const QString &);
void updateSearchOptions();
void searchStringEmpty(bool);
private:
void slotAutoSearch(const QString &str);
void slotRegularExpressionChanged(bool b);
QLineEdit *const mSearch;
QAction *mCaseSensitiveAct = nullptr;
QAction *mWholeWordAct = nullptr;
QAction *mRegularExpressionAct = nullptr;
QAction *mRespectDiacriticAct = nullptr;
QPushButton *const mFindPrevBtn;
QPushButton *const mFindNextBtn;
};
class TEXTCUSTOMEDITOR_TESTS_EXPORT TextReplaceWidget : public QWidget
{
Q_OBJECT
public:
explicit TextReplaceWidget(QWidget *parent = nullptr);
~TextReplaceWidget() override;
QLineEdit *replaceLineEdit() const;
public Q_SLOTS:
void slotSearchStringEmpty(bool);
Q_SIGNALS:
void replaceText();
void replaceAllText();
private:
QLineEdit *const mReplace;
QPushButton *const mReplaceBtn;
QPushButton *const mReplaceAllBtn;
};
}
|