libkonq
konqmimedata.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "konqmimedata.h"
00021 #include <QtCore/QMimeData>
00022 #include <kdebug.h>
00023
00024 void KonqMimeData::populateMimeData( QMimeData* mimeData,
00025 const KUrl::List& kdeURLs,
00026 const KUrl::List& mostLocalURLs,
00027 bool cut )
00028 {
00029 mostLocalURLs.populateMimeData( mimeData );
00030
00031 if ( !kdeURLs.isEmpty() )
00032 {
00033 QMimeData tmpMimeData;
00034 kdeURLs.populateMimeData(&tmpMimeData);
00035 mimeData->setData("application/x-kde-urilist",tmpMimeData.data("text/uri-list"));
00036 }
00037
00038 QByteArray cutSelectionData = cut ? "1" : "0";
00039 mimeData->setData( "application/x-kde-cutselection", cutSelectionData );
00040
00041
00042 QString application_x_qiconlist;
00043 int items=qMax(kdeURLs.count(),mostLocalURLs.count());
00044 for (int i=0;i<items;i++) {
00045 int offset=i*16;
00046 QString tmp("%1$@@$%2$@@$32$@@$32$@@$%3$@@$%4$@@$32$@@$16$@@$no data$@@$");
00047 tmp=tmp.arg(offset).arg(offset).arg(offset).arg(offset+40);
00048 application_x_qiconlist+=tmp;
00049 }
00050 mimeData->setData("application/x-qiconlist",application_x_qiconlist.toLatin1());
00051 kDebug(1203)<<"setting application/x-qiconlist to "<<application_x_qiconlist;
00052
00053 }
00054
00055 bool KonqMimeData::decodeIsCutSelection( const QMimeData *mimeData )
00056 {
00057 QByteArray a = mimeData->data( "application/x-kde-cutselection" );
00058 if ( a.isEmpty() )
00059 return false;
00060 else
00061 {
00062 kDebug(1203) << "KonqDrag::decodeIsCutSelection : a=" << a;
00063 return (a.at(0) == '1');
00064 }
00065 }