kpimutils
#include <linklocator.h>
Inherited by KPIMUtils::SpellingFilter::TextCensor.
Public Member Functions | |
LinkLocator (const QString &text, int pos=0) | |
~LinkLocator () | |
QString | getEmailAddress () |
QString | getUrl () |
QString | getUrlAndCheckValidHref (bool *badurl=0) |
int | maxAddressLen () const |
int | maxUrlLen () const |
void | setMaxAddressLen (int length) |
void | setMaxUrlLen (int length) |
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 | HighlightText = 0x08 |
static const int | IgnoreUrls = 0x04 |
static const int | PreserveSpaces = 0x01 |
static const int | ReplaceSmileys = 0x02 |
Protected Member Functions | |
bool | atUrl () const |
QString | highlightedText () |
bool | isEmptyUrl (const QString &url) const |
Protected Attributes | |
int | mPos |
QString | mText |
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.
please note that you are responsible for handling the links. That means you should not execute the link directly but instead open it for example. See the KRun documentation about this parameter if applicable.
Definition at line 48 of file linklocator.h.
Constructor & Destructor Documentation
◆ LinkLocator()
|
explicit |
Constructs a LinkLocator that will search a plaintext string from a given starting point.
Private class that helps to provide binary compatibility between releases.
- Parameters
-
text The string in which to search. pos An index into 'text' from where the search should begin.
Definition at line 58 of file linklocator.cpp.
◆ ~LinkLocator()
LinkLocator::~LinkLocator | ( | ) |
Destructor.
Definition at line 71 of file linklocator.cpp.
Member Function Documentation
◆ atUrl()
|
protected |
Definition at line 195 of file linklocator.cpp.
◆ convertToHtml()
|
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 310 of file linklocator.cpp.
◆ getEmailAddress()
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 244 of file linklocator.cpp.
◆ getUrl()
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 96 of file linklocator.cpp.
◆ getUrlAndCheckValidHref()
QString LinkLocator::getUrlAndCheckValidHref | ( | bool * | badurl = 0 | ) |
Definition at line 102 of file linklocator.cpp.
◆ highlightedText()
|
protected |
Highlight text according to bold, /italic/ and underlined markup.
- Returns
- A HTML string.
Definition at line 473 of file linklocator.cpp.
◆ isEmptyUrl()
|
protected |
Definition at line 226 of file linklocator.cpp.
◆ maxAddressLen()
int LinkLocator::maxAddressLen | ( | ) | const |
Returns the current limit on the maximum length of an email address.
- See also
- setMaxAddressLen().
Definition at line 91 of file linklocator.cpp.
◆ maxUrlLen()
int LinkLocator::maxUrlLen | ( | ) | const |
Returns the current limit on the maximum length of a URL.
- See also
- setMaxUrlLen().
Definition at line 81 of file linklocator.cpp.
◆ pngToDataUrl()
|
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 457 of file linklocator.cpp.
◆ setMaxAddressLen()
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 86 of file linklocator.cpp.
◆ setMaxUrlLen()
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 76 of file linklocator.cpp.
Member Data Documentation
◆ HighlightText
|
static |
Definition at line 150 of file linklocator.h.
◆ IgnoreUrls
|
static |
Definition at line 149 of file linklocator.h.
◆ mPos
|
protected |
The current scan position.
Definition at line 168 of file linklocator.h.
◆ mText
|
protected |
The plaintext string being scanned for URLs and email addresses.
Definition at line 163 of file linklocator.h.
◆ PreserveSpaces
|
static |
Definition at line 147 of file linklocator.h.
◆ ReplaceSmileys
|
static |
Definition at line 148 of file linklocator.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Wed Jan 24 2024 00:00:00 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.