This file is indexed.

/usr/include/kpimtextedit/emailquotehighlighter.h is in kdepimlibs5-dev 4:4.13.0-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/**
 * Copyright (C)  2006  Laurent Montel <montel@kde.org>
 * Copyright (C)  2008  Thomas McGuire <mcguire@kde.org>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301  USA
 */
#ifndef KPIMTEXTEDIT_EMAILQUOTEHIGHLIGHTER_H
#define KPIMTEXTEDIT_EMAILQUOTEHIGHLIGHTER_H

#include "kpimtextedit_export.h"

#include <sonnet/highlighter.h>

#include <memory>

namespace KPIMTextEdit {

class TextEdit;

/**
 * This highlighter highlights spelling mistakes and also highlightes
 * quotes.
 *
 * Spelling mistakes inside quotes will not be highlighted.
 * The quote highlighting color is configurable.
 *
 * Spell highlighting is disabled by default but can be toggled.
 *
 * @since 4.3
 */
class KPIMTEXTEDIT_EXPORT EMailQuoteHighlighter : public Sonnet::Highlighter
{
  public:

    /**
     * Constructor. See setQuoteColor() for the parameters.
     * FIXME: Default colors don't obey color scheme
     */
    explicit EMailQuoteHighlighter( TextEdit *textEdit,
                                    const QColor &normalColor = Qt::black,
                                    const QColor &quoteDepth1 = QColor( 0x00, 0x80, 0x00 ),
                                    const QColor &quoteDepth2 = QColor( 0x00, 0x80, 0x00 ),
                                    const QColor &quoteDepth3 = QColor( 0x00, 0x80, 0x00 ),
                                    const QColor &misspelledColor = Qt::red );

    ~EMailQuoteHighlighter();

    /**
     * Sets the colors used for highlighting quoted text and spelling mistakes.
     *
     * @param quoteDepth1 color for text quoted 1 level deep
     * @param quoteDepth2 color for text quoted 2 level deep
     * @param quoteDepth3 color for text quoted 3 level deep
     * @param misspelledColor color in which misspelled words will be underlined
     * @param normalColor will be ignored, only provided for KNode
     *                    compatibility.
     */
    void setQuoteColor( const QColor &normalColor,
                        const QColor &quoteDepth1,
                        const QColor &quoteDepth2,
                        const QColor &quoteDepth3,
                        const QColor &misspelledColor = Qt::red );

    /**
     * Turns spellcheck highlighting on or off.
     *
     * @param on if true, spelling mistakes will be highlighted
     */
    void toggleSpellHighlighting( bool on );

    /**
     * Reimplemented to highlight quote blocks.
     */
    virtual void highlightBlock ( const QString & text );

    /**
     * Use this static method to get a text consisting of multiple lines
     * highligted.
     * @since 4.4
     */
    static QString highlightText( const QString &text,
                                  const QColor &quoteDepth1 = QColor( 0x00, 0x80, 0x00 ),
                                  const QColor &quoteDepth2 = QColor( 0x00, 0x80, 0x00 ),
                                  const QColor &quoteDepth3 = QColor( 0x00, 0x80, 0x00 ) );

    /**
     * Use this static method to get proper highlighting for a single line.
     * @since 4.4
     */
    static QString highlightParagraph( const QString &text,
                                       const QColor &quoteDepth1 = QColor( 0x00, 0x80, 0x00 ),
                                       const QColor &quoteDepth2 = QColor( 0x00, 0x80, 0x00 ),
                                       const QColor &quoteDepth3 = QColor( 0x00, 0x80, 0x00 ) );

  protected:

    /**
     * Reimplemented, the base version sets the text color to black, which
     * is not what we want. We do nothing, the format is already reset by
     * Qt.
     * @param start the beginning of text
     * @param count the amount of characters to set
     */
    virtual void unsetMisspelled( int start, int count );

    /**
     * Reimplemented to set the color of the misspelled word to a color
     * defined by setQuoteColor().
     */
    virtual void setMisspelled( int start, int count );

  private:
    class EMailQuoteHighlighterPrivate;
    std::auto_ptr<EMailQuoteHighlighterPrivate> d;
};

}

#endif