summaryrefslogtreecommitdiffstats
path: root/libkdepim/linklocator.h
diff options
context:
space:
mode:
Diffstat (limited to 'libkdepim/linklocator.h')
-rw-r--r--libkdepim/linklocator.h190
1 files changed, 0 insertions, 190 deletions
diff --git a/libkdepim/linklocator.h b/libkdepim/linklocator.h
deleted file mode 100644
index 4597d836b..000000000
--- a/libkdepim/linklocator.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * linklocator.h
- *
- * Copyright (c) 2002 Dave Corrie <kde@davecorrie.com>
- *
- * This file is part of KMail.
- *
- * KMail is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef LINKLOCATOR_H_INCLUDED
-#define LINKLOCATOR_H_INCLUDED
-
-#include <tqstring.h>
-#include <tqmap.h>
-
-#include <tdepimmacros.h>
-
-/**
- * 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 @ref convertToHtml()
- * to convert a plaintext string into html, or to be derived from
- * where more control is needed.
- *
- * @short Identifies URLs and email addresses embedded in plaintext.
- * @author Dave Corrie <kde@davecorrie.com>
- */
-class KDE_EXPORT LinkLocator
-{
-public:
- /**
- * Constructs a LinkLocator that will search a plaintext string
- * from a given starting point.
- *
- * @param text The string in which to search.
- * @param pos An index into 'text' from where the search
- * should begin.
- */
- LinkLocator(const TQString& text, int pos = 0);
-
- /**
- * Sets the maximum length of URLs that will be matched by
- * @ref 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.
- *
- * @param length The new maximum length of URLs that will be
- * matched by @ref getUrl().
- */
- void setMaxUrlLen(int length);
-
- /**
- * @return The current limit on the maximum length of a URL.
- *
- * @see setMaxUrlLen().
- */
- int maxUrlLen() const;
-
- /**
- * Sets the maximum length of email addresses that will be
- * matched by @ref 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.
- *
- * @param length The new maximum length of email addresses
- * that will be matched by @ref getEmailAddress().
- */
- void setMaxAddressLen(int length);
-
- /**
- * @return The current limit on the maximum length of an email
- * address.
- *
- * @see setMaxAddressLen().
- */
- int maxAddressLen() const;
-
- /**
- * 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.
- *
- * @return The URL at the current scan position, or an empty string.
- */
- TQString getUrl();
-
- /**
- * 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.
- *
- * @return The email address at the current scan position, or an empty
- * string.
- */
- TQString getEmailAddress();
-
- /**
- * Converts plaintext into html. The following characters are converted to HTML
- * entities: & " < >. Newlines are also preserved.
- *
- * @param plainText The text to be converted into HTML.
- * @param 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/.
- * @param maxUrlLen The maximum length of permitted URLs. (See
- * @ref maxUrlLen().)
- * @param maxAddressLen The maximum length of permitted email addresses.
- * (See @ref maxAddressLen().)
- * @return An HTML version of the text supplied in the 'plainText' parameter,
- * suitable for inclusion in the BODY of an HTML document.
- */
- static TQString convertToHtml(const TQString& plainText, int flags = 0,
- int maxUrlLen = 4096, int maxAddressLen = 255);
-
- static const int PreserveSpaces = 0x01;
- static const int ReplaceSmileys = 0x02;
- static const int IgnoreUrls = 0x04;
- static const int HighlightText = 0x08;
-
- /** Embed the given PNG image into a data URL.
- * @param iconPath path to the PNG image
- * @return A data URL, TQString() if the image could not be read.
- */
- static TQString pngToDataUrl( const TQString & iconPath );
-
-protected:
- /**
- * The plaintext string being scanned for URLs and email addresses.
- */
- TQString mText;
- /**
- * The current scan position.
- */
- int mPos;
-
-private:
- bool atUrl() const;
- bool isEmptyUrl(const TQString& url);
-
- /**
- * Replaces smiley text with an <img> tag containing the relevant image.
- * For an emoticon text to be recognised it has to match
- * "(^|\s+)text(\s+|$)"
- * @return An HTML String with <img> for an emoticon
- */
- TQString getEmoticon();
- /**
- * Highlight text according to *bold*, /italic/ and _underlined_ markup.
- * @return A HTML string.
- */
- TQString highlightedText();
-
- int mMaxUrlLen;
- int mMaxAddressLen;
-
- // maps the smiley text to the corresponding emoticon name
- static TQMap<TQString, TQString> *s_smileyEmoticonNameMap;
- // cache for the HTML representation of a smiley
- static TQMap<TQString, TQString> *s_smileyEmoticonHTMLCache;
-};
-
-#endif // LINKLOCATOR_H_INCLUDED
-