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 TQMimeSource;
00036 class TQDropEvent;
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 TQ_OBJECT
00050
00051 public:
00052 KMailPlugin( Kontact::Core *core, const char *name, const TQStringList& );
00053 ~KMailPlugin();
00054
00055 virtual bool isRunningStandalone();
00056 virtual bool createDCOPInterface( const TQString& serviceType );
00057 virtual Kontact::Summary *createSummaryWidget( TQWidget *parent );
00058 virtual TQString tipFile() const;
00059 int weight() const { return 200; }
00060
00061 virtual TQStringList invisibleToolbarActions() const;
00062 virtual bool queryClose() const;
00063
00064
00065 void loadProfile( const TQString& profileDirectory );
00066
00067
00068 void saveToProfile( const TQString& profileDirectory );
00069
00070 protected:
00071 virtual KParts::ReadOnlyPart* createPart();
00072 void openComposer( const KURL& = KURL() );
00073 void openComposer( const TQString& to );
00074 bool canDecodeDrag( TQMimeSource * );
00075 void processDropEvent( TQDropEvent * );
00076
00077
00078 protected slots:
00079 void slotNewMail();
00080 void slotSyncFolders();
00081
00082 private:
00083 KMailIface_stub *mStub;
00084 Kontact::UniqueAppWatcher *mUniqueAppWatcher;
00085 };
00086
00087 #endif