1 // -*- mode: C++; c-file-style: "gnu" -*-
3 #ifndef KMReaderMainWin_h
4 #define KMReaderMainWin_h
6 #include "secondarywindow.h"
10 #include <boost/scoped_ptr.hpp>
18 class KFontSizeAction
;
19 class CustomTemplatesMenu
;
20 template <typename T
, typename S
> class QMap
;
26 class KMReaderMainWin
: public KMail::SecondaryWindow
31 KMReaderMainWin( bool htmlOverride
, bool htmlLoadExtOverride
, char *name
= 0 );
32 KMReaderMainWin( char *name
= 0 );
33 KMReaderMainWin(KMMessagePart
* aMsgPart
,
34 bool aHTML
, const QString
& aFileName
, const QString
& pname
,
35 const QString
& encoding
, char *name
= 0 );
36 virtual ~KMReaderMainWin();
38 void setUseFixedFont( bool useFixedFont
);
41 * take ownership of and show @param msg
43 * The last two paramters, serNumOfOriginalMessage and nodeIdOffset, are needed when @p msg
44 * is derived from another message, e.g. the user views an encapsulated message in this window.
45 * Then, the reader needs to know about that original message, so those to paramters are passed
46 * onto setOriginalMsg() of KMReaderWin.
48 void showMsg( const QString
& encoding
, KMMessage
*msg
,
49 unsigned long serNumOfOriginalMessage
= 0, int nodeIdOffset
= -1 );
52 void slotMsgPopup(KMMessage
&aMsg
, const KUrl
&aUrl
, const QPoint
& aPoint
);
54 /** Copy selected messages to folder with corresponding to given QAction */
55 void slotCopySelectedMessagesToFolder( QAction
* );
58 void slotForwardInlineMsg();
59 void slotForwardAttachedMsg();
60 void slotRedirectMsg();
61 void slotShowMsgSrc();
62 void slotFontAction(const QString
&);
63 void slotSizeAction(int);
64 void slotCreateTodo();
65 void slotCustomReplyToMsg( const QString
&tmpl
);
66 void slotCustomReplyAllToMsg( const QString
&tmpl
);
67 void slotCustomForwardMsg( const QString
&tmpl
);
69 void slotEditToolbars();
70 void slotConfigChanged();
71 void slotUpdateToolbars();
73 void slotFolderRemoved( QObject
* folderPtr
);
76 void initKMReaderMainWin();
78 void updateMessageMenu();
79 void updateCustomTemplateMenus();
81 KMReaderWin
*mReaderWin
;
84 // a few actions duplicated from kmmainwidget
85 KAction
*mTrashAction
, *mPrintAction
, *mSaveAsAction
, *mSaveAtmAction
,
87 KActionMenu
*mCopyActionMenu
;
88 KFontAction
*fontAction
;
89 KFontSizeAction
*fontSizeAction
;
90 KMail::MessageActions
*mMsgActions
;
92 // Custom template actions menu
93 boost::scoped_ptr
<CustomTemplatesMenu
> mCustomTemplateMenus
;
96 #endif /*KMReaderMainWin_h*/