Path implementing more Cliboard from Marius Bugge Monsen.
authorzack <zack@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 May 2007 08:53:55 +0000 (08:53 +0000)
committerzack <zack@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 May 2007 08:53:55 +0000 (08:53 +0000)
Adding implementations of some of the missing methods.
r=me

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/qt/ClipboardQt.cpp

index a752b05d6da5a9edb2f6196c3b9b38ff27d73374..33c1e4cd49843ebfb8cb453e453992249736b0ed 100644 (file)
@@ -1,3 +1,15 @@
+2007-05-22  Marius Bugge Monsen  <mbm@trolltech.com>
+
+        Reviewed by Zack.
+
+        Implement some more functions in ClipboardQt.
+
+        * platform/qt/ClipboardQt.cpp:
+        (WebCore::ClipboardQt::ClipboardQt):
+        (WebCore::ClipboardQt::getData):
+        (WebCore::ClipboardQt::setData):
+        (WebCore::ClipboardQt::types):
+
 2007-05-21  Oliver Hunt  <oliver@apple.com>
 
         Reviewed by Sam.
index 41c36bf18898ef52f557042128d05405183e89be..0260d06ce9a32326147b4f364014902f7eb83435 100644 (file)
@@ -48,7 +48,7 @@ ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, const QMimeData* readable
     , m_readableData(readableClipboard)
     , m_writableData(0)
 {
-        ASSERT(m_readableData);
+    ASSERT(m_readableData);
 }    
 
 ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, bool forDragging)
@@ -79,22 +79,30 @@ void ClipboardQt::clearAllData()
 
 String ClipboardQt::getData(const String& type, bool& success) const 
 {
-    notImplemented();
-    return ""; 
+    ASSERT(m_writableData);
+    QByteArray data = m_writableData->data(QString(type));
+    success = !data.isEmpty();
+    return String(data.data(), data.size());
 }
 
 bool ClipboardQt::setData(const String& type, const String& data) 
 {
     ASSERT(m_writableData);
-    notImplemented();
-    return false;
+    QByteArray array(reinterpret_cast<const char*>(data.characters()),
+                     data.length());
+    m_writableData->setData(QString(type), array);
+    return true;
 }
 
 // extensions beyond IE's API
-HashSet<String> ClipboardQt::types() const 
+HashSet<String> ClipboardQt::types() const
 {
-    notImplemented();
     HashSet<String> result;
+    QStringList formats = m_writableData->formats();
+    for (int i = 0; i < formats.count(); ++i) {
+        String type(formats.at(i).toLatin1().data());
+        result.add(type);
+    }
     return result;
 }