22#ifndef KPIMTEXTEDIT_TEXTEDIT_H
23#define KPIMTEXTEDIT_TEXTEDIT_H
25#include "kpimtextedit_export.h"
27#include <kpimidentities/signature.h>
29#include <KDE/KRichTextWidget>
30#include <KActionCollection>
32#include <QtCore/QSharedPointer>
36#define FIX_KMAIL_INSERT_IMAGE 1
44class EMailQuoteHighlighter;
69typedef QSharedPointer<ImageWithName> ImageWithNamePtr;
70typedef QList< ImageWithNamePtr > ImageWithNameList;
71typedef QList< QSharedPointer<EmbeddedImage> > ImageList;
84class KPIMTEXTEDIT_EXPORT
TextEdit :
public KRichTextWidget,
86 protected KTextEditSpellInterface
97 explicit TextEdit(
const QString &text, QWidget *parent = 0 );
103 explicit TextEdit( QWidget *parent = 0 );
113 explicit TextEdit( QWidget *parent,
const QString &configFile );
123 void enableImageActions();
130 void enableEmoticonActions();
132 void enableInsertHtmlActions();
134 void enableInsertTableActions();
150 virtual void createActions( KActionCollection *actionCollection );
158 void addImage(
const KUrl &url );
170 void addImage(
const KUrl &url,
int width,
int height );
185 void loadImage(
const QImage &image,
const QString &matchName,
const QString &resourceName );
191 void deleteCurrentLine();
200 ImageList embeddedImages()
const;
208 ImageWithNameList imagesWithName()
const;
214 QString toWrappedPlainText()
const;
219 QString toWrappedPlainText( QTextDocument *document )
const;
225 QString toCleanPlainText(
const QString &plainText )
const;
231 QString toCleanPlainText()
const;
249 bool isLineQuoted(
const QString &line )
const;
261 virtual int quoteLength(
const QString &line )
const;
267 virtual const QString defaultQuoteSign()
const;
286 static QByteArray imageNamesToContentIds(
const QByteArray &htmlBody,
287 const ImageList &imageList );
297 bool isFormattingUsed()
const;
303 QString configFile()
const;
308 bool isEnableImageActions()
const;
313 bool isEnableEmoticonActions()
const;
320 void insertImage(
const QImage &image,
const QFileInfo &info );
325 bool isEnableInsertHtmlActions()
const;
330 bool isEnableInsertTableActions()
const;
337 virtual bool canInsertFromMimeData(
const QMimeData *source )
const;
342 virtual void insertFromMimeData(
const QMimeData *source );
348 virtual bool eventFilter( QObject *o, QEvent *e );
354 virtual void keyPressEvent ( QKeyEvent *e );
362 virtual bool isSpellCheckingEnabled()
const;
367 virtual void setSpellCheckingEnabled(
bool enable );
373 virtual bool shouldBlockBeSpellChecked(
const QString &block )
const;
379 virtual void createHighlighter();
382 void addImageHelper(
const KUrl &url,
int width = -1,
int height = -1 );
383 std::auto_ptr<TextEditPrivate>
const d;
384 friend class TextEditPrivate;
385 Q_PRIVATE_SLOT( d,
void _k_slotAddImage() )
386 Q_PRIVATE_SLOT( d,
void _k_slotDeleteLine() )
387 Q_PRIVATE_SLOT( d,
void _k_slotAddEmoticon(
const QString & ) )
388 Q_PRIVATE_SLOT( d,
void _k_slotInsertHtml() )
389 Q_PRIVATE_SLOT( d,
void _k_slotFormatReset() )
390 Q_PRIVATE_SLOT( d,
void _k_slotTextModeChanged( KRichTextEdit::Mode ) )
This highlighter highlights spelling mistakes and also highlightes quotes.
Special textedit that provides additional features which are useful for PIM applications like mail cl...
Copyright (C) 2006 Laurent Montel montel@kde.org Copyright (C) 2008 Thomas McGuire mcguire@kde....
Holds information about an embedded HTML image that will be useful for mail clients.
QString contentID
The content id of the embedded image.
QByteArray image
The image, encoded as PNG with base64 encoding.
QString imageName
Name of the image as it is available as a resource in the editor.
Holds information about an embedded HTML image that will be generally useful.
QString name
The name of the image as it is available as a resource in the editor.