Emit clipboard changed signal
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>
Tue, 3 Apr 2012 09:06:26 +0000 (12:06 +0300)
committerLaszlo Agocs <laszlo.p.agocs@nokia.com>
Tue, 3 Apr 2012 10:28:16 +0000 (12:28 +0200)
The signal was never emitted. The setNewClipboardMimeData() function
was not in use at all. The function is now removed and the signals are
emitted properly in all cases.

Change-Id: Iec42acab8e7d90084c836fa27a79982482ad8078
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
src/plugins/platforms/wayland/qwaylanddatadevicemanager.cpp
src/plugins/platforms/wayland/qwaylanddatadevicemanager.h

index b9c2c67..334906a 100644 (file)
@@ -179,6 +179,8 @@ void QWaylandDataDeviceManager::selection(void *data,
 
     mime = static_cast<QWaylandDataOffer *>(wl_data_offer_get_user_data(id));
     handler->m_selection_data_offer = mime;
+
+    QGuiApplicationPrivate::platformIntegration()->clipboard()->emitChanged(QClipboard::Clipboard);
 }
 
 const struct wl_data_device_listener QWaylandDataDeviceManager::transfer_device_listener = {
@@ -223,17 +225,6 @@ struct wl_data_device *QWaylandDataDeviceManager::getDataDevice(QWaylandInputDev
     return transfer_device;
 }
 
-void QWaylandDataDeviceManager::setNewClipboardMimeData(QWaylandDataOffer *mime)
-{
-    if (m_selection_data_offer) {
-        qDebug() << "This function should not be called when there is an exising selection";
-        delete m_selection_data_offer;
-    }
-    m_selection_data_offer = mime;
-    QGuiApplicationPrivate::platformIntegration()->clipboard()->emitChanged(QClipboard::Clipboard);
-}
-
-
 QWaylandDataOffer *QWaylandDataDeviceManager::selectionTransfer() const
 {
     return m_selection_data_offer;
@@ -303,6 +294,8 @@ void QWaylandDataDeviceManager::createAndSetSelectionSource(QMimeData *mimeData,
     m_selection_data_source = transfer_source;
     struct wl_data_device *transfer_device = m_display->lastKeyboardFocusInputDevice()->transferDevice();
     wl_data_device_set_selection(transfer_device,transfer_source->handle(),QWaylandDisplay::currentTimeMillisec());
+
+    QGuiApplicationPrivate::platformIntegration()->clipboard()->emitChanged(QClipboard::Clipboard);
 }
 
 QWaylandDataSource *QWaylandDataDeviceManager::selectionTransferSource()
index 21d8bfb..4eaf137 100644 (file)
@@ -63,7 +63,6 @@ public:
 
     struct wl_data_device *getDataDevice(QWaylandInputDevice *inputDevice);
 
-    void setNewClipboardMimeData(QWaylandDataOffer *mimeData);
     QWaylandDataOffer *selectionTransfer() const;
 
     void createAndSetDrag(QDrag *drag);