TSAM-2454 Clear number after tap when edit number 09/67609/1 submit/tizen/20160427.150240
authorOleksander Kostenko <o.kostenko@samsung.com>
Wed, 27 Apr 2016 11:19:28 +0000 (14:19 +0300)
committerOleksander Kostenko <o.kostenko@samsung.com>
Wed, 27 Apr 2016 11:38:22 +0000 (14:38 +0300)
Change-Id: Idbca9a444b0b82debcc163b3220a1e4a0eacce50
Signed-off-by: Oleksander Kostenko <o.kostenko@samsung.com>
src/Conversation/Recipients/Controller/src/ConvRecipientsPanel.cpp
src/Conversation/Recipients/View/inc/ConvRecipientsPanelView.h
src/Conversation/Recipients/View/src/ConvRecipientsPanelView.cpp

index ea0d5eb..97192ce 100644 (file)
@@ -145,6 +145,7 @@ void ConvRecipientsPanel::editSelectedItem()
     MbeRecipientItem* pItem = getSelectedItem();
     if(pItem)
     {
+        setEditMode(true);
         setEntryText(pItem->getAddress());
         showEntry(true);
         pItem->destroy();
index 7906bf1..2a86713 100644 (file)
@@ -67,6 +67,7 @@ namespace Msg
             void showButton(ButtonType buttonType);
             void unselectMbeItem();
             bool isEntryEmpty() const;
+            void setEditMode(bool isEdit);
 
         private:
             // Out signals:
@@ -111,9 +112,6 @@ namespace Msg
         private:
             Evas_Object *m_pLayout;
             Evas_Object *m_pEntry;
-            Ecore_Idler *m_pEntryFocusIdler;
-            Ecore_Idler *m_pEntrySetTextIdler;
-            bool m_EntryFocus;
             Evas_Object *m_pContactBtn;
             Evas_Object *m_pPlusBtn;
             Evas_Object *m_pRect;
@@ -121,6 +119,7 @@ namespace Msg
             bool m_IsMbeVisible;
             MbeRecipientsView *m_pMbe;
             std::string m_SavedRecipText;
+            bool m_IsEditItemClicked;
     };
 }
 
index abcbe7f..55881dd 100644 (file)
@@ -34,25 +34,19 @@ ConvRecipientsPanelView::ConvRecipientsPanelView(Evas_Object *parent, int entryM
     : View()
     , m_pLayout(nullptr)
     , m_pEntry(nullptr)
-    , m_pEntryFocusIdler(nullptr)
-    , m_EntryFocus(false)
     , m_pContactBtn(nullptr)
     , m_pPlusBtn(nullptr)
     , m_pRect(nullptr)
     , m_EntryMaxCharCount(entryMaxCharCount)
     , m_IsMbeVisible(false)
     , m_pMbe(nullptr)
+    , m_IsEditItemClicked(false)
 {
     create(parent);
 }
 
 ConvRecipientsPanelView::~ConvRecipientsPanelView()
 {
-    if(m_pEntryFocusIdler)
-    {
-        ecore_idler_del(m_pEntryFocusIdler);
-        m_pEntryFocusIdler = nullptr;
-    }
 }
 
 void ConvRecipientsPanelView::setMbe(MbeRecipientsView *pMbe)
@@ -103,21 +97,7 @@ bool ConvRecipientsPanelView::getEntryFocus() const
 
 void ConvRecipientsPanelView::setEntryFocus(bool val)
 {
-    m_EntryFocus = val;
-    if(!m_pEntryFocusIdler)
-    {
-        m_pEntryFocusIdler = ecore_idler_add
-        (
-            [](void *data)->Eina_Bool
-            {
-                auto *self =(ConvRecipientsPanelView*)data;
-                self->m_pEntryFocusIdler = nullptr;
-                elm_object_focus_set(self->m_pEntry, self->m_EntryFocus);
-                return false; // Delete idler
-            },
-            this
-        );
-    }
+    elm_object_focus_set(m_pEntry, val);
 }
 
 void ConvRecipientsPanelView::clearEntry()
@@ -385,7 +365,10 @@ void ConvRecipientsPanelView::collapseRecipients()
 void ConvRecipientsPanelView::expandRecipients()
 {
     showMbe(!isMbeEmpty());
-    setEntryText(m_SavedRecipText);
+    if(!m_IsEditItemClicked)
+        setEntryText(m_SavedRecipText);
+    else
+        setEditMode(false);
 }
 
 void ConvRecipientsPanelView::updateShortenedRecipients()
@@ -397,8 +380,13 @@ void ConvRecipientsPanelView::updateShortenedRecipients()
         shortenedRecipients = items[0]->getDispName();
         if(items.size() > 1)
             shortenedRecipients += " + " + std::to_string(items.size() - 1);
+        setEntryText(shortenedRecipients);
     }
-    setEntryText(shortenedRecipients);
+}
+
+void ConvRecipientsPanelView::setEditMode(bool isEdit)
+{
+    m_IsEditItemClicked = isEdit;
 }
 
 void ConvRecipientsPanelView::onEntryChanged(Evas_Object *obj, void *event_info)