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
39 namespace KPIMTextEdit {
41 class TextEditPrivate;
42 class EMailQuoteHighlighter;
67 typedef QSharedPointer<ImageWithName> ImageWithNamePtr;
68 typedef QList< ImageWithNamePtr > ImageWithNameList;
69 typedef QList< QSharedPointer<EmbeddedImage> > ImageList;
82 class KPIMTEXTEDIT_EXPORT
TextEdit :
public KRichTextWidget,
84 protected KTextEditSpellInterface
95 explicit TextEdit(
const QString &text, QWidget *parent = 0 );
101 explicit TextEdit( QWidget *parent = 0 );
111 explicit TextEdit( QWidget *parent,
const QString &configFile );
121 void enableImageActions();
128 void enableEmoticonActions();
130 void enableInsertHtmlActions();
132 void enableInsertTableActions();
148 virtual void createActions( KActionCollection *actionCollection );
156 void addImage(
const KUrl &url );
168 void addImage(
const KUrl &url,
int width,
int height );
183 void loadImage(
const QImage &image,
const QString &matchName,
const QString &resourceName );
189 void deleteCurrentLine();
198 ImageList embeddedImages()
const;
206 ImageWithNameList imagesWithName()
const;
212 QString toWrappedPlainText()
const;
217 QString toWrappedPlainText( QTextDocument *document )
const;
223 QString toCleanPlainText(
const QString &plainText )
const;
229 QString toCleanPlainText()
const;
247 bool isLineQuoted(
const QString &line )
const;
259 virtual int quoteLength(
const QString &line )
const;
265 virtual const QString defaultQuoteSign()
const;
284 static QByteArray imageNamesToContentIds(
const QByteArray &htmlBody,
285 const ImageList &imageList );
295 bool isFormattingUsed()
const;
301 QString configFile()
const;
306 bool isEnableImageActions()
const;
311 bool isEnableEmoticonActions()
const;
318 void insertImage(
const QImage &image,
const QFileInfo &info );
323 bool isEnableInsertHtmlActions()
const;
328 bool isEnableInsertTableActions()
const;
335 virtual bool canInsertFromMimeData(
const QMimeData *source )
const;
340 virtual void insertFromMimeData(
const QMimeData *source );
346 virtual bool eventFilter( QObject *o, QEvent *e );
352 virtual void keyPressEvent ( QKeyEvent *e );
360 virtual bool isSpellCheckingEnabled()
const;
365 virtual void setSpellCheckingEnabled(
bool enable );
371 virtual bool shouldBlockBeSpellChecked(
const QString &block )
const;
377 virtual void createHighlighter();
380 void addImageHelper(
const KUrl &url,
int width = -1,
int height = -1 );
381 std::auto_ptr<TextEditPrivate>
const d;
382 friend class TextEditPrivate;
383 Q_PRIVATE_SLOT( d,
void _k_slotAddImage() )
384 Q_PRIVATE_SLOT( d,
void _k_slotDeleteLine() )
385 Q_PRIVATE_SLOT( d,
void _k_slotAddEmoticon(
const QString & ) )
386 Q_PRIVATE_SLOT( d,
void _k_slotInsertHtml() )
387 Q_PRIVATE_SLOT( d,
void _k_slotFormatReset() )
388 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.