kmail Library API Documentation

kmail_part.h

00001 /*
00002     This file is part of KMail.
00003     Copyright (c) 2002-2003 Don Sanders <sanders@kde.org>,
00004     Copyright (c) 2003      Zack Rusin  <zack@kde.org>,
00005     Based on the work of Cornelius Schumacher <schumacher@kde.org>
00006 
00007     This program is free software; you can redistribute it and/or modify
00008     it under the terms of the GNU General Public License as published by
00009     the Free Software Foundation; either version 2 of the License, or
00010     (at your option) any later version.
00011 
00012     This program is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00015     GNU General Public License for more details.
00016 
00017     You should have received a copy of the GNU General Public License
00018     along with this program; if not, write to the Free Software
00019     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00020 
00021     As a special exception, permission is given to link this program
00022     with any edition of Qt, and distribute the resulting executable,
00023     without including the source code for Qt in the source distribution.
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() { /*TODO*/ }
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
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Apr 4 04:48:24 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003