File indexing completed on 2024-05-12 16:16:00

0001 /*
0002    SPDX-FileCopyrightText: 2019-2023 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "grammarerror.h"
0010 #include "textgrammarcheck_export.h"
0011 #include <QTextEdit>
0012 namespace TextGrammarCheck
0013 {
0014 class GrammarAction;
0015 class TEXTGRAMMARCHECK_EXPORT GrammarResultTextEdit : public QTextEdit
0016 {
0017     Q_OBJECT
0018 public:
0019     explicit GrammarResultTextEdit(QWidget *parent = nullptr);
0020     ~GrammarResultTextEdit() override;
0021 
0022     void applyGrammarResult(const QVector<GrammarError> &infos);
0023 
0024 protected:
0025     void contextMenuEvent(QContextMenuEvent *event) override;
0026 
0027     void paintEvent(QPaintEvent *event) override;
0028 
0029     bool event(QEvent *ev) override;
0030 Q_SIGNALS:
0031     void replaceText(const TextGrammarCheck::GrammarAction &act);
0032     void checkAgain();
0033     void closeChecker();
0034     void configure();
0035 
0036 private:
0037     Q_DISABLE_COPY(GrammarResultTextEdit)
0038     TEXTGRAMMARCHECK_NO_EXPORT void slotReplaceWord(const TextGrammarCheck::GrammarAction &act, const QString &replacementWord);
0039     TEXTGRAMMARCHECK_NO_EXPORT void slotOpenGrammarUrlInfo(const QString &url);
0040     TEXTGRAMMARCHECK_NO_EXPORT void generalPaletteChanged();
0041     QColor mTextColor;
0042     QColor mNegativeTextColor;
0043 };
0044 }