Remove unnecessray Clipboard creation in text controller
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / controller / text-controller-impl.cpp
index 46d9263..c483114 100644 (file)
@@ -1051,7 +1051,7 @@ std::pair<int, int> Controller::Impl::GetSelectionIndexes() const
 
 void Controller::Impl::ShowClipboard()
 {
-  if(mClipboard)
+  if(EnsureClipboardCreated())
   {
     mClipboard.ShowClipboard();
   }
@@ -1059,7 +1059,7 @@ void Controller::Impl::ShowClipboard()
 
 void Controller::Impl::HideClipboard()
 {
-  if(mClipboard && mClipboardHideEnabled)
+  if(EnsureClipboardCreated() && mClipboardHideEnabled)
   {
     mClipboard.HideClipboard();
   }
@@ -1073,7 +1073,7 @@ void Controller::Impl::SetClipboardHideEnable(bool enable)
 bool Controller::Impl::CopyStringToClipboard(const std::string& source)
 {
   //Send string to clipboard
-  return (mClipboard && mClipboard.SetItem(source));
+  return (EnsureClipboardCreated() && mClipboard.SetItem(source));
 }
 
 void Controller::Impl::SendSelectionToClipboard(bool deleteAfterSending)
@@ -1086,7 +1086,7 @@ void Controller::Impl::SendSelectionToClipboard(bool deleteAfterSending)
 
 void Controller::Impl::RequestGetTextFromClipboard()
 {
-  if(mClipboard)
+  if(EnsureClipboardCreated())
   {
     mClipboard.RequestItem();
   }
@@ -1757,6 +1757,9 @@ void Controller::Impl::CopyStrikethroughFromLogicalToVisualModels()
 
     mModel->mVisualModel->mStrikethroughRuns.PushBack(strikethroughGlyphRun);
   }
+
+  // Reset flag. The updates have been applied from logical to visual.
+  mModel->mLogicalModel->mStrikethroughRunsUpdated = false;
 }
 
 void Controller::Impl::CopyCharacterSpacingFromLogicalToVisualModels()
@@ -1790,6 +1793,7 @@ void Controller::Impl::CopyCharacterSpacingFromLogicalToVisualModels()
 
     mModel->mVisualModel->mCharacterSpacingRuns.PushBack(characterSpacingGlyphRun);
   }
+  mModel->mLogicalModel->mCharacterSpacingRunsUpdated = false;
 }
 
 void Controller::Impl::SetAutoScrollEnabled(bool enable)