File indexing completed on 2024-05-12 05:07:59

0001 /*
0002     SPDX-FileCopyrightText: 2013-2015 Christian Dávid <christian-david@web.de>
0003     SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef KMYMONEYTEXTEDIT_H
0008 #define KMYMONEYTEXTEDIT_H
0009 
0010 #include <Sonnet/Highlighter>
0011 
0012 class KMyMoneyTextEditHighlighterPrivate;
0013 class KMyMoneyTextEditHighlighter : public Sonnet::Highlighter
0014 {
0015     Q_DISABLE_COPY(KMyMoneyTextEditHighlighter)
0016 
0017 public:
0018     explicit KMyMoneyTextEditHighlighter(QTextEdit* parent = nullptr); // krazy:exclude=qclasses
0019     ~KMyMoneyTextEditHighlighter();
0020 
0021     void setAllowedChars(const QString& chars);
0022     void setMaxLength(const int& length);
0023     void setMaxLines(const int& lines);
0024     void setMaxLineLength(const int& length);
0025 
0026 protected:
0027     void highlightBlock(const QString& text) final override;
0028 
0029 private:
0030     KMyMoneyTextEditHighlighterPrivate * const d_ptr;
0031     Q_DECLARE_PRIVATE(KMyMoneyTextEditHighlighter)
0032 };
0033 
0034 #endif // KMYMONEYTEXTEDIT_H