KCal Library
vcaldrag.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "vcaldrag.h"
00024
00025 #include "vcalformat.h"
00026 #include <QtCore/QMimeData>
00027
00028 using namespace KCal;
00029
00030 QString VCalDrag::mimeType()
00031 {
00032 return "text/x-vCalendar";
00033 }
00034
00035 bool VCalDrag::populateMimeData( QMimeData *e, Calendar *cal )
00036 {
00037 VCalFormat format;
00038 QString calstr( format.toString( cal ) );
00039 if ( calstr.length() > 0 ) {
00040 e->setData( mimeType(), calstr.toUtf8() );
00041 }
00042 return canDecode( e );
00043 }
00044
00045 bool VCalDrag::canDecode( const QMimeData *me )
00046 {
00047 return me->hasFormat( mimeType() );
00048 }
00049
00050 bool VCalDrag::fromMimeData( const QMimeData *de, Calendar *cal )
00051 {
00052 if ( !canDecode( de ) ) {
00053 return false;
00054 }
00055
00056 bool success = false;
00057 QByteArray payload = de->data( mimeType() );
00058 if ( payload.size() ) {
00059 QString txt = QString::fromUtf8( payload.data() );
00060
00061 VCalFormat format;
00062 success = format.fromString( cal, txt );
00063 }
00064
00065 return success;
00066 }
00067