korganizer
koeditorattachments.h
00001 /* 00002 This file is part of KOrganizer. 00003 00004 Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> 00005 Copyright (c) 2005 Reinhold Kainhofer <reinhold@kainhofer.com> 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 KOEDITORATTACHMENTS_H 00026 #define KOEDITORATTACHMENTS_H 00027 00028 #include <qwidget.h> 00029 #include <kurl.h> 00030 00031 namespace KCal { 00032 class Incidence; 00033 class Attachment; 00034 } 00035 00036 class QListViewItem; 00037 class KListView; 00038 00039 class KOEditorAttachments : public QWidget 00040 { 00041 Q_OBJECT 00042 public: 00043 KOEditorAttachments( int spacing = 8, QWidget *parent = 0, 00044 const char *name = 0 ); 00045 ~KOEditorAttachments(); 00046 00047 void addAttachment( const KURL &uri, 00048 const QString &mimeType = QString::null, bool asUri = true ); 00049 void addAttachment( KCal::Attachment *attachment ); 00050 00052 void setDefaults(); 00054 void readIncidence( KCal::Incidence * ); 00056 void writeIncidence( KCal::Incidence * ); 00057 00058 bool hasAttachments(); 00059 00060 protected slots: 00061 void showAttachment( QListViewItem *item ); 00062 void slotAdd(); 00063 void slotAddData(); 00064 void slotEdit(); 00065 void slotRemove(); 00066 void slotShow(); 00067 void dragEnterEvent( QDragEnterEvent *event ); 00068 void dropEvent( QDropEvent *event ); 00069 signals: 00070 void openURL( const KURL &url ); 00071 00072 private: 00073 KListView *mAttachments; 00074 }; 00075 00076 #endif