00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef KMail_PART_H
00026
#define KMail_PART_H
00027
00028
#include "kmailpartIface.h"
00029
00030
#include <kdeversion.h>
00031
#include <kparts/browserextension.h>
00032
#include <kparts/statusbarextension.h>
00033
#include <kparts/factory.h>
00034
#include <kparts/event.h>
00035
#include <qwidget.h>
00036
00037
class KInstance;
00038
class KAboutData;
00039
class KMailBrowserExtension;
00040
class KMailStatusBarExtension;
00041
class KMKernel;
00042
class KMMainWidget;
00043
namespace KPIM {
class StatusbarProgressWidget; }
00044
using KPIM::StatusbarProgressWidget;
00045
class KMFolder;
00046
class KMFolderTreeItem;
00047
00048
class ActionManager;
00049
00050
class KMailPart:
public KParts::ReadOnlyPart,
virtual public KMailPartIface
00051 {
00052 Q_OBJECT
00053
public:
00054 KMailPart(
QWidget *parentWidget,
const char *widgetName,
00055
QObject *parent,
const char *name,
const QStringList &);
00056
virtual ~KMailPart();
00057
00058
QWidget* parentWidget() const;
00059
00060 static KAboutData *createAboutData();
00061
00062 public slots:
00063 virtual
void save() { }
00064
virtual void exit();
00065
virtual void updateEditMenu() {};
00066
void exportFolder(
KMFolder* folder );
00067
void slotIconChanged( KMFolderTreeItem *fti );
00068
void slotNameChanged( KMFolderTreeItem *fti );
00069
void slotToolbarChanged();
00070
00071 signals:
00072
void textChanged(
const QString& );
00073
void iconChanged(
const QPixmap& );
00074
00075
protected:
00076
virtual bool openFile();
00077
virtual void guiActivateEvent(KParts::GUIActivateEvent *e);
00078
00079
private:
00080 KMKernel *kmailKernel;
00081 KMMainWidget *mainWidget;
00082 ActionManager *mActionManager;
00083 KMailBrowserExtension *m_extension;
00084 KMailStatusBarExtension *mStatusBar;
00085
QWidget *mParentWidget;
00086 };
00087
00088
class KMailBrowserExtension :
public KParts::BrowserExtension
00089 {
00090 Q_OBJECT
00091
friend class KMailPart;
00092
public:
00093 KMailBrowserExtension(KMailPart *parent);
00094
virtual ~KMailBrowserExtension();
00095 };
00096
00097
class KMailStatusBarExtension :
public KParts::StatusBarExtension
00098 {
00099
public:
00100 KMailStatusBarExtension( KMailPart *parent );
00101
00102 KMainWindow *mainWindow() const;
00103
00104 private:
00105 KMailPart *mParent;
00106 StatusbarProgressWidget *mLittleProgress;
00107 };
00108
00109 #endif