krop's commit fixes my problem in a better way, reverting
[kdepim.git] / kmail / kmreadermainwin.h
blob4a16b3d45359fa657251b128a19d9ef65dc5e7cc
1 // -*- mode: C++; c-file-style: "gnu" -*-
3 #ifndef KMReaderMainWin_h
4 #define KMReaderMainWin_h
6 #include "secondarywindow.h"
8 #include <kurl.h>
10 #include <boost/scoped_ptr.hpp>
12 class KMReaderWin;
13 class KMMessage;
14 class KMMessagePart;
15 class KAction;
16 class KActionMenu;
17 class KFontAction;
18 class KFontSizeAction;
19 class CustomTemplatesMenu;
20 template <typename T, typename S> class QMap;
22 namespace KMail {
23 class MessageActions;
26 class KMReaderMainWin : public KMail::SecondaryWindow
28 Q_OBJECT
30 public:
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 );
40 /**
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 );
51 private slots:
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* );
56 void slotTrashMsg();
57 void slotPrintMsg();
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 );
75 private:
76 void initKMReaderMainWin();
77 void setupAccel();
78 void updateMessageMenu();
79 void updateCustomTemplateMenus();
81 KMReaderWin *mReaderWin;
82 KMMessage *mMsg;
83 KUrl mUrl;
84 // a few actions duplicated from kmmainwidget
85 KAction *mTrashAction, *mPrintAction, *mSaveAsAction, *mSaveAtmAction,
86 *mViewSourceAction;
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*/