You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
5.0 KiB
183 lines
5.0 KiB
/* kmail main window |
|
* Maintained by Stefan Taferner <taferner@kde.org> |
|
* This code is under the GPL |
|
*/ |
|
#ifndef __KMMAINWIN |
|
#define __KMMAINWIN |
|
|
|
#include "kmtopwidget.h" |
|
#include "qvaluelist.h" |
|
#include <qmap.h> |
|
|
|
class KMFolder; |
|
class KMFolderDir; |
|
class KMFolderTree; |
|
class KMHeaders; |
|
class KMReaderWin; |
|
class QSplitter; |
|
class KMenuBar; |
|
class KToolBar; |
|
class KStatusBar; |
|
class KMMessage; |
|
class KMFolder; |
|
class KMAccount; |
|
class KMLittleProgressDlg; |
|
|
|
#define KMMainWinInherited KMTopLevelWidget |
|
typedef QMap<int,KMFolder*> KMMenuToFolder; |
|
|
|
class KMMainWin : public KMTopLevelWidget |
|
{ |
|
Q_OBJECT |
|
|
|
public: |
|
KMMainWin(QWidget *parent = 0, char *name = 0); |
|
virtual ~KMMainWin(); |
|
|
|
/** Read configuration options before widgets are created. */ |
|
virtual void readPreConfig(void); |
|
|
|
/** Read configuration options after widgets are created. */ |
|
virtual void readConfig(void); |
|
|
|
/** Write configuration options. */ |
|
virtual void writeConfig(void); |
|
|
|
/** Insert a text field to the status bar and return ID of this field. */ |
|
virtual int statusBarAddItem(const char* text); |
|
|
|
/** Change contents of a text field. */ |
|
virtual void statusBarChangeItem(int id, const char* text); |
|
|
|
/** Easy access to main components of the window. */ |
|
KMReaderWin* messageView(void) const { return mMsgView; } |
|
KToolBar* toolBar(void) const { return mToolBar; } |
|
KStatusBar* statusBar(void) const { return mStatusBar; } |
|
KMFolderTree* folderTree(void) const { return mFolderTree; } |
|
|
|
// Returns a popupmenu containing a hierarchy of folder names |
|
// starting at the given (aFolderDir) folder directory |
|
// Each item in the popupmenu is connected to a slot, if |
|
// move is TRUE this slot will cause all selected messages to |
|
// be moved into the given folder, otherwise messages will be |
|
// copied. |
|
// Am empty KMMenuToFolder must be passed in. |
|
virtual QPopupMenu* folderToPopupMenu(KMFolderDir* aFolderDir, |
|
bool move, |
|
QObject *receiver, |
|
KMMenuToFolder *aMenuToFolder); |
|
|
|
public slots: |
|
virtual void show(); |
|
virtual void hide(); |
|
void slotCheckMail(); // sven moved here as public |
|
void slotAtmMsg(KMMessage *msg); //sven: called from reader |
|
|
|
/** Output given message in the statusbar message field. */ |
|
void statusMsg(const QString& text); |
|
|
|
protected: |
|
void setupMenuBar(); |
|
void setupToolBar(); |
|
void setupStatusBar(); |
|
void createWidgets(); |
|
void activatePanners(); |
|
void showMsg(KMReaderWin *win, KMMessage *msg); |
|
|
|
protected slots: |
|
void slotCheckOneAccount(int); |
|
void slotNewMail(); |
|
void getAccountMenu(); |
|
void slotMenuActivated(); |
|
void slotClose(); |
|
void slotHelp(); |
|
void slotNewMailReader(); |
|
void slotSettings(); |
|
void slotFilter(); |
|
void slotAddrBook(); |
|
void slotUnimplemented(); |
|
void slotViewChange(); |
|
void slotAddFolder(); |
|
void slotCompose(); |
|
void slotModifyFolder(); |
|
void slotRemoveFolder(); |
|
void slotEmptyFolder(); |
|
void slotCompactFolder(); |
|
void slotReplyToMsg(); |
|
void slotReplyAllToMsg(); |
|
void slotForwardMsg(); |
|
void slotBounceMsg(); |
|
void slotEditMsg(); |
|
void slotDeleteMsg(); |
|
void slotUndo(); |
|
void slotSaveMsg(); |
|
void slotPrintMsg(); |
|
void slotMoveMsg(); |
|
void slotMoveMsgToFolder( KMFolder *dest); |
|
void slotCopyMsg(); |
|
void slotResendMsg(); |
|
void slotApplyFilters(); |
|
void slotSetMsgStatus(int); |
|
void slotShowMsgSrc(); |
|
void slotSetHeaderStyle(int); |
|
void slotSendQueued(); |
|
void slotMsgPopup(const char* url, const QPoint&); |
|
void slotUrlClicked(const char* url, int button); |
|
void slotCopyText(); |
|
void slotMarkAll(); |
|
|
|
/** etc. */ |
|
void folderSelected(KMFolder*); |
|
void slotMsgSelected(KMMessage*); |
|
void slotMsgActivated(KMMessage*); |
|
void quit(); |
|
|
|
/** Operations on mailto: URLs. */ |
|
void slotMailtoCompose(); |
|
void slotMailtoReply(); |
|
void slotMailtoForward(); |
|
void slotMailtoAddAddrBook(); |
|
|
|
/** Open URL in mUrlCurrent using Kfm. */ |
|
void slotUrlOpen(); |
|
|
|
/** Copy URL in mUrlCurrent to clipboard. Removes "mailto:" at |
|
beginning of URL before copying. */ |
|
void slotUrlCopy(); |
|
|
|
// Move selected messages to folder with corresponding to given menuid |
|
virtual void moveSelectedToFolder( int menuId ); |
|
// Copy selected messages to folder with corresponding to given menuid |
|
virtual void copySelectedToFolder( int menuId ); |
|
// Update the "Move to" and "Copy to" popoutmenus in the Messages menu. |
|
virtual void updateMessageMenu(); |
|
|
|
protected: |
|
KMenuBar *mMenuBar; |
|
KToolBar *mToolBar; |
|
KStatusBar *mStatusBar; |
|
KMFolderTree *mFolderTree; |
|
KMReaderWin *mMsgView; |
|
QSplitter *mHorizPanner, *mVertPanner; |
|
KMHeaders *mHeaders; |
|
KMFolder *mFolder; |
|
QPopupMenu *mViewMenu, *mBodyPartsMenu; |
|
bool mIntegrated; |
|
bool mSendOnCheck; |
|
bool mBeepOnNew, mBoxOnNew, mExecOnNew; |
|
QString mNewMailCmd; |
|
int mMessageStatusId; |
|
QValueList<int> *mHorizPannerSep, *mVertPannerSep; |
|
QString mUrlCurrent; |
|
QPopupMenu *actMenu; |
|
QPopupMenu *fileMenu; |
|
bool mLongFolderList; |
|
bool mStartupDone; |
|
KMMenuToFolder mMenuToFolder; |
|
int copyId, moveId; |
|
QPopupMenu *messageMenu; |
|
KMLittleProgressDlg *littleProgress; |
|
}; |
|
|
|
#endif |
|
|
|
|