1/*
2 This file is part of the kcalutils library.
3
4 Copyright (c) 1998 Preston Brown <pbrown@kde.org>
5 Copyright (c) 2001-2003 Cornelius Schumacher <schumacher@kde.org>
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
21*/
22#ifndef KCALUTILS_ICALDRAG_H
23#define KCALUTILS_ICALDRAG_H
24
25#include "kcalutils_export.h"
26
27#include <kcalcore/memorycalendar.h>
28
29class QMimeData;
30
31namespace KCalUtils {
32
33/**
34 iCalendar drag&drop class.
35*/
36namespace ICalDrag {
37/**
38 Mime-type of iCalendar
39*/
40KCALUTILS_EXPORT QString mimeType();
41
42/**
43 Sets the iCalendar representation as data of the drag object
44*/
45KCALUTILS_EXPORT bool populateMimeData(QMimeData *e,
46 const KCalCore::MemoryCalendar::Ptr &cal);
47
48/**
49 Return, if drag&drop object can be decode to iCalendar.
50*/
51KCALUTILS_EXPORT bool canDecode(const QMimeData *);
52
53/**
54 Decode drag&drop object to iCalendar component \a cal.
55*/
56KCALUTILS_EXPORT bool fromMimeData(const QMimeData *e,
57 const KCalCore::MemoryCalendar::Ptr &cal);
58}
59
60}
61
62#endif
63