From c2d802049e48d1d6f0bce6eb0972fb26dc4d6ce3 Mon Sep 17 00:00:00 2001
From: Bernd Weimer <bweimer@blackberry.com>
Date: Mon, 14 Apr 2014 09:50:41 +0200
Subject: [PATCH] Always implement text input "canPaste" property

This is needed for TextField control for instance.
If QT_NO_CLIPBOARD is defined, canPaste will always return false.
Fixes dialogs auto test when QT_NO_CLIPBOARD is defined.

[ChangeLog][QtQuick][Platform Specific Changes] Added canPaste
property to TextInput element also on platforms that don't support
a clipboard (QT_NO_CLIPBOARD is defined).

Change-Id: Ia85205672ba59c1fce70852458c514b03d332de6
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
---
 src/quick/items/qquicktextinput.cpp | 6 ++++--
 src/quick/items/qquicktextinput_p.h | 4 ----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 5195911c5f..597025b796 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -2337,7 +2337,6 @@ void QQuickTextInput::setPersistentSelection(bool on)
     emit persistentSelectionChanged();
 }
 
-#ifndef QT_NO_CLIPBOARD
 /*!
     \qmlproperty bool QtQuick::TextInput::canPaste
 
@@ -2346,6 +2345,7 @@ void QQuickTextInput::setPersistentSelection(bool on)
 */
 bool QQuickTextInput::canPaste() const
 {
+#if !defined(QT_NO_CLIPBOARD)
     Q_D(const QQuickTextInput);
     if (!d->canPasteValid) {
         if (const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData())
@@ -2353,8 +2353,10 @@ bool QQuickTextInput::canPaste() const
         const_cast<QQuickTextInputPrivate *>(d)->canPasteValid = true;
     }
     return d->canPaste;
-}
+#else
+    return false;
 #endif
+}
 
 /*!
     \qmlproperty bool QtQuick::TextInput::canUndo
diff --git a/src/quick/items/qquicktextinput_p.h b/src/quick/items/qquicktextinput_p.h
index 5f0250aaf1..042859df17 100644
--- a/src/quick/items/qquicktextinput_p.h
+++ b/src/quick/items/qquicktextinput_p.h
@@ -99,9 +99,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickTextInput : public QQuickImplicitSizeItem
     Q_PROPERTY(bool selectByMouse READ selectByMouse WRITE setSelectByMouse NOTIFY selectByMouseChanged)
     Q_PROPERTY(SelectionMode mouseSelectionMode READ mouseSelectionMode WRITE setMouseSelectionMode NOTIFY mouseSelectionModeChanged)
     Q_PROPERTY(bool persistentSelection READ persistentSelection WRITE setPersistentSelection NOTIFY persistentSelectionChanged)
-#ifndef QT_NO_CLIPBOARD
     Q_PROPERTY(bool canPaste READ canPaste NOTIFY canPasteChanged)
-#endif
     Q_PROPERTY(bool canUndo READ canUndo NOTIFY canUndoChanged)
     Q_PROPERTY(bool canRedo READ canRedo NOTIFY canRedoChanged)
 #ifndef QT_NO_IM
@@ -256,9 +254,7 @@ public:
     QRectF boundingRect() const;
     QRectF clipRect() const;
 
-#ifndef QT_NO_CLIPBOARD
     bool canPaste() const;
-#endif
 
     bool canUndo() const;
     bool canRedo() const;
-- 
GitLab