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
00070 signals:
00071
void textChanged(
const QString& );
00072
void iconChanged(
const QPixmap& );
00073
00074
protected:
00075
virtual bool openFile();
00076
virtual void guiActivateEvent(KParts::GUIActivateEvent *e);
00077
00078
private:
00079 KMKernel *kmailKernel;
00080 KMMainWidget *mainWidget;
00081 ActionManager *mActionManager;
00082 KMailBrowserExtension *m_extension;
00083 KMailStatusBarExtension *mStatusBar;
00084
QWidget *mParentWidget;
00085 };
00086
00087
class KMailBrowserExtension :
public KParts::BrowserExtension
00088 {
00089 Q_OBJECT
00090
friend class KMailPart;
00091
public:
00092 KMailBrowserExtension(KMailPart *parent);
00093
virtual ~KMailBrowserExtension();
00094 };
00095
00096
class KMailStatusBarExtension :
public KParts::StatusBarExtension
00097 {
00098
public:
00099 KMailStatusBarExtension( KMailPart *parent );
00100
00101 KMainWindow *mainWindow() const;
00102
00103 private:
00104 KMailPart *mParent;
00105 StatusbarProgressWidget *mLittleProgress;
00106 };
00107
00108 #endif