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 if (mostLocalURLs.isEmpty())
00030 kdeURLs.populateMimeData(mimeData);
00031 else
00032 kdeURLs.populateMimeData(mostLocalURLs, mimeData);
00033
00034 addIsCutSelection(mimeData, cut);
00035
00036
00037 QString application_x_qiconlist;
00038 int items=qMax(kdeURLs.count(),mostLocalURLs.count());
00039 for (int i=0;i<items;i++) {
00040 int offset=i*16;
00041 QString tmp("%1$@@$%2$@@$32$@@$32$@@$%3$@@$%4$@@$32$@@$16$@@$no data$@@$");
00042 tmp=tmp.arg(offset).arg(offset).arg(offset).arg(offset+40);
00043 application_x_qiconlist+=tmp;
00044 }
00045 mimeData->setData("application/x-qiconlist",application_x_qiconlist.toLatin1());
00046
00047 }
00048
00049 bool KonqMimeData::decodeIsCutSelection( const QMimeData *mimeData )
00050 {
00051 QByteArray a = mimeData->data( "application/x-kde-cutselection" );
00052 if ( a.isEmpty() )
00053 return false;
00054 else
00055 {
00056 kDebug(1203) << "KonqDrag::decodeIsCutSelection : a=" << a;
00057 return (a.at(0) == '1');
00058 }
00059 }
00060
00061 void KonqMimeData::addIsCutSelection(QMimeData* mimeData,
00062 bool cut)
00063 {
00064 const QByteArray cutSelectionData = cut ? "1" : "0";
00065 mimeData->setData("application/x-kde-cutselection", cutSelectionData);
00066 }