00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef KMAIL_PLUGIN_H
00025
#define KMAIL_PLUGIN_H
00026
00027
#include <klocale.h>
00028
#include <kparts/part.h>
00029
00030
#include "kmailIface_stub.h"
00031
#include <plugin.h>
00032
#include <summary.h>
00033
#include <uniqueapphandler.h>
00034
00035
class QMimeSource;
00036
class QDropEvent;
00037
00038
class KMailUniqueAppHandler :
public Kontact::UniqueAppHandler
00039 {
00040
public:
00041 KMailUniqueAppHandler(
Kontact::Plugin* plugin ) : Kontact::UniqueAppHandler( plugin ) {}
00042
virtual void loadCommandLineOptions();
00043
virtual int newInstance();
00044 };
00045
00046
class KMailPlugin :
public Kontact::Plugin
00047 {
00048 Q_OBJECT
00049
00050
public:
00051 KMailPlugin(
Kontact::Core *core,
const char *name,
const QStringList& );
00052 ~KMailPlugin();
00053
00054
virtual bool isRunningStandalone();
00055
virtual bool createDCOPInterface(
const QString& serviceType );
00056
virtual Kontact::Summary *createSummaryWidget(
QWidget *parent );
00057
virtual QString tipFile() const;
00058
00059 virtual
QStringList invisibleToolbarActions() const;
00060 virtual
bool queryClose() const;
00061 protected:
00062 virtual KParts::Part* createPart();
00063
void openComposer( const KURL& );
00064
bool canDecodeDrag(
QMimeSource * );
00065
void processDropEvent(
QDropEvent * );
00066
00067
00068 protected slots:
00069
void slotNewMail();
00070
00071 private:
00072 KMailIface_stub *mStub;
00073 Kontact::UniqueAppWatcher *mUniqueAppWatcher;
00074 };
00075
00076 #endif