From 7d540590dfce9f3c3773ca25486b3089b002c553 Mon Sep 17 00:00:00 2001 From: suhyung Eom Date: Wed, 11 May 2016 08:14:14 +0900 Subject: [PATCH] Fixed clipboard disappearing issue on selection Signed-off-by: suhyung Eom Change-Id: I10a4d3cde28b196eb306d08c0d4a7c85976cc1c4 --- dali-toolkit/internal/text/text-controller-impl.cpp | 7 ++++++- dali-toolkit/internal/text/text-controller-impl.h | 6 +++++- dali-toolkit/internal/text/text-controller.cpp | 5 +++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/dali-toolkit/internal/text/text-controller-impl.cpp b/dali-toolkit/internal/text/text-controller-impl.cpp index c3b2346..e77f00d 100644 --- a/dali-toolkit/internal/text/text-controller-impl.cpp +++ b/dali-toolkit/internal/text/text-controller-impl.cpp @@ -1390,12 +1390,17 @@ void Controller::Impl::ShowClipboard() void Controller::Impl::HideClipboard() { - if( mClipboard ) + if( mClipboard && mClipboardHideEnabled ) { mClipboard.HideClipboard(); } } +void Controller::Impl::SetClipboardHideEnable(bool enable) +{ + mClipboardHideEnabled = enable; +} + bool Controller::Impl::CopyStringToClipboard( std::string& source ) { //Send string to clipboard diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index 99b0c69..ce8a291 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -300,7 +300,8 @@ struct Controller::Impl mOperationsPending( NO_OPERATION ), mMaximumNumberOfCharacters( 50u ), mRecalculateNaturalSize( true ), - mMarkupProcessorEnabled( false ) + mMarkupProcessorEnabled( false ), + mClipboardHideEnabled( true ) { mLogicalModel = LogicalModel::New(); mVisualModel = VisualModel::New(); @@ -523,6 +524,8 @@ struct Controller::Impl void HideClipboard(); + void SetClipboardHideEnable(bool enable); + bool CopyStringToClipboard( std::string& source ); void SendSelectionToClipboard( bool deleteAfterSending ); @@ -655,6 +658,7 @@ public: bool mRecalculateNaturalSize:1; ///< Whether the natural size needs to be recalculated. bool mMarkupProcessorEnabled:1; ///< Whether the mark-up procesor is enabled. + bool mClipboardHideEnabled:1; ///< Whether the ClipboardHide function work or not }; } // namespace Text diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index c733384..3a211e1 100644 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -2335,8 +2335,13 @@ void Controller::PasteClipboardItemEvent() // Commit the current pre-edit text; the contents of the clipboard should be appended mImpl->ResetImfManager(); + // Temporary disable hiding clipboard + mImpl->SetClipboardHideEnable( false ); + // Paste PasteText( stringToPaste ); + + mImpl->SetClipboardHideEnable( true ); } void Controller::TextPopupButtonTouched( Dali::Toolkit::TextSelectionPopup::Buttons button ) -- 2.7.4