X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-field-impl.cpp;h=fbe2fd536f79bdea08c1e968490058d766d731ed;hp=ce6e9f059b023c16793a8d599ff9625c13f4adb7;hb=6a58cf6dc58bc4d8810f545ea700959d59485ae1;hpb=31df2b9472ccbe0ae460a958535be8ef790c96f2 diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index ce6e9f0..fbe2fd5 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1006,6 +1006,13 @@ void TextField::OnKeyInputFocusGained() imfManager.SetRestoreAfterFocusLost( true ); } + ClipboardEventNotifier notifier( ClipboardEventNotifier::Get() ); + + if ( notifier ) + { + notifier.ContentSelectedSignal().Connect( this, &TextField::OnClipboardTextSelected ); + } + mController->KeyboardFocusGainEvent(); EmitKeyInputFocusSignal( true ); // Calls back into the Control hence done last. @@ -1029,6 +1036,13 @@ void TextField::OnKeyInputFocusLost() imfManager.EventReceivedSignal().Disconnect( this, &TextField::OnImfEvent ); } + ClipboardEventNotifier notifier( ClipboardEventNotifier::Get() ); + + if ( notifier ) + { + notifier.ContentSelectedSignal().Disconnect( this, &TextField::OnClipboardTextSelected ); + } + mController->KeyboardFocusLostEvent(); EmitKeyInputFocusSignal( false ); // Calls back into the Control hence done last. @@ -1147,6 +1161,11 @@ void TextField::EnableClipping( bool clipping, const Vector2& size ) } } +void TextField::OnClipboardTextSelected( ClipboardEventNotifier& clipboard ) +{ + mController->PasteClipboardItemEvent(); +} + void TextField::KeyboardStatusChanged(bool keyboardShown) { DALI_LOG_INFO( gLogFilter, Debug::Verbose, "TextField::KeyboardStatusChanged %p keyboardShown %d\n", mController.Get(), keyboardShown ); @@ -1156,6 +1175,10 @@ void TextField::KeyboardStatusChanged(bool keyboardShown) { mController->KeyboardFocusLostEvent(); } + else + { + mController->KeyboardFocusGainEvent(); + } } void TextField::OnStageConnection( unsigned int depth )