2
* Copyright (C) 2007 Apple Inc. All rights reserved.
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
7
* 1. Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* 2. Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
13
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
#include "ClipboardQt.h"
31
#include "DocumentFragment.h"
33
#include "NotImplemented.h"
41
bool DragData::canSmartReplace() const
46
bool DragData::containsColor() const
52
bool DragData::containsFiles() const
58
void DragData::asFilenames(Vector<String>& result) const
62
bool DragData::containsPlainText() const
64
return m_platformDragData->hasText() || m_platformDragData->hasUrls();
67
String DragData::asPlainText() const
69
String text = m_platformDragData->text();
73
// FIXME: Should handle rich text here
78
Color DragData::asColor() const
84
Clipboard* DragData::createClipboard(ClipboardAccessPolicy policy) const
86
return new ClipboardQt(policy, m_platformDragData, true);
89
bool DragData::containsCompatibleContent() const
91
return containsColor() || containsURL() || containsColor() || m_platformDragData->hasHtml() || m_platformDragData->hasText();
94
bool DragData::containsURL() const
96
return m_platformDragData->hasUrls();
99
String DragData::asURL(String* title) const
101
QList<QUrl> urls = m_platformDragData->urls();
102
return urls.first().toString();
106
PassRefPtr<DocumentFragment> DragData::asFragment(Document* doc) const
108
if (m_platformDragData->hasHtml())
109
return createFragmentFromMarkup(doc, m_platformDragData->html(), "");