TizenRefApp-5959 Implement big click area to go to Contact Details 97/63897/5
authorIryna Ferenchak <i.ferenchak@samsung.com>
Wed, 30 Mar 2016 07:32:21 +0000 (10:32 +0300)
committerIryna Ferenchak <i.ferenchak@samsung.com>
Wed, 30 Mar 2016 07:32:21 +0000 (10:32 +0300)
Change-Id: I86ca128935a00d5866c24b079b7a9466f3a2f6f0
Signed-off-by: Iryna Ferenchak <i.ferenchak@samsung.com>
lib-logs/inc/Logs/Model/LogGroup.h
lib-logs/res/logs/edje/log-item.edc
lib-logs/src/Logs/List/LogItem.cpp
lib-logs/src/Logs/Model/Log.cpp

index b280eb896897067eaf3c8c6702382f601d56f3c9..ab5629b6272647fc523768eb881ba374249735db 100644 (file)
@@ -39,7 +39,8 @@ namespace Logs
                                ChangeName      = 1 << 1,
                                ChangeImage     = 1 << 2,
                                ChangeCount     = 1 << 3,
-                               ChangeTime      = 1 << 4
+                               ChangeTime      = 1 << 4,
+                               ChangePerson    = 1 << 5
                        };
 
                        /**
index 74dd2cff9b3d53157dc083ce86a05ab52c20768d..468ecb243b6400d1e9b99103aeb6841fac2c16e0 100644 (file)
@@ -36,8 +36,6 @@ collections
        IMAGE_WITH_BG_AND_COLOR(ICON_REJECTED, LOG_ICON_REJECTED, "log_type_bg",  LOG_ICON_CONTAINER, "log_type_missed_reject")
        IMAGE_WITH_BG_AND_COLOR(ICON_AUTO_REJECTED, LOG_ICON_AUTO_REJECTED, "log_type_bg",  LOG_ICON_CONTAINER, "log_type_missed_reject")
 
-       IMAGE_WITH_BG_PRESSED_COLOR(ICON_INFO, LOG_ICON_INFO, "info_icon", LOG_ICON_INFO_BG, "info_icon_bg", "info_icon_bg_pressed")
-
        group {
                name: LOG_ITEM;
                parts {
@@ -63,4 +61,62 @@ collections
                        }
           }
        }
+
+       group {
+               name: ICON_INFO;
+               images.image: LOG_ICON_INFO_BG COMP;
+               images.image: LOG_ICON_INFO COMP;
+               parts {
+                       part { name: "rect.bg";
+                               scale: 1;
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       color: 255 255 255 0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel2.relative: 1.0 1.0;
+                                       aspect: 1 1;
+                               }
+                       }
+                       part { name: "image.bg";
+                               description {
+                                       state: "default" 0.0;
+                                       image.normal: LOG_ICON_INFO_BG;
+                                       color_class: "info_icon_bg";
+                                       aspect: 1 1;
+                                       aspect_preference: SOURCE;
+                               }
+                               description {
+                                       state: "pressed" 0.0;
+                                       inherit:  "default" 0.0;
+                                       color_class: "info_icon_bg_pressed";
+                               }
+                       }
+                       part { name: "image";
+                               description {
+                                       state: "default" 0.0;
+                                       image.normal: LOG_ICON_INFO;
+                                       color_class: "info_icon";
+                                       aspect: 1 1;
+                                       aspect_preference: SOURCE;
+                               }
+                       }
+               }
+               programs {
+                       program {
+                               name: "pressed";
+                               signal: "mouse,down,*";
+                               source: "*";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "image.bg";
+                       }
+                       program {
+                               name: "unpressed";
+                               signal: "mouse,up,*";
+                               source: "*";
+                               action: STATE_SET "default" 0.0;
+                               target: "image.bg";
+                       }
+               }
+       }
 }
\ No newline at end of file
index aff6a3754c9c58030d36373713d62c612127288f..52378d9e49d89a3652a0ada8ecd035af28778137 100644 (file)
@@ -35,6 +35,7 @@
 
 #define BUFFER_SIZE             32
 #define LOG_TYPE_SIZE           50
+#define LOG_INFO_BG_SIZE        100
 #define LOG_TIME_TEXT_SIZE      22
 
 #define PART_LOG_NAME           "elm.text"
@@ -120,10 +121,12 @@ Evas_Object *LogItem::getContent(Evas_Object *parent, const char *part)
                return createThumbnail(parent);
        } else if (strcmp(part, PART_END) == 0) {
                if (getSelectMode() == SelectNone) {
-                       Evas_Object *icon = createIcon(parent, ICON_INFO);
+                       Evas_Object *icon = elm_image_add(parent);
+                       elm_image_file_set(icon, layoutPath.c_str(), ICON_INFO);
+                       evas_object_size_hint_min_set(icon, getScaledValue(LOG_TYPE_SIZE), getScaledValue(LOG_INFO_BG_SIZE));
                        evas_object_propagate_events_set(icon, EINA_FALSE);
                        evas_object_smart_callback_add(icon, "clicked",
-                                       (Evas_Smart_Cb) makeCallback(&LogItem::onInfoIconPressed), this);
+                               (Evas_Smart_Cb) makeCallback(&LogItem::onInfoIconPressed), this);
                        return icon;
                } else {
                        return SelectItem::getContent(parent, part);
@@ -199,6 +202,11 @@ const char *LogItem::getImagePath(int type)
 
 void LogItem::updateItem(int type)
 {
+       if (type & LogGroup::ChangePerson) {
+               elm_genlist_item_fields_update(getObjectItem(), PART_LOG_NAME, ELM_GENLIST_ITEM_FIELD_TEXT);
+               elm_genlist_item_fields_update(getObjectItem(), PART_LOG_NUMBER, ELM_GENLIST_ITEM_FIELD_TEXT);
+               elm_genlist_item_fields_update(getObjectItem(), PART_PERSON_THUMBNAIL, ELM_GENLIST_ITEM_FIELD_CONTENT);
+       }
        if (type & LogGroup::ChangeName) {
                elm_genlist_item_fields_update(getObjectItem(), PART_LOG_NAME, ELM_GENLIST_ITEM_FIELD_TEXT);
        }
index 8011863f4bb5f299a778d956a4bf8327826cdafe..f2dc72a6e111d2183560bbf5c49f3ba63d0eb411 100644 (file)
@@ -137,7 +137,7 @@ void Log::update(contacts_record_h record)
        if (personId != getPersonId()) {
                contacts_record_destroy(m_LogRecord, true);
                m_LogRecord = record;
-               m_Group->setChangedType(LogGroup::ChangeImage | LogGroup::ChangeName);
+               m_Group->setChangedType(LogGroup::ChangePerson);
                updateContactRecord();
        } else {
                contacts_record_destroy(record, true);