spellingfilter.h
00001
00023
#ifndef SPELLINGFILTER_H_INCLUDED
00024
#define SPELLINGFILTER_H_INCLUDED
00025
00026
#include <qstring.h>
00027
#include <qstringlist.h>
00028
#include "linklocator.h"
00029
00030 class SpellingFilter
00031 {
00032
public:
00033
enum UrlFiltering { DontFilterUrls, FilterUrls };
00034
enum EmailAddressFiltering { DontFilterEmailAddresses, FilterEmailAddresses };
00035
00036
SpellingFilter(
const QString& text,
const QString& quotePrefix,
00037 UrlFiltering filterUrls = FilterUrls,
00038 EmailAddressFiltering filterEmailAddresses = FilterEmailAddresses,
00039
const QStringList& filterStrings =
QStringList());
00040
00041
QString originalText()
const;
00042
QString filteredText()
const;
00043
00044
class TextCensor;
00045
00046
private:
00047
const QString mOriginal;
00048
QString mFiltered;
00049 };
00050
00051
class SpellingFilter::TextCensor :
public LinkLocator
00052 {
00053
public:
00054 TextCensor(
const QString& s);
00055
00056
void censorQuotations(
const QString& quotePrefix);
00057
void censorUrls();
00058
void censorEmailAddresses();
00059
void censorString(
const QString& s);
00060
00061
QString censoredText() const;
00062
00063 private:
00064
bool atLineStart() const;
00065
void skipLine();
00066
00067
bool atQuotation(const
QString& quotePrefix) const;
00068
void skipQuotation(const
QString& quotePrefix);
00069
void findQuotation(const
QString& quotePrefix);
00070
00071
void findEmailAddress();
00072 };
00073
00074 #endif
00075
This file is part of the documentation for libkdenetwork Library Version 3.3.0.