formattingbackend.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef BLOKKAL_UIFORMATTINGBACKEND_H
00021 #define BLOKKAL_UIFORMATTINGBACKEND_H
00022
00023 #include "../blokkal_export.h"
00024
00025 #include <kxmlguiclient.h>
00026
00027 #include <QtCore/QObject>
00028
00029 namespace Blokkal {
00030
00031 namespace Ui {
00032 class EditEntryWidget;
00033 class HtmlEntryTextEdit;
00062 class BLOKKAL_EXPORT FormattingBackend : public QObject, public KXMLGUIClient
00063 {
00064 Q_OBJECT
00065 public:
00073 FormattingBackend( Blokkal::Ui::EditEntryWidget * parent );
00074
00078 virtual ~FormattingBackend( void );
00079
00090 virtual QString & formatForPreview( QString & richText ) const;
00091
00096 Blokkal::Ui::EditEntryWidget * editEntryWidget( void ) const;
00097
00098 protected:
00104 void insertTextAtCursor( const QString & text );
00105
00114 void frameSelection( const QString & front, const QString & tail );
00115
00119 QString & formatLinks( QString & richText ) const;
00120
00124 QString & formatLineBreaks( QString & richText ) const;
00125
00126 private:
00133 void setTextEdit( HtmlEntryTextEdit * textEdit );
00134
00135 friend class EditEntryWidget;
00136 class Private;
00137 Private * const d;
00138 };
00139
00140 }
00141
00142 }
00143
00144 #endif