TizenRefApp-8401 Implement event blocker for list items in conversation 83/125883/3
authorOleksander Kostenko <o.kostenko@samsung.com>
Tue, 18 Apr 2017 15:17:52 +0000 (18:17 +0300)
committerDenis Dolzhenko <d.dolzhenko@samsung.com>
Wed, 19 Apr 2017 14:14:28 +0000 (07:14 -0700)
Change-Id: I45f6705b124846c2f9aa233ba80b946a760f9fcc
Signed-off-by: Oleksander Kostenko <o.kostenko@samsung.com>
res/edje/conv_genlist_theme.edc
src/Conversation/View/inc/ConvListViewItem.h
src/Conversation/View/src/ConvListViewItem.cpp

index da97658547b80cbfa77a4e8cbd5974b8afecf739..8b8c5a21aa15544fb25f078a7bd29c5189dbd8a8 100644 (file)
@@ -277,6 +277,20 @@ collections {
                fixed: 0 1;
             }
          }
+         rect { "bubble.content_event_blocker"; scale;
+            repeat_events: 0;
+            mouse_events: 1;
+            desc { "default";
+               rel1.to: "base";
+               rel2.to: "base";
+               color: 0 0 0 0;
+               max: 0 0;
+            }
+            desc { "block";
+               inherit: "default";
+               max: -1 -1;
+            }
+         }
       }
       programs{
          program { name: "play_sound";
@@ -350,6 +364,18 @@ collections {
             action: STATE_SET "default" 0.0;
             target: "bubble.bg.selected";
          }
+         program { name: "block_event";
+            signal: "block_event";
+            source: "";
+            action: STATE_SET "block" 0.0;
+            target: "bubble.content_event_blocker";
+         }
+         program { name: "unblock_event";
+            signal: "unblock_event";
+            source: "";
+            action: STATE_SET "default" 0.0;
+            target: "bubble.content_event_blocker";
+         }
       }
    }
 
index 467ed8ceb1a45d721f654b884bc544d2b95bd55e..f0cda3a45b2b99f9b75b63f409976696a60a8f8b 100644 (file)
@@ -58,6 +58,8 @@ namespace Msg {
             Evas_Object *createProgress();
             Evas_Object *createFailedButton();
             void updateItemType(ConvItemType type);
+            void updateContentBlocker();
+            void updateSelectedState(bool state);
 
         private:
             ConvItemType m_Type;
index c3b2796db0792aeb5e586b7292a1fa4ca498e1c1..853f9c53744c8277bbed249a311e97f900c20c1f 100644 (file)
@@ -45,9 +45,8 @@ ConvListViewItem::~ConvListViewItem()
 
 void ConvListViewItem::setCheckedState(bool state, bool updateUi)
 {
-    const char *sig = state ? "show_selected" : "hide_selected";
-    ListItem::setCheckedState(state, false);
-    emitSignal(sig, "");
+    updateContentBlocker();
+    updateSelectedState(state);
 }
 
 void ConvListViewItem::setInfoStatus(InfoStatusType statusType)
@@ -138,6 +137,19 @@ void ConvListViewItem::updateItemType(ConvItemType type)
     }
 }
 
+void ConvListViewItem::updateContentBlocker()
+{
+    const char *sig = getOwner()->getCheckMode() ? "block_event" : "unblock_event";
+    emitSignal(sig, "");
+}
+
+void ConvListViewItem::updateSelectedState(bool state)
+{
+    const char *sig = state ? "show_selected" : "hide_selected";
+    ListItem::setCheckedState(state, false);
+    emitSignal(sig, "");
+}
+
 void ConvListViewItem::onRealized(ListItem &item)
 {
     // Update CheckedState