You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.8 KiB
131 lines
3.8 KiB
/* |
|
This file is part of KMail. |
|
|
|
Copyright (c) 2003 Steffen Hansen <steffen@klaralvdalens-datakonsult.se> |
|
Copyright (c) 2003 Bo Thorsen <bo@klaralvdalens-datakonsult.se> |
|
|
|
This library is free software; you can redistribute it and/or |
|
modify it under the terms of the GNU Library General Public |
|
License as published by the Free Software Foundation; either |
|
version 2 of the License, or (at your option) any later version. |
|
|
|
This library is distributed in the hope that it will be useful, |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
Library General Public License for more details. |
|
|
|
You should have received a copy of the GNU Library General Public License |
|
along with this library; see the file COPYING.LIB. If not, write to |
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|
Boston, MA 02111-1307, USA. |
|
*/ |
|
|
|
#ifndef KMAILICALIFACEIMPL_H |
|
#define KMAILICALIFACEIMPL_H |
|
|
|
#include "kmailicalIface.h" |
|
|
|
#include <kfoldertree.h> |
|
|
|
#include "kmfoldertype.h" |
|
|
|
class KMFolder; |
|
class KMMessage; |
|
class KMFolderDir; |
|
class KMFolderTreeItem; |
|
|
|
|
|
class KMailICalIfaceImpl : public QObject, virtual public KMailICalIface { |
|
Q_OBJECT |
|
public: |
|
KMailICalIfaceImpl(); |
|
|
|
virtual bool addIncidence( const QString& folder, const QString& uid, |
|
const QString& ical ); |
|
virtual bool deleteIncidence( const QString& folder, const QString& uid ); |
|
virtual QStringList incidences( const QString& folder ); |
|
|
|
// tell KOrganizer about messages to be deleted |
|
void msgRemoved( KMFolder*, KMMessage* ); |
|
|
|
/** Initialize all folders. */ |
|
void initFolders(); |
|
|
|
/** Disconnect all slots and close the dirs. */ |
|
void cleanup(); |
|
|
|
/** |
|
* Returns true if resource mode is enabled and folder is one of the |
|
* resource folders. |
|
*/ |
|
bool isResourceImapFolder( KMFolder* folder ) const; |
|
|
|
/** |
|
* Returns the resource folder type. Other is returned if resource |
|
* isn't enabled or it isn't a resource folder. |
|
*/ |
|
KFolderTreeItem::Type folderType( KMFolder* folder ) const; |
|
|
|
/** |
|
* Returns the name of the standard icon for a folder of given type or |
|
* QString::null if the type is no groupware type. |
|
*/ |
|
QString folderPixmap( KFolderTreeItem::Type type ) const; |
|
|
|
/** Returns the localized name of a folder of given type. |
|
*/ |
|
QString folderName( KFolderTreeItem::Type type, int language = -1 ) const; |
|
|
|
/** Get the folder that holds *type* entries */ |
|
KMFolder* folderFromType( const QString& type ); |
|
|
|
/** Return the ical type of a folder */ |
|
QString icalFolderType( KMFolder* folder ) const; |
|
|
|
/* (Re-)Read configuration file */ |
|
void readConfig(); |
|
|
|
/** Find message matching a given UID. */ |
|
static KMMessage* findMessageByUID( const QString& uid, KMFolder* folder ); |
|
|
|
/** Convenience function to delete a message. */ |
|
static void deleteMsg( KMMessage* msg ); |
|
|
|
bool isEnabled() const { return mUseResourceIMAP; } |
|
|
|
public slots: |
|
void slotIncidenceAdded( KMFolder* folder, Q_UINT32 sernum ); |
|
void slotIncidenceDeleted( KMFolder* folder, Q_UINT32 sernum ); |
|
void slotRefresh( const QString& type); |
|
|
|
private slots: |
|
void slotRefreshCalendar(); |
|
void slotRefreshTasks(); |
|
void slotRefreshJournals(); |
|
void slotRefreshContacts(); |
|
void slotRefreshNotes(); |
|
|
|
private: |
|
/** Helper function for initFolders. Initializes a single folder. */ |
|
KMFolder* initFolder( KFolderTreeItem::Type itemType, const char* typeString ); |
|
|
|
void loadPixmaps() const; |
|
|
|
KMFolder* mContacts; |
|
KMFolder* mCalendar; |
|
KMFolder* mNotes; |
|
KMFolder* mTasks; |
|
KMFolder* mJournals; |
|
|
|
unsigned int mFolderLanguage; |
|
|
|
KMFolderDir* mFolderParent; |
|
KMFolderType mFolderType; |
|
|
|
// groupware folder icons: |
|
static QPixmap *pixContacts, *pixCalendar, *pixNotes, *pixTasks; |
|
|
|
bool mUseResourceIMAP; |
|
}; |
|
|
|
#endif // KMAILICALIFACEIMPL_H
|
|
|