22 #ifndef KPIMTEXTEDIT_TEXTEDIT_H
23 #define KPIMTEXTEDIT_TEXTEDIT_H
25 #include "kpimtextedit_export.h"
27 #include <kpimidentities/signature.h>
29 #include <KDE/KRichTextWidget>
31 #include <QtCore/QSharedPointer>
34 #define FIX_KMAIL_INSERT_IMAGE 1
38 namespace KPIMTextEdit {
40 class TextEditPrivate;
41 class EMailQuoteHighlighter;
66 typedef QSharedPointer<ImageWithName> ImageWithNamePtr;
67 typedef QList< ImageWithNamePtr > ImageWithNameList;
68 typedef QList< QSharedPointer<EmbeddedImage> > ImageList;
81 class KPIMTEXTEDIT_EXPORT
TextEdit :
public KRichTextWidget,
83 protected KTextEditSpellInterface
94 explicit TextEdit(
const QString &text, QWidget *parent = 0 );
100 explicit TextEdit( QWidget *parent = 0 );
110 explicit TextEdit( QWidget *parent,
const QString &configFile );
120 void enableImageActions();
127 void enableEmoticonActions();
129 void enableInsertHtmlActions();
131 void enableInsertTableActions();
146 virtual void createActions( KActionCollection *actionCollection );
154 void addImage(
const KUrl &url);
166 void addImage(
const KUrl &url,
int width,
int height);
178 void loadImage(
const QImage &image,
const QString &matchName,
const QString &resourceName );
184 void deleteCurrentLine();
193 ImageList embeddedImages()
const;
201 ImageWithNameList imagesWithName()
const;
207 QString toWrappedPlainText()
const;
212 QString toWrappedPlainText(QTextDocument *document)
const;
217 QString toCleanPlainText(
const QString& plainText)
const;
223 QString toCleanPlainText()
const;
241 bool isLineQuoted(
const QString &line )
const;
253 virtual int quoteLength(
const QString &line )
const;
259 virtual const QString defaultQuoteSign()
const;
278 static QByteArray imageNamesToContentIds(
const QByteArray &htmlBody,
279 const ImageList &imageList );
289 bool isFormattingUsed()
const;
295 QString configFile()
const;
300 bool isEnableImageActions()
const;
305 bool isEnableEmoticonActions()
const;
310 void insertImage(
const QImage &image,
const QFileInfo &info );
315 bool isEnableInsertHtmlActions()
const;
320 bool isEnableInsertTableActions()
const;
327 virtual bool canInsertFromMimeData(
const QMimeData *source )
const;
332 virtual void insertFromMimeData(
const QMimeData *source );
338 virtual bool eventFilter( QObject *o, QEvent *e );
344 virtual void keyPressEvent ( QKeyEvent *e );
352 virtual bool isSpellCheckingEnabled()
const;
357 virtual void setSpellCheckingEnabled(
bool enable );
363 virtual bool shouldBlockBeSpellChecked(
const QString &block )
const;
369 virtual void createHighlighter();
372 void addImageHelper(
const KUrl &url,
int width = -1,
int height = -1);
373 std::auto_ptr<TextEditPrivate>
const d;
374 friend class TextEditPrivate;
375 Q_PRIVATE_SLOT( d,
void _k_slotAddImage() )
376 Q_PRIVATE_SLOT( d,
void _k_slotDeleteLine() )
377 Q_PRIVATE_SLOT( d,
void _k_slotAddEmoticon(
const QString &) )
378 Q_PRIVATE_SLOT( d,
void _k_slotInsertHtml() )
379 Q_PRIVATE_SLOT( d,
void _k_slotFormatReset() )
380 Q_PRIVATE_SLOT( d,
void _k_slotTextModeChanged(KRichTextEdit::Mode) )
Holds information about an embedded HTML image that will be useful for mail clients.
QString name
The name of the image as it is available as a resource in the editor.
This highlighter highlights spelling mistakes and also highlightes quotes.
QString contentID
The content id of the embedded image.
Special textedit that provides additional features which are useful for PIM applications like mail cl...
Holds information about an embedded HTML image that will be generally useful.
QString imageName
Name of the image as it is available as a resource in the editor.
QByteArray image
The image, encoded as PNG with base64 encoding.