• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

kpimutils

KPIMUtils::LinkLocator

KPIMUtils::LinkLocator Class Reference

#include <linklocator.h>

Inherited by KPIMUtils::SpellingFilter::TextCensor.

List of all members.


Detailed Description

LinkLocator assists in identifying sections of text that can usefully be converted in hyperlinks in HTML.

It is intended to be used in two ways: either by calling convertToHtml() to convert a plaintext string into HTML, or to be derived from where more control is needed.

Definition at line 46 of file linklocator.h.


Public Member Functions

 LinkLocator (const QString &text, int pos=0)
 ~LinkLocator ()
void setMaxUrlLen (int length)
int maxUrlLen () const
void setMaxAddressLen (int length)
int maxAddressLen () const
QString getUrl ()
QString getEmailAddress ()

Static Public Member Functions

static QString convertToHtml (const QString &plainText, int flags=0, int maxUrlLen=4096, int maxAddressLen=255)
static QString pngToDataUrl (const QString &iconPath)

Static Public Attributes

static const int PreserveSpaces = 0x01
static const int ReplaceSmileys = 0x02
static const int IgnoreUrls = 0x04
static const int HighlightText = 0x08

Protected Member Functions

bool atUrl () const
bool isEmptyUrl (const QString &url) const
QString getEmoticon ()
QString highlightedText ()

Protected Attributes

QString mText
int mPos

Constructor & Destructor Documentation

LinkLocator::LinkLocator ( const QString &  text,
int  pos = 0 
) [explicit]

Constructs a LinkLocator that will search a plaintext string from a given starting point.

Parameters:
text The string in which to search.
pos An index into 'text' from where the search should begin.

Definition at line 65 of file linklocator.cpp.

LinkLocator::~LinkLocator (  ) 

Destructor.

Definition at line 89 of file linklocator.cpp.


Member Function Documentation

void LinkLocator::setMaxUrlLen ( int  length  ) 

Sets the maximum length of URLs that will be matched by getUrl().

By default, this is set to 4096 characters. The reason for this limit is that there may be possible security implications in handling URLs of unlimited length.

See also:
maxUrlLen()
Parameters:
length A new maximum length of URLs that will be matched by getUrl().

Definition at line 94 of file linklocator.cpp.

int LinkLocator::maxUrlLen (  )  const

Returns the current limit on the maximum length of a URL.

See also:
setMaxUrlLen().

Definition at line 99 of file linklocator.cpp.

void LinkLocator::setMaxAddressLen ( int  length  ) 

Sets the maximum length of email addresses that will be matched by getEmailAddress().

By default, this is set to 255 characters. The reason for this limit is that there may be possible security implications in handling addresses of unlimited length.

See also:
maxAddressLen().
Parameters:
length The new maximum length of email addresses that will be matched by getEmailAddress().

Definition at line 104 of file linklocator.cpp.

int LinkLocator::maxAddressLen (  )  const

Returns the current limit on the maximum length of an email address.

See also:
setMaxAddressLen().

Definition at line 109 of file linklocator.cpp.

QString LinkLocator::getUrl (  ) 

Attempts to grab a URL starting at the current scan position.

If there is no URL at the current scan position, then an empty string is returned. If a URL is found, the current scan position is set to the index of the last character in the URL.

Returns:
The URL at the current scan position, or an empty string.

Definition at line 114 of file linklocator.cpp.

QString LinkLocator::getEmailAddress (  ) 

Attempts to grab an email address.

If there is an @ symbol at the current scan position, then the text will be searched both backwards and forwards to find the email address. If there is no @ symbol at the current scan position, an empty string is returned. If an address is found, then the current scan position is set to the index of the last character in the address.

Returns:
The email address at the current scan position, or an empty string.

Definition at line 194 of file linklocator.cpp.

QString LinkLocator::convertToHtml ( const QString &  plainText,
int  flags = 0,
int  maxUrlLen = 4096,
int  maxAddressLen = 255 
) [static]

Converts plaintext into html.

The following characters are converted to HTML entities: & " < >. Newlines are also preserved.

Parameters:
plainText The text to be converted into HTML.
flags The flags to consider when processing plainText. Currently supported flags are:
  • PreserveSpaces, preserves the appearance of sequences of space and tab characters in the resulting HTML.
  • ReplaceSmileys, replace text smileys with emoticon images.
  • IgnoreUrls, doesn't parse any URLs.
  • HighlightText, interprets text highlighting markup like *bold*, _underlined_ and /italic/.
maxUrlLen The maximum length of permitted URLs. (
See also:
maxUrlLen().)
Parameters:
maxAddressLen The maximum length of permitted email addresses. (
See also:
maxAddressLen().)
Returns:
An HTML version of the text supplied in the 'plainText' parameter, suitable for inclusion in the BODY of an HTML document.

Definition at line 260 of file linklocator.cpp.

QString LinkLocator::pngToDataUrl ( const QString &  iconPath  )  [static]

Embeds the given PNG image into a data URL.

Parameters:
iconPath path to the PNG image
Returns:
A data URL, QString() if the image could not be read.

Definition at line 381 of file linklocator.cpp.

QString LinkLocator::getEmoticon (  )  [protected]

Replaces smiley text with an.

tag containing the relevant image. For an emoticon text to be recognized it has to match "(^|\s+)text(\s+|$)"

Returns:
An HTML String with for an emoticon

Definition at line 397 of file linklocator.cpp.

QString LinkLocator::highlightedText (  )  [protected]

Highlight text according to *bold*, /italic/ and _underlined_ markup.

Returns:
A HTML string.

Definition at line 467 of file linklocator.cpp.


Member Data Documentation

QString KPIMUtils::LinkLocator::mText [protected]

The plaintext string being scanned for URLs and email addresses.

Definition at line 160 of file linklocator.h.

int KPIMUtils::LinkLocator::mPos [protected]

The current scan position.

Definition at line 165 of file linklocator.h.


The documentation for this class was generated from the following files:
  • linklocator.h
  • linklocator.cpp

kpimutils

Skip menu "kpimutils"
  • Main Page
  • Modules
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • kabc
  • kblog
  • kcal
  • kimap
  • kioslave
  •   imap4
  •   mbox
  • kldap
  • kmime
  • kpimidentities
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.5.5
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal