pkg_check_modules(pkgs REQUIRED
appsvc
bundle
- capi-appfw-application contacts-service
+ capi-appfw-application contacts-service2
dlog drm-client
elementary ecore ecore-x ecore-input ecore-imf ecore-file eina
glib-2.0
- heynoti
icu-i18n
msg-service
mm-common mm-player mm-session
capi-media-metadata-extractor
capi-media-image-util
capi-media-player
+ capi-content-media-content
status
libexif
+ tapi
)
FOREACH(flag ${pkgs_CFLAGS})
DEPENDS ${CMAKE_SOURCE_COMMON_DIR}/data/msg_custom_winset.edc
)
+ADD_CUSTOM_TARGET(msg_images.edj
+ COMMAND edje_cc -id
+ ${CMAKE_SOURCE_COMMON_DIR}/data/edj_image_list
+ ${CMAKE_SOURCE_COMMON_DIR}/data/msg_images.edc
+ ${CMAKE_SOURCE_COMMON_DIR}/data/msg_images.edj
+ DEPENDS ${CMAKE_SOURCE_COMMON_DIR}/data/msg_images.edc
+)
+
ADD_DEPENDENCIES(${PROJECT_NAME} msg_common.edj)
ADD_DEPENDENCIES(${PROJECT_NAME} msg_custom_winset.edj)
+ADD_DEPENDENCIES(${PROJECT_NAME} msg_images.edj)
# Install so files.
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
INSTALL(FILES ${CMAKE_SOURCE_COMMON_DIR}/data/msg_common.edj DESTINATION ${EDJDIR})
INSTALL(FILES ${CMAKE_SOURCE_COMMON_DIR}/data/msg_custom_winset.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_SOURCE_COMMON_DIR}/data/msg_images.edj DESTINATION ${EDJDIR})
+
#define ENTRY_SELECTION_BG_COLOR 90 123 138 127
-#define ENTRY_TEXT_COLOR_INC "#000000"
-#define ENTRY_TEXT_SIZE_INC 44
#define ENTRY_BUBBLE_EX_PAD 46
#define ENTRY_BUBBLE_EX_CALLERID_PAD 140
#define ENTRY_BUBBLE_IX_PAD 20
#define ENTRY_BUBBLE_CALLERID_WIDTH 84
#define ENTRY_BUBBLE_CALLERID_HEIGHT 84
#define ENTRY_SELECTION_BG_COLOR 90 123 138 127
+#define ENTRY_BUBBLE_SENT_TEXT_COLOR "#000000"
+#define ENTRY_BUBBLE_SENT_TEXT_SHADOW_STYLE "far_shadow,bottom"
+#define ENTRY_BUBBLE_SENT_TEXT_SHADOW_COLOR "#ffffff7f"
+#define ENTRY_BUBBLE_RECEV_TEXT_COLOR "#FFFFFF"
+#define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_STYLE "far_shadow,top"
+#define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_COLOR "#0000009f"
+#define ENTRY_BUBBLE_TEXT_SIZE 38
images {
image: "00_MessageBubble_BG_receive.png" COMP;
styles {
style {
- name: "entry_textblock_style";
- base: "font=SLP:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" left_margin=1 right_margin=2 wrap=mixed text_class=entry";
+ name: "entry_bubble_sent_textblock_style";
+ base: "font=SLP:style=Roman style="ENTRY_BUBBLE_SENT_TEXT_SHADOW_STYLE" shadow_color="ENTRY_BUBBLE_SENT_TEXT_SHADOW_COLOR" font_size="ENTRY_BUBBLE_TEXT_SIZE" color="ENTRY_BUBBLE_SENT_TEXT_COLOR" left_margin=1 right_margin=2 wrap=mixed text_class=bubble";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "em" "+ font=SLP:style=Oblique";
+ tag: "b" "+ font=SLP:style=Bold";
+ tag: "link" "+ color=#800 underline=on underline_color=#8008";
+ tag: "hilight" "+ font=SLP:style=Bold";
+ }
+ style {
+ name: "entry_bubble_receive_textblock_style";
+ base: "font=SLP:style=Roman style="ENTRY_BUBBLE_RECEV_TEXT_SHADOW_STYLE" shadow_color="ENTRY_BUBBLE_RECEV_TEXT_SHADOW_COLOR" font_size="ENTRY_BUBBLE_TEXT_SIZE" color="ENTRY_BUBBLE_RECEV_TEXT_COLOR" left_margin=1 right_margin=2 wrap=mixed text_class=bubble";
tag: "br" "\n";
tag: "ps" "ps";
tag: "tab" "\t";
}
style {
name: "entry_textblock_disabled_style";
- base: "font=SLP:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 left_margin=1 right_margin=2 wrap=mixed text_class=entry";
+ base: "font=SLP:style=Roman font_size="ENTRY_BUBBLE_TEXT_SIZE" color=#00000080 left_margin=1 right_margin=2 wrap=mixed text_class=bubble";
tag: "br" "\n";
tag: "ps" "ps";
tag: "tab" "\t";
state: "default" 0.0;
align: 0.0 0.0;
text {
- style: "entry_textblock_style";
+ style: "entry_bubble_receive_textblock_style";
min: 0 1;
}
rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.top.pad"; }
rel2 { relative: 1.0 1.0; to_y: "elm.rect.subject.line"; }
min: 200 0;
text {
- style: "entry_textblock_style";
+ style: "entry_bubble_receive_textblock_style";
min: 0 1;
max: 1 0;
}
state: "default" 0.0;
align: 0.0 0.0;
text {
- style: "entry_textblock_style";
+ style: "entry_bubble_sent_textblock_style";
min: 0 1;
}
rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.top.pad"; }
rel1 { relative: 0.0 1.0; to_y: "elm.rect.subject.line";}
rel2 { relative: 0.0 1.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.subject.line"; }
text {
- style: "entry_textblock_style";
+ style: "entry_bubble_sent_textblock_style";
min: 0 1;
max: 1 0;
}
BUTTON_CIRCLE_STYLES("add_plus", "M01_btn_add_plus.png", "M01_btn_add_plus.png", 64, 64);
///////////////////////////////////////////////////////////////////////////////////////
-//#define CONTACT_BUTTON_CIRCLE_BG_NORMAL "00_btn_circle_bg_normal.png"
#define CONTACT_BUTTON_CIRCLE_BG_PRESS "00_btn_circle_bg_press.png"
-
#define CONTACT_BUTTON_CIRCLE_BG_NORMAL "00_contacts_circle_bg.png"
-//#define CONTACT_BUTTON_CIRCLE_BG_PRESS "00_contacts_button_bg_press.png"
#define CONTACT_BUTTON_CIRCLE_STYLES(style_name, image_normal, image_press, min_width, min_height) \
group { name: "elm/button/base/circle/"style_name; \
///////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////
+//contac button
+///////////////////////////////////////////////////////////////////////////////////////
+#define BUTTON_NAVITFRAME_TITLE_ICON_BG_MIN_MAX_INC 68 68
+#define BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC 68 68
+
+ group { name: "elm/button/base/msg/contact_btn";
+ parts {
+ part { name: "button_image";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: BUTTON_NAVITFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ max: BUTTON_NAVITFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.to: "button_image";
+ rel2.to: "button_image";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC;
+ max: BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ repeat_events: 1;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over3";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ //color: 101 101 101 255;
+ color: 201 201 201 255;
+ }
+ description { state: "clicked" 0.0;
+ color: 64 147 247 255;
+ }
+ description { state: "disabled" 0.0;
+ color: 101 101 101 102;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click";
+ signal: "mouse,down,1";
+ source: "over2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ }
+ program { name: "button_unpress";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_mouseout_clicked";
+ signal: "mouse,up,1";
+ source: "over3";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ after: button_unpress;
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "over2";
+ //action: PLAY_SAMPLE "touch_sound" 1.0;
+ after: button_unclick3;
+ }
+ program { name: "button_unclick3";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "button_image";
+ target: "disabler";
+ target: "elm.icon.clipper";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ target: "disabler";
+ }
+ }
+ }
+
+
///////////////////////////////////////////////////////////////////
// button for navi title
///////////////////////////////////////////////////
group { name: "elm/button/base/title_button";
images {
- image: "M01_title_btn_bg.png" COMP;
- image: "M01_title_btn_bg_press.png" COMP;
- image: "00_button_04_press.png" COMP;
+ image: "00_button.png" COMP;
+ image: "00_button_press.png" COMP;
+ image: "00_button_dim.png" COMP;
}
script {
public button_state = BUTTON_STATE_ENABLED;
scale: 1;
description { state: "default" 0.0;
image {
- normal: "M01_title_btn_bg.png";
- border: 1 1 1 1;
- border_scale: 0;
+ normal: "00_button.png";
+ border: 12 12 12 12;
+ border_scale: 1;
}
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
- image.normal: "M01_title_btn_bg_press.png";
+ image.normal: "00_button_press.png";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
- image.normal: "M01_title_btn_bg.png"; //"00_button_04_press.png";
+ image.normal: "00_button_dim.png";
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
- image.normal: "M01_title_btn_bg.png"; //"00_button_04_press.png";
+ image.normal: "00_button.png";
}
}
part { name: "padding_left_top";
to: "padding_right_bottom";
}
align: 0.0 0.5;
- color: BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC;
+ color: 59 115 182 255;
text {
font: "SLP:style=Medium";
size: 52;
description { state: "clicked" 0.0;
inherit: "default" 0.0;
visible: 1;
- color: BUTTON_TEXT_STYLE1_PRESSED_COLOR_INC;
+ color: 248 246 239 255;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
description {
state: "default" 0.0;
fixed: 0 1;
- min: 0 16;
+ min: 0 10;
align: 0.5 1;
rel1.relative: 0.0 1.0;
rel2.relative: 1.0 1.0;
visible: 0;
}
}
-
+ part {
+ name: "more_btn";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 1 1;
+ align: 0 0.5;
+ rel1.relative: 0 0;
+ rel2.relative: 0 1;
+ }
+ }
+ part {
+ name: "more_separator";
+ type: IMAGE;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 2 48;
+ max: 2 48;
+ align: 0 0.5;
+ rel1.to: "more_btn";
+ rel2.to: "more_btn";
+ rel1.relative: 1 0;
+ rel2.relative: 1 1;
+ image.normal: "nf_title_separator.png";
+ visible: 0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ }
part {
name: "padding1";
type: RECT;
fixed: 1 0;
min: 16 0;
align: 0 0.5;
- rel1.relative: 0 0;
- rel2.relative: 0 1;
- visible: 0;
+ rel1.to: "more_separator";
+ rel2.to: "more_separator";
+ rel1.relative: 1 0;
+ rel2.relative: 1 1;
+ color: 255 255 255 0;
+ visible: 1;
}
}
+
part {
name: "title_btn";
type: SWALLOW;
fixed: 0 0;
min: 0 72;
align: 0 0.5;
- rel1 { relative: 0.0 1.0; to_y: "padding_top";}
+ rel1 { relative: 0.0 1.0; to_x: "padding1"; to_y: "padding_top";}
rel2 { relative: 0.0 0.0; to_x: "padding2"; to_y: "padding_bottom";}
color: 255 0 0 255;
}
state: "default" 0.0;
text {
font: "SLP:style=Medium";
- size: 48;
+ size: 56;
min: 0 0;
max: 1 0;
align: 0.5 0.5;
}
- color: 249 249 249 255;
+ color: 59 115 182 255;
align: 0.0 0.5;
min: 0 72;
fixed: 1 0;
fixed: 1 0;
min: 5 0;
align: 1.0 0.5;
- rel1.to: "more_separator";
- rel2.to: "more_separator";
- rel1.relative: 0 0;
- rel2.relative: 0 1;
- visible: 0;
- }
- }
- part {
- name: "more_separator";
- type: IMAGE;
- scale: 0;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 2 48;
- max: 2 48;
- align: 1 0.5;
- rel1.to: "more_btn";
- rel2.to: "more_btn";
- rel1.relative: 0 0;
- rel2.relative: 0 1;
- image.normal: "nf_title_separator.png";
- visible: 0;
- }
- description {
- state: "visible" 0.0;
- inherit: "default";
- visible: 1;
- }
- }
- part {
- name: "more_btn";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- min: 1 1;
- align: 1 0.5;
rel1.to: "compose_separator";
rel2.to: "compose_separator";
rel1.relative: 0 0;
rel2.relative: 0 1;
+ visible: 0;
}
}
part {
name: "compose_separator";
- type: IMAGE;
+ type: SWALLOW;
scale: 0;
description {
state: "default" 0.0;
fixed: 1 1;
- min: 2 48;
- max: 2 48;
+ min: 18 68;
+ max: 18 68;
align: 1 0.5;
rel1.to: "compose_btn";
rel2.to: "compose_btn";
rel1.relative: 0 0;
rel2.relative: 0 1;
- image.normal: "nf_title_separator.png";
visible: 0;
}
description {
scale: 1;
description {
state: "default" 0.0;
- fixed: 0 1;
+ fixed: 1 1;
min: 1 1;
align: 1 0.5;
rel1.to: "prev_separator";
}
part {
name: "prev_separator";
- type: IMAGE;
+ type: SWALLOW;
scale: 0;
description {
state: "default" 0.0;
fixed: 1 0;
- min: 2 48;
- max: 2 48;
+ min: 18 68;
+ max: 18 68;
align: 1 0.5;
rel1.to_x: "prev_btn";
rel2.to_x: "prev_btn";
rel1.relative: 0 0;
rel2.relative: 0 1;
- image.normal: "nf_title_separator.png";
visible: 0;
}
description {
scale: 1;
description {
state: "default" 0.0;
- fixed: 0 1;
- min: 0 72;
+ fixed: 1 1;
+ min: 0 68;
+ align: 1 0.5;
+ rel1.to: "title_right_padding";
+ rel2.to: "title_right_padding";
+ rel1.relative: 0 0;
+ rel2.relative: 0 1;
+ }
+ }
+ part {
+ name: "title_right_padding";
+ type: SWALLOW;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ min: 26 68;
+ max: 26 68;
align: 1 0.5;
rel1.relative: 1 0;
rel2.relative: 1 1;
+ visible: 0;
}
}
part {
scale: 1;
description {
state: "default" 0.0;
- min : 16 0;
+ min : 36 0;
fixed: 1 0;
align: 0.0 0.0;
rel1.relative: 0.0 0.0;
scale : 1;
description {
state: "default" 0.0;
- min: 380 0;
+ min: 574 0;
align: 0.5 0.5;
fixed: 1 0;
rel1 { relative: 0.5 1.0; to: "pad_top"; }
}
color: 0 0 0 255;
align: 0 0.5;
- rel1 { relative: 0.07 0.5; to: "pad_bottom"; }
+ rel1 { relative: 0.11 0.5; to: "pad_bottom"; }
rel2 { relative: 1.0 1.0; to: "pad_bottom"; }
}
}
target: "elm.flip.content"; \
}
+#define GENLIST_PROGRAM_FLIP_1TEXT \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text"; \
+ target: "elm.flip.content"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text"; \
+ target: "elm.flip.content"; \
+ }
+
+
//////////////////////////////////////////////////////////////////////////////
+group {
+ name: "elm/genlist/item/1text.custom/default";
+ alias: "elm/genlist/item_odd/1text.custom/default";
+ alias: "elm/genlist/item_compress/1text.custom/default";
+ alias: "elm/genlist/item_compress_odd/itext.custom/default";
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+ data.item: "flips" "elm.flip.icon elm.flip.content";
+ data.item: "treesize" 26;
+ data.item: "texts" "elm.text";
+ data.item: "contents" "elm.icon.edit";
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ repeat_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 112;
+ color: 0 0 0 0; // 2nd depth color
+ //color: 153 176 195 255; // 2nd depth color
+ }
+ }
+
+ part {
+ name: "bg_image";
+ type: RECT;
+ clip_to: "disclip";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ //color: 153 176 195 255;
+ }
+ description {
+ state: "selected" 0.0;
+ color: 42 137 194 255;
+ }
+ }
+
+ part {
+ name: "bottom_line";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 1;
+ fixed: 0 1;
+ visible: 1;
+ color: 169 169 169 255;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 0 -1;
+ }
+ }
+ }
+ part {
+ name: "elm.padding.top";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 16;
+ fixed: 0 1;
+ visible: 0;
+ rel2.relative: 1.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "elm.padding.bottom";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 1;
+ fixed: 0 1;
+ visible: 0;
+ rel1.relative: 0.0 1.0;
+ align: 0.0 1.0;
+ }
+ }
+ part {
+ name: "elm.padding.left";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 16 0;
+ fixed: 1 0;
+ visible: 0;
+ rel2.relative: 0.0 1.0;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "elm.padding.right";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0; //16 0;
+ fixed: 1 0;
+ visible: 0;
+ rel1.relative: 1.0 0.0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part {
+ name: "elm.text";
+ clip_to: "disclip";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 61;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.top";
+ }
+ align: 0.0 0.0;
+ color: 0 0 0 255;
+ text {
+ font: "SLP:style=Roman";
+ size: 44;
+ min: 0 1;
+ align: 0.0 0.5;
+ text_class: "list_item";
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 249 249 249 255;
+ }
+ description {
+ state: "flip_enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ GENLIST_PART_FLIP
+ GENLIST_PART_DISCLIP
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program {
+ name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ }
+ program {
+ name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ transition: LINEAR 0.1;
+ }
+ program {
+ name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program { name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ GENLIST_PROGRAM_FLIP_1TEXT
+ }
+}
group {
name: "elm/genlist/item/2text.1icon.2.custom/default";
alias: "elm/genlist/item_odd/2text.1icon.2.custom/default";
--- /dev/null
+#define RESOURCE_IMAGE( FILE_NAME ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME COMP; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ } \
+ }
+
+#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME LOSSY 85; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ } \
+ }
--- /dev/null
+#include "msg_image_macro.edc"
+
+collections {
+ RESOURCE_IMAGE("01_controllbar_icon_add_to_contact.png");
+ RESOURCE_IMAGE("01_header_icon_cancel.png");
+ RESOURCE_IMAGE("01_header_icon_done.png");
+ RESOURCE_IMAGE("60_myfiles_file_etc.png");
+ RESOURCE_IMAGE("attach_icon.png");
+ RESOURCE_IMAGE("M01_btn_delete.png");
+ RESOURCE_IMAGE("M01_btn_delete_press.png");
+ RESOURCE_IMAGE("M01_btn_message_send.png");
+ RESOURCE_IMAGE("M01_btn_message_send_dim.png");
+ RESOURCE_IMAGE("M01_btn_mms_message_send.png");
+ RESOURCE_IMAGE("M01_btn_mms_message_send_dim.png");
+ RESOURCE_IMAGE("M01_btn_scheduled_message_send.png");
+ RESOURCE_IMAGE("M01_btn_scheduled_message_send_dim.png");
+ RESOURCE_IMAGE("M01_icon_attach_voice.png");
+ RESOURCE_IMAGE("M01_icon_block.png");
+ RESOURCE_IMAGE("M01_icon_broadcasting.png");
+ RESOURCE_IMAGE("M01_icon_DRM_64x64.png");
+ RESOURCE_IMAGE("M01_icon_message_status_mms_read_n.png");
+ RESOURCE_IMAGE("M01_icon_message_status_mms_sent_n.png");
+ RESOURCE_IMAGE("M01_icon_message_status_mms_unread_n.png");
+ RESOURCE_IMAGE("M01_icon_message_status_sms_read_n.png");
+ RESOURCE_IMAGE("M01_icon_message_status_sms_sent_n.png");
+ RESOURCE_IMAGE("M01_icon_message_status_sms_unread_n.png");
+ RESOURCE_IMAGE("M01_icon_OTA.png");
+ RESOURCE_IMAGE("M01_icon_Push.png");
+ RESOURCE_IMAGE("M01_icon_save.png");
+ RESOURCE_IMAGE("M01_icon_SOS.png");
+ RESOURCE_IMAGE("M01_icon_unblock.png");
+ RESOURCE_IMAGE("M01_icon_video_call.png");
+ RESOURCE_IMAGE("M01_icon_view_contact.png");
+ RESOURCE_IMAGE("M01_icon_voice_call.png");
+ RESOURCE_IMAGE("M01_photo_btn_delete.png");
+ RESOURCE_IMAGE("M01_photo_btn_delete_press.png");
+ RESOURCE_IMAGE("myfile_icon_etc.png");
+ RESOURCE_IMAGE("myfile_icon_excel.png");
+ RESOURCE_IMAGE("myfile_icon_html.png");
+ RESOURCE_IMAGE("myfile_icon_images.png");
+ RESOURCE_IMAGE("myfile_icon_java.png");
+ RESOURCE_IMAGE("myfile_icon_music.png");
+ RESOURCE_IMAGE("myfile_icon_pdf.png");
+ RESOURCE_IMAGE("myfile_icon_ppt.png");
+ RESOURCE_IMAGE("myfile_icon_rss.png");
+ RESOURCE_IMAGE("myfile_icon_svg.png");
+ RESOURCE_IMAGE("myfile_icon_swf.png");
+ RESOURCE_IMAGE("myfile_icon_text.png");
+ RESOURCE_IMAGE("myfile_icon_video.png");
+ RESOURCE_IMAGE("myfile_icon_word.png");
+ RESOURCE_IMAGE("M01_icon_Unsupported.png");
+ RESOURCE_IMAGE("M01_icon_DRM.png");
+ RESOURCE_IMAGE("M01_title_icon_compose.png");
+ RESOURCE_IMAGE("M01_title_icon_search.png");
+ RESOURCE_IMAGE("M01_title_icon_search_dim.png");
+ RESOURCE_IMAGE("M01_title_icon_attach.png");
+ RESOURCE_IMAGE("M01_title_icon_attach_dim.png");
+ RESOURCE_IMAGE("M01_contact_default_image.png");
+}
#define MSG_BUNDLE_KEY_ATTACHFILE "ATTACHFILE"
#define MSG_BUNDLE_KEY_SUBJECT "SUBJECT"
#define MSG_BUNDLE_KEY_BODY "BODY"
-#define MSG_BUNDLE_KEY_RESEND "RESEND"
-#define MSG_BUNDLE_KEY_DELETE_MSG "delete_msg"
#define MSG_BUNDLE_KEY_RECIPIENT "recipient"
#define MSG_BUNDLE_KEY_NUMBER_INDEX "number/index"
#define MSG_BUNDLE_KEY_INDEX "index"
-#define MSG_BUNDLE_KEY_REFRESH_CONV "refresh_conv"
#define MSG_BUNDLE_KEY_MESSAGE_BOX "messagebox"
#define MSG_BUNDLE_KEY_INDICATOR_MODE "indicator_mode"
#define MSG_BUNDLE_KEY_DRMTYPE "drm_type"
#define MSG_BUNDLE_KEY_SYSPOPUP_CONTENT "_SYSPOPUP_CONTENT_"
+/* contact bundle key */
+#define MSG_CT_UG_BUNDLE_TYPE "type"
+#define MSG_CT_UG_BUNDLE_MAX "ct_max"
+#define MSG_CT_UG_BUNDLE_EMAIL "ct_email"
+#define MSG_CT_UG_BUNDLE_NUM "ct_num"
+#define MSG_CT_UG_BUNDLE_ID "person_id"
+
/* Bundle value name */
#define MSG_BUNDLE_VALUE_COMPOSE "compose"
#define MSG_BUNDLE_VALUE_SMS_URI "sms"
#define MSG_BUNDLE_VALUE_INTERNAL "internal"
#define MSG_BUNDLE_VALUE_EDIT "edit"
#define MSG_BUNDLE_VALUE_FORWARD "forward"
+#define MSG_BUNDLE_VALUE_RESEND "resend"
+#define MSG_BUNDLE_VALUE_REPLY "reply"
+#define MSG_BUNDLE_VALUE_DELETE_MSG "delete_msg"
+#define MSG_BUNDLE_VALUE_REFRESH_CONV "refresh_conv"
#define MSG_BUNDLE_VALUE_NORMAL "normal"
#define MSG_BUNDLE_VALUE_IMAGE "IMAGE"
#define MSG_BUNDLE_VALUE_INDICATOR "indicator"
#define MSG_BUNDLE_VALUE_NO_INDICATOR "no_indicator"
+/* contact bundle value */
+#define MSG_CT_UG_REQUEST_DETAIL 0
+#define MSG_CT_UG_REQUEST_SELECT_CONTACT 11
+#define MSG_CT_UG_REQUEST_SELECT_NUMBER 12
+#define MSG_CT_UG_REQUEST_UPDATE_WITH_NUM 21
+#define MSG_CT_UG_REQUEST_UPDATE_WITH_EMAIL 22
+#define MSG_CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL 34
+
+
+/* contact result */
+#define MSG_CT_UG_BUNDLE_RESULT_NUMBER_ID "num_id"
+#define MSG_CT_UG_BUNDLE_RESULT_NUMBER_ID_LIST "num_id_list"
+#define MSG_CT_UG_BUNDLE_RESULT_EMAIL_ID_LIST "email_id_list"
+
#endif /* __MSG_BUNDLE_H__ */
#include <msg-ui-util.h>
#include <msg-ui-common-utility.h>
#include <msg-ui-image-resource.h>
+#include <msg_storage.h>
+#include <elm_widget.h>
/* for i18n */
#include <unicode/uloc.h>
[MSG_APP_FILE_TYPE_ETC] = MSG_COMMON_FILE_ETC_ICON,
};
+typedef struct {
+ int status;
+ time_t time;
+} MSG_DETAIL_REPORT_STRUCT;
+
+typedef struct {
+ char address[MAX_ADDRESS_VAL_LEN+1];
+ MSG_DETAIL_REPORT_STRUCT delivery;
+ MSG_DETAIL_REPORT_STRUCT read;
+} MSG_DETAIL_REPORT_LIST_S;
+
+
/*==========================
* FUNCTION IMPLEMENTATIONS
*========================== */
char *msg_common_get_date_best_pattern(const char* locale, char* skeleton)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, locale == NULL || skeleton == NULL, NULL);
+ D_ENTER;
+ D_MSG_RETVM_IF(locale == NULL, NULL, "locale is NULL");
+ D_MSG_RETVM_IF(skeleton == NULL, NULL, "skeleton is NULL");
UErrorCode status = U_ZERO_ERROR;
UDateTimePatternGenerator *generator = NULL;
udatpg_close(generator);
- MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
+ D_LEAVE;
return strdup(bestPatternString);
}
char *msg_common_get_formatted_date(const char* locale, char* bestPattern, void *time)
{
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, locale == NULL || bestPattern == NULL || time == NULL, NULL);
+ D_MSG_RETVM_IF(locale == NULL, NULL, "locale is NULL");
+ D_MSG_RETVM_IF(bestPattern == NULL, NULL, "bestPattern is NULL");
UErrorCode status = U_ZERO_ERROR;
UDate date;
if (time) {
time_t msg_time = *(time_t *) time;
date = (UDate) msg_time * 1000; /* Equivalent to Date = ucal_getNow() in Milliseconds */
- } else
+ } else {
date = ucal_getNow();
+ }
date_format = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1, uBestPattern, -1, &status);
formattedCapacity = MSG_COMMON_MAX_UCHAR_PATTERN_LEN;
char *msg_common_get_date_text(const char* locale, char* skeleton, void* time)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, locale == NULL, NULL);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, skeleton == NULL, NULL);
+ D_ENTER;
+ D_MSG_RETVM_IF(locale == NULL, NULL, "locale is NULL");
+ D_MSG_RETVM_IF(skeleton == NULL, NULL, "skeleton is NULL");
UChar customSkeleton[MSG_COMMON_MAX_UCHAR_PATTERN_LEN + 1] = {0,};
int skeletonLength = 0;
static MSG_BOOL __msg_common_make_normal_markup_text(Eina_Strbuf *markup_text, Eina_Strbuf *font_style, const char *src, int strlen)
{
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, markup_text == NULL, FALSE);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, font_style == NULL, FALSE);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, src == NULL, FALSE);
+ D_MSG_RETVM_IF(markup_text == NULL, FALSE, "markup_text is NULL");
+ D_MSG_RETVM_IF(font_style == NULL, FALSE, "font_style is NULL");
+ D_MSG_RETVM_IF(src == NULL, FALSE, "src is NULL");
char *tmp_body_buf = NULL;
tmp_body_buf = (char *) calloc(strlen + 1, sizeof(char));
if (tmp_body_buf) {
strncpy(tmp_body_buf, src, strlen);
} else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "calloc is failed");
+ D_EMSG("calloc is failed");
return FALSE;
}
return TRUE;
}
-Eina_Strbuf *msg_common_get_markup_text(const char *src, int fontsize, char *fontcolor, char *fontstyle)
+Eina_Strbuf *msg_common_get_markup_text(const char *src, char *fontcolor, char *fontstyle)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, src == NULL, NULL);
+ D_ENTER;
+ D_MSG_RETVM_IF(src == NULL, NULL, "src is NULL");
const char *src_text = src;
int src_text_len = 0;
src_text_len = strlen(src_text);
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "src_text_len : %d", src_text_len);
+ D_MSG("src_text_len : %d", src_text_len);
tmp_buf = (char *) calloc(src_text_len + 1, sizeof(char));
if (tmp_buf == NULL) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "tmp mem alloc is failed!");
+ D_EMSG("tmp mem alloc is failed!");
return NULL;
}
font_buf = eina_strbuf_new();
if (font_buf == NULL) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "font_buf eina_strbuf_new is failed!");
+ D_EMSG("font_buf eina_strbuf_new is failed!");
if (tmp_buf) {
free(tmp_buf);
tmp_buf = NULL;
markup_text = eina_strbuf_new();
if (markup_text == NULL) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "markup_text eina_strbuf_new is failed!");
+ D_EMSG("markup_text eina_strbuf_new is failed!");
if (tmp_buf) {
free(tmp_buf);
tmp_buf = NULL;
if (fontstyle)
eina_strbuf_append_printf(font_buf, "<%s>", fontstyle);
-/*
- * unsupport font size
- * if (fontsize > 0)
- * eina_strbuf_append_printf(font_buf, "<font_size=%d>", fontsize);
- */
if (fontcolor)
eina_strbuf_append_printf(font_buf, "<color=%s>", fontcolor);
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "font_buf : (%s)", eina_strbuf_string_get(font_buf));
+ D_MSG("font_buf : (%s)", eina_strbuf_string_get(font_buf));
snprintf(tmp_buf, src_text_len + 1, "%s\n", (char *) src_text);
int token_len = 0;
while (token) {
- token_len = strlen(token);
+ char *tmp_str = elm_entry_utf8_to_markup(token);
- if (token[token_len - 1] == 0x0D) { /* if Enter is added via Window system, CR+LF is added. */
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "CR length is decreased");
+ if (!tmp_str) {
+ D_EMSG("elm_entry_utf8_to_markup() is failed, [%s]. Stop parsing entry text", token);
+ break;
+ }
+
+ token_len = strlen(tmp_str);
+
+ if (tmp_str[token_len - 1] == 0x0D) { /* if Enter is added via Window system, CR+LF is added. */
+ D_MSG("CR length is decreased");
token_len = token_len - 1;
}
- if (!__msg_common_make_normal_markup_text(markup_text, font_buf, token, token_len))
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "__msg_common_make_normal_markup_text is failed");
+ if (!__msg_common_make_normal_markup_text(markup_text, font_buf, tmp_str, token_len))
+ D_MSG("__msg_common_make_normal_markup_text is failed");
+
+ if (tmp_str)
+ free(tmp_str);
token = strtok_r(NULL, "\n", &remained_string);
if (token)
MSG_BOOL msg_common_is_valid_phone_number(const char *address)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RETVM_IF(MSG_UI_LEVEL_ERR, address == NULL, FALSE, "address is NULL");
+ D_ENTER;
+ D_MSG_RETVM_IF(address == NULL, FALSE, "address is NULL");
int addr_len = 0;
addr_len = strlen(address);
return TRUE;
} else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "invalid address length [%d]", addr_len);
+ D_MSG("invalid address length [%d]", addr_len);
return FALSE;
}
}
MSG_BOOL msg_common_is_valid_email_addr(const char *address)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RETVM_IF(MSG_UI_LEVEL_ERR, address == NULL, FALSE, "address is NULL");
+ D_ENTER;
+ D_MSG_RETVM_IF(address == NULL, FALSE, "address is NULL");
char *token1 = NULL;
char *token2 = NULL;
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "address = %s", address);
+ D_MSG("address = %s", address);
token1 = strchr(address, '@');
if (!token1) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "address has no @");
- return FALSE;
- }
+ D_EMSG("address has no @");
+ return FALSE;
+ }
if (strchr(&token1[1], '@')) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "address cannot have two more @");
- return FALSE;
- }
+ D_EMSG("address cannot have two more @");
+ return FALSE;
+ }
token2 = strchr(token1, '.');
if (!token2) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "there's no . character");
+ D_EMSG("there's no . character");
return FALSE;
- }
+ }
if ((token2 == token1 + 1) || (*(token2 + 1) == '\0')) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "address type should be \'xxx.xxx\'");
+ D_EMSG("address type should be \'xxx.xxx\'");
return FALSE;
}
if (vconf_get_int(VCONFKEY_CALL_STATE, &call_status) < 0)
return FALSE;
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "call_status = %d", call_status);
+ D_MSG("call_status = %d", call_status);
if (call_status != VCONFKEY_CALL_OFF)
return TRUE;
if (vconf_get_int(VCONFKEY_TELEPHONY_SIM_SLOT, &sim_slot_status) < 0)
return FALSE;
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "sim_slot_status = %d", sim_slot_status);
+ D_MSG("sim_slot_status = %d", sim_slot_status);
if (sim_slot_status == VCONFKEY_TELEPHONY_SIM_INSERTED)
return TRUE;
return FALSE;
}
-MSG_BOOL msg_common_get_font_size(int *index, int *font_size)
+MSG_BOOL msg_common_get_font_size(int *index)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, index == NULL, FALSE);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, font_size == NULL, FALSE);
+ D_ENTER;
+ D_MSG_RETVM_IF(index == NULL, FALSE, "font_size is NULL");
if (vconf_get_int(VCONFKEY_MSG_APP_FONT_SIZE, index) < 0) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "vconf_get_int(font_size) is failed !!");
+ D_EMSG("vconf_get_int(font_size) is failed !!");
return FALSE;
- } else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "selected index = %d", *index);
}
- switch (*index) {
- case MSG_APP_FONT_SIZE_INDEX_GIANT :
- *font_size = MSG_APP_FONT_SIZE_GIANT;
- break;
- case MSG_APP_FONT_SIZE_INDEX_HUGE :
- *font_size = MSG_APP_FONT_SIZE_HUGE;
- break;
- case MSG_APP_FONT_SIZE_INDEX_LARGE :
- *font_size = MSG_APP_FONT_SIZE_LARGE;
- break;
- case MSG_APP_FONT_SIZE_INDEX_NORMAL :
- *font_size = MSG_APP_FONT_SIZE_NORMAL;
- break;
- case MSG_APP_FONT_SIZE_INDEX_SMALL :
- *font_size = MSG_APP_FONT_SIZE_SMALL;
- break;
- case MSG_APP_FONT_SIZE_INDEX_SYSTEM_FONT :
- default :
- *font_size = MSG_APP_FONT_SIZE_NORMAL;
- break;
+ if (*index < MSG_APP_FONT_SIZE_INDEX_SMALL || *index >= MSG_APP_FONT_SIZE_INDEX_MAX) {
+ D_EMSG("invalid index = %d", *index);
+ return FALSE;
+ } else {
+ D_MSG("index = %d", *index);
}
return TRUE;
MSG_BOOL msg_common_set_font_size(int index)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
+ D_ENTER;
- if (index < MSG_APP_FONT_SIZE_INDEX_SYSTEM_FONT ||
- index >= MSG_APP_FONT_SIZE_INDEX_MAX) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "invalid index = %d", index);
+ if (index < MSG_APP_FONT_SIZE_INDEX_SMALL || index >= MSG_APP_FONT_SIZE_INDEX_MAX) {
+ D_EMSG("invalid index = %d", index);
return FALSE;
} else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "selected index = %d", index);
+ D_MSG("index = %d", index);
}
if (vconf_set_int(VCONFKEY_MSG_APP_FONT_SIZE, index) < 0) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "vconf_set_int(font_size) is failed !!");
+ D_EMSG("vconf_set_int(font_size) is failed !!");
return FALSE;
}
MSG_BOOL msg_common_increase_font_size()
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
+ D_ENTER;
int index = -1;
int increase = -1;
if (vconf_get_int(VCONFKEY_MSG_APP_FONT_SIZE, &index) < 0) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "vconf_get_int(font_size) is failed !!");
+ D_EMSG("vconf_get_int(font_size) is failed !!");
return FALSE;
} else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "font size = %d", index);
+ D_MSG("index = %d", index);
}
switch (index) {
increase = MSG_APP_FONT_SIZE_INDEX_NORMAL;
break;
default :
- increase = MSG_APP_FONT_SIZE_NORMAL;
+ increase = MSG_APP_FONT_SIZE_INDEX_NORMAL;
break;
}
- if (increase != -1)
- msg_common_set_font_size(increase);
+ if (increase != -1) {
+ if (msg_common_set_font_size(increase) == FALSE) {
+ D_EMSG("msg_common_set_font_size is failed");
+ return FALSE;
+ }
+ }
return TRUE;
}
MSG_BOOL msg_common_decrease_font_size()
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
+ D_ENTER;
int index = -1;
int decrease = -1;
if (vconf_get_int(VCONFKEY_MSG_APP_FONT_SIZE, &index) < 0) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "vconf_get_int(font_size) is failed !!");
+ D_EMSG("vconf_get_int(font_size) is failed !!");
return FALSE;
} else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "font size = %d", index);
+ D_MSG("index = %d", index);
}
switch (index) {
case MSG_APP_FONT_SIZE_INDEX_SMALL :
break;
default :
- decrease = MSG_APP_FONT_SIZE_NORMAL;
+ decrease = MSG_APP_FONT_SIZE_INDEX_NORMAL;
break;
}
- if (decrease != -1)
- msg_common_set_font_size(decrease);
+ if (decrease != -1) {
+ if (msg_common_set_font_size(decrease) == FALSE) {
+ D_EMSG("msg_common_set_font_size is failed");
+ return FALSE;
+ }
+ }
return TRUE;
}
+int msg_common_get_font_size_from_index(int index)
+{
+ D_ENTER;
+
+ if (index < MSG_APP_FONT_SIZE_INDEX_SMALL || index >= MSG_APP_FONT_SIZE_INDEX_MAX) {
+ D_EMSG("invalid index = %d", index);
+ return -1;
+ } else {
+ D_MSG("index = %d", index);
+ }
+ int font_size = 0;
+
+ switch (index) {
+ case MSG_APP_FONT_SIZE_INDEX_SMALL :
+ font_size = MSG_APP_FONT_SIZE_SMALL;
+ break;
+ case MSG_APP_FONT_SIZE_INDEX_NORMAL :
+ font_size = MSG_APP_FONT_SIZE_NORMAL;
+ break;
+ case MSG_APP_FONT_SIZE_INDEX_LARGE :
+ font_size = MSG_APP_FONT_SIZE_LARGE;
+ break;
+ case MSG_APP_FONT_SIZE_INDEX_HUGE :
+ font_size = MSG_APP_FONT_SIZE_HUGE;
+ break;
+ case MSG_APP_FONT_SIZE_INDEX_GIANT :
+ font_size = MSG_APP_FONT_SIZE_GIANT;
+ break;
+ default :
+ font_size = MSG_APP_FONT_SIZE_NORMAL;
+ break;
+ }
+
+ return font_size;
+}
+
+
+int msg_common_get_index_from_font_size(int font_size)
+{
+ D_ENTER;
+
+ if (font_size < MSG_APP_FONT_SIZE_SMALL || font_size >= MSG_APP_FONT_SIZE_MAX) {
+ D_EMSG("invalid font_size = %d", font_size);
+ return -1;
+ } else {
+ D_MSG("font_size = %d", font_size);
+ }
+ int index = 0;
+
+ switch (font_size) {
+ case MSG_APP_FONT_SIZE_SMALL :
+ index = MSG_APP_FONT_SIZE_INDEX_SMALL;
+ break;
+ case MSG_APP_FONT_SIZE_NORMAL :
+ index = MSG_APP_FONT_SIZE_INDEX_NORMAL;
+ break;
+ case MSG_APP_FONT_SIZE_LARGE :
+ index = MSG_APP_FONT_SIZE_INDEX_LARGE;
+ break;
+ case MSG_APP_FONT_SIZE_HUGE :
+ index = MSG_APP_FONT_SIZE_INDEX_HUGE;
+ break;
+ case MSG_APP_FONT_SIZE_GIANT :
+ index = MSG_APP_FONT_SIZE_INDEX_GIANT;
+ break;
+ default :
+ index = MSG_APP_FONT_SIZE_INDEX_NORMAL;
+ break;
+ }
+
+ return index;
+}
+
+MSG_BOOL msg_common_get_access_font_size(int *index)
+{
+ D_ENTER;
+ D_MSG_RETVM_IF(index == NULL, FALSE, "index is NULL");
+
+ if (vconf_get_int(VCONFKEY_MSG_APP_ACCESS_FONT_SIZE, index) < 0) {
+ D_EMSG("vconf_get_int(font_size) is failed !!");
+ return FALSE;
+ }
+
+ if (*index < MSG_APP_FONT_SIZE_INDEX_SMALL || *index >= MSG_APP_FONT_SIZE_INDEX_MAX) {
+ D_EMSG("invalid index = %d", *index);
+ return FALSE;
+ } else {
+ D_MSG("index = %d", *index);
+ }
+
+ return TRUE;
+}
+
+MSG_BOOL msg_common_set_access_font_size(int index)
+{
+ D_ENTER;
+
+ if (index < MSG_APP_FONT_SIZE_INDEX_SMALL || index >= MSG_APP_FONT_SIZE_INDEX_MAX) {
+ D_EMSG("invalid index = %d", index);
+ return FALSE;
+ } else {
+ D_MSG("index = %d", index);
+ }
+
+ if (vconf_set_int(VCONFKEY_MSG_APP_ACCESS_FONT_SIZE, index) < 0) {
+ D_EMSG("vconf_set_int(font_size) is failed !!");
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
MSG_BOOL msg_common_apply_font_size(const char *widget_name, Evas_Object *obj)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, widget_name == NULL, FALSE);
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, obj == NULL, FALSE);
+ D_ENTER;
+ D_MSG_RETVM_IF(widget_name == NULL, FALSE, "widget_name is NULL");
+ D_MSG_RETVM_IF(obj == NULL, FALSE, "obj is NULL");
int index = 0;
int font_size = 0;
Evas_Font_Size font_size_scale = 0;
- if (msg_common_get_font_size(&index, &font_size) != TRUE) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "msg_common_get_font_size() is failed !!");
+ if (msg_common_get_font_size(&index) != TRUE) {
+ D_EMSG("msg_common_get_font_size() is failed !!");
return FALSE;
} else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "selected index = %d", index);
+ D_MSG("selected index = %d", index);
}
- if (index == MSG_APP_FONT_SIZE_INDEX_SYSTEM_FONT) {
- edje_text_class_del(widget_name);
- } else {
- /* Calculate the scale factor */
- font_size_scale -= (font_size * 100) / MSG_APP_FONT_SIZE_NORMAL;
+ font_size = msg_common_get_font_size_from_index(index);
+ if (font_size == -1) {
+ D_EMSG("msg_common_get_font_size_from_index() is failed !!");
+ return FALSE;
+ }
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "font_size = %d, font_size_scale = %d", font_size, font_size_scale);
+ /* Calculate the scale factor */
+ font_size_scale -= (font_size * 100) / MSG_APP_FONT_SIZE_NORMAL;
- edje_text_class_del(widget_name);
- edje_text_class_set(widget_name, NULL, font_size_scale);
- elm_widget_theme_specific(obj, NULL, EINA_TRUE);
- }
+ D_MSG("font_size = %d, font_size_scale = %d", font_size, font_size_scale);
+
+ edje_text_class_del(widget_name);
+ edje_text_class_set(widget_name, NULL, font_size_scale);
+ elm_widget_theme_specific(obj, NULL, EINA_TRUE);
return TRUE;
}
void msg_common_reset_font_size(const char *widget_name)
{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
- MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, widget_name == NULL);
+ D_ENTER;
+ D_MSG_RETM_IF(widget_name == NULL, "widget_name is NULL");
edje_text_class_del(widget_name);
const char *__msg_common_get_file_icon_by_file_type(MSG_APP_FILE_TYPE_E file_type)
{
const char *icon_path = MSG_COMMON_FILE_ETC_ICON;
- if (file_type < MSG_APP_FILE_TYPE_NONE || file_type > MSG_APP_FILE_TYPE_MAX) {
+ if (file_type <= MSG_APP_FILE_TYPE_NONE || file_type >= MSG_APP_FILE_TYPE_MAX) {
D_EMSG("Invalid file_type!! file_type = %d", file_type);
return NULL;
}
int msg_common_delete_block_number(msg_handle_t msgHandle, const char *address)
{
D_ENTER;
-
- MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, !msgHandle || !address, false);
+ D_MSG_RETVM_IF(!msgHandle, FALSE, "msgHandle is NULL");
+ D_MSG_RETVM_IF(!address, FALSE, "address is NULL");
msg_struct_list_s filter_list = {0,};
msg_error_t err = MSG_SUCCESS;
int msg_common_check_block_number(msg_handle_t msgHandle, const char *address, bool *result)
{
D_ENTER;
- MSG_UI_RETVM_IF(MSG_UI_LEVEL_ERR, !msgHandle || !address, FALSE, "NULL_POINTER");
+ D_MSG_RETVM_IF(!msgHandle, FALSE, "msgHandle is NULL");
+ D_MSG_RETVM_IF(!address, FALSE, "address is NULL");
msg_struct_list_s filter_list = {0,};
msg_error_t err = MSG_SUCCESS;
return err;
}
+/*********************
+* [SMS]
+* [sent / outbox]
+* 1. Type:
+* 2. To:
+* 3. sent time:
+* 4. delivery report
+* 5. Status:
+*
+* [inbox]
+* 1. Type:
+* 2. From
+* 3. Received time:
+*
+* [MMS notification]
+* 1. Type:
+* 2. From:
+* 3: Expire:
+* 4. Subject:
+* 5. Message size: KB
+*
+* [MMS]
+* [ For sent/outbox msg]
+* 1. Type:
+* 2. To:
+* 3. Sent time:
+* 4. Subject:
+* 5. Message size:
+* 6. Delivery report:
+* 7. Read report:
+*
+* [For inbox msg]
+* 1. Type:
+* 2. From:
+* 3. Received time:
+* 4. Subject:
+* 5. Message size: KB
+**********************/
+
+char *msg_common_make_message_detail_text(msg_handle_t msgHandle, int msgId)
+{
+ msg_error_t err = MSG_SUCCESS;
+ int msg_type = MSG_TYPE_INVALID;
+ int folder_id = MSG_MAX_FOLDER_ID;
+ int thread_id = 0;
+ int contact_id = 0;
+ int timeformat = 0;
+ bool delivery_flag = false;
+ bool read_flag = false;
+ char addr_value[MAX_ADDRESS_VAL_LEN+1] = {0,};
+ char name[MAX_DISPLAY_NAME_LEN]= {0,};
+
+ msg_struct_list_s addrList = {0,};
+ msg_struct_t msgInfo = msg_create_struct(MSG_STRUCT_MESSAGE_INFO);
+ msg_struct_t sendOpt = msg_create_struct(MSG_STRUCT_SENDOPT);
+
+ /** Get message **/
+ err = msg_get_message(msgHandle, msgId, msgInfo, sendOpt);
+ if (err != MSG_SUCCESS) {
+ D_EMSG("msg_get_message has failed");
+ msg_release_struct(&msgInfo);
+ msg_release_struct(&sendOpt);
+ return NULL;
+ }
+
+ msg_get_int_value(msgInfo, MSG_MESSAGE_TYPE_INT, &msg_type);
+ msg_get_int_value(msgInfo, MSG_MESSAGE_FOLDER_ID_INT, &folder_id);
+ msg_get_int_value(msgInfo, MSG_MESSAGE_THREAD_ID_INT, &thread_id);
+
+ /** Get address list **/
+ err = msg_get_address_list(msgHandle, thread_id, &addrList);
+ if (err != MSG_SUCCESS) {
+ D_EMSG("msg_get_message has failed");
+ msg_release_struct(&msgInfo);
+ msg_release_struct(&sendOpt);
+ return NULL;
+ }
+
+ /* create str buf */
+ Eina_Strbuf *text_data = eina_strbuf_new();
+
+ /* set font size */
+ eina_strbuf_append(text_data, "<font_size=32>");
+
+
+ /*** Type ***/
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_BODY_DETAILS_TYPE"));
+ eina_strbuf_append(text_data, ": ");
+
+ if (msg_type == MSG_TYPE_MMS) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_MULTIMEDIA_MESSAGE"));
+ } else if (msg_type == MSG_TYPE_MMS_NOTI) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_MULTIMEDIA_MESSAGE_NOTIFICATION"));
+ } else if (msg_type == MSG_TYPE_SMS) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_OPT_TEXT_MESSAGE"));
+ } else {
+ D_EMSG("invalid msg type!");
+ msg_release_struct(&msgInfo);
+ msg_release_struct(&sendOpt);
+
+ eina_strbuf_free(text_data);
+ return NULL;
+ }
+ eina_strbuf_append(text_data, "<br>");
+
+ /*** From / To ***/
+ if (folder_id == MSG_SENTBOX_ID || folder_id == MSG_OUTBOX_ID) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGC_OPT_CHANGE_RECIPIENTS_TO"));
+ eina_strbuf_append(text_data, ": ");
+ } else if (folder_id == MSG_INBOX_ID) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_FROM"));
+ eina_strbuf_append(text_data, ": ");
+ } else {
+ D_EMSG("invalid msg type!");
+ msg_release_struct(&msgInfo);
+ msg_release_struct(&sendOpt);
+
+ eina_strbuf_free(text_data);
+ return NULL;
+ }
+
+ int index = 0;
+ for (index = 0; index < addrList.nCount; index ++) {
+ bzero(name, sizeof(name));
+ bzero(addr_value, sizeof(addr_value));
+
+ msg_get_int_value(addrList.msg_struct_info[index], MSG_ADDRESS_INFO_CONTACT_ID_INT, &contact_id);
+ msg_get_str_value(addrList.msg_struct_info[index], MSG_ADDRESS_INFO_DISPLAYNAME_STR, name, MAX_DISPLAY_NAME_LEN);
+ msg_get_str_value(addrList.msg_struct_info[index], MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, addr_value, MAX_ADDRESS_VAL_LEN);
+
+ if (name[0] != '\0') {
+ eina_strbuf_append(text_data, name);
+ eina_strbuf_append(text_data, "(");
+ eina_strbuf_append(text_data, addr_value);
+ eina_strbuf_append(text_data, ")");
+ } else {
+ eina_strbuf_append(text_data, addr_value);
+ }
+ if (index != addrList.nCount-1)
+ eina_strbuf_append(text_data, ", ");
+ }
+ eina_strbuf_append(text_data, "<br>");
+
+ /*** Sent / Received / Expire Time ***/
+ timeformat = msg_common_get_timeformat();
+
+ if (msg_type == MSG_TYPE_MMS_NOTI) {
+ msg_struct_t mmsSendOpt = NULL;
+ int expiry_time;
+ char *str_time = NULL;
+
+ char msg[DEF_BUF_LEN] = {0,};
+ const char *expire_str = dgettext(MESSAGE_PKGNAME, "IDS_MSGF_HEADER_EXPIRES_C_PS");
+
+ msg_get_struct_handle(sendOpt, MSG_SEND_OPT_MMS_OPT_HND, &mmsSendOpt);
+ msg_get_int_value(mmsSendOpt, MSG_MMS_SENDOPTION_EXPIRY_TIME_INT, &expiry_time);
+
+ if (timeformat == MSG_TIME_FORMAT_24H)
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "HH:mm, d MMM y", &expiry_time);
+ else
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "hh:mm a, d MMM y", &expiry_time);
+
+ snprintf(msg, sizeof(msg), expire_str, str_time);
+ eina_strbuf_append(text_data, msg);
+ } else {
+ if (folder_id == MSG_SENTBOX_ID || folder_id == MSG_OUTBOX_ID) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_MMSNOTIMSGSTATUSSENT"));
+ } else if (folder_id == MSG_INBOX_ID) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_RECEIVED"));
+ }
+ eina_strbuf_append(text_data, ": ");
+
+ int dptime = 0;
+ msg_get_int_value(msgInfo, MSG_MESSAGE_DISPLAY_TIME_INT, &dptime);
+
+ char *str_time = NULL;
+ if (timeformat == MSG_TIME_FORMAT_24H)
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "HH:mm, d MMM y", &dptime);
+ else
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "hh:mm a, d MMM y", &dptime);
+ eina_strbuf_append(text_data, str_time);
+ }
+
+ /*line change*/
+ eina_strbuf_append(text_data, "<br>");
+
+ if (msg_type == MSG_TYPE_SMS) { /*** SMS ***/
+ int status;
+
+ switch (folder_id) {
+ case MSG_SENTBOX_ID:
+ case MSG_OUTBOX_ID:
+ /** delivery report */
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_DELIVERY_REPORT"));
+ eina_strbuf_append(text_data, ": ");
+ // get delivery report setting value
+ msg_get_bool_value(sendOpt, MSG_SEND_OPT_DELIVER_REQ_BOOL, &delivery_flag);
+
+ if (delivery_flag) {
+ eina_strbuf_append(text_data, "<br>");
+ // report status
+ msg_struct_list_s report_list = {0,};
+ err = msg_get_report_status(msgHandle, msgId, &report_list);
+
+ int i = 0;
+ int j = 0;
+
+ if (report_list.nCount != 0) {
+ msg_struct_t report = NULL;
+ int type;
+ int status;
+ time_t time;
+ char address[MAX_ADDRESS_VAL_LEN+1] = {0,};
+
+
+ for (i=0; i < addrList.nCount; i++) {
+ bool report_found = false;
+
+ bzero(addr_value, sizeof(addr_value));
+ bzero(address, sizeof(address));
+ msg_get_str_value(addrList.msg_struct_info[i], MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, addr_value, MAX_ADDRESS_VAL_LEN);
+
+ eina_strbuf_append(text_data, addr_value);
+ eina_strbuf_append(text_data, " - ");
+
+ for (j=0; j<report_list.nCount; j++) {
+ report = report_list.msg_struct_info[j];
+ msg_get_str_value(report, MSG_REPORT_ADDRESS_STR, address, sizeof(address));
+
+ if (!strcmp(addr_value, address)) {
+ report_found = true;
+ msg_get_int_value(report, MSG_REPORT_TYPE_INT, &type);
+ msg_get_int_value(report, MSG_REPORT_STATUS_INT, &status);
+ msg_get_int_value(report, MSG_REPORT_TIME_INT, (int *)&time);
+
+ if (type == MSG_REPORT_TYPE_DELIVERY) {
+ if (status == MSG_DELIVERY_REPORT_NONE) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_REQUESTED"));
+ } else if (status == MSG_DELIVERY_REPORT_EXPIRED) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_EXPIRED"));
+ } else if (status == MSG_DELIVERY_REPORT_SUCCESS) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_RECEIVED"));
+ eina_strbuf_append(text_data, " (");
+ char *str_time = NULL;
+ if (timeformat == MSG_TIME_FORMAT_24H)
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "HH:mm, d MMM", &time);
+ else
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "hh:mm a, d MMM", &time);
+ eina_strbuf_append(text_data, str_time);
+ eina_strbuf_append(text_data, ")");
+ } else if (status == MSG_DELIVERY_REPORT_REJECTED) {
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_POP_REJECTED"));
+ } else {
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_BODY_UNKNOWN"));
+ }
+ }
+ }
+ }
+ if (!report_found)
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_REQUESTED"));
+
+ eina_strbuf_append(text_data, "<br>");
+ }
+ } else {
+ for (i=0; i < addrList.nCount; i++) {
+ bzero(addr_value, sizeof(addr_value));
+ msg_get_str_value(addrList.msg_struct_info[i], MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, addr_value, MAX_ADDRESS_VAL_LEN);
+ eina_strbuf_append(text_data, addr_value);
+ eina_strbuf_append(text_data, " - ");
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_REQUESTED"));
+ eina_strbuf_append(text_data, "<br>");
+ }
+ }
+
+ msg_release_list_struct(&report_list);
+ } else {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGC_BODY_NOT_REQUESTED"));
+ }
+
+ eina_strbuf_append(text_data, "<br>");
+
+ /** status **/
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_OPT_STATUS"));
+ eina_strbuf_append(text_data, ": ");
+ msg_get_int_value(msgInfo, MSG_MESSAGE_NETWORK_STATUS_INT, &status);
+ if (status == MSG_NETWORK_SENDING)
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_POP_SENDING"));
+ else if (status == MSG_NETWORK_SEND_SUCCESS)
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_POP_SENT"));
+ else if (status == MSG_NETWORK_SEND_FAIL)
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_POP_SENDING_FAILED"));
+
+ eina_strbuf_append(text_data, "<br>");
+ break;
+ default:
+ break;
+ }
+ } else if (msg_type == MSG_TYPE_MMS || msg_type == MSG_TYPE_MMS_NOTI) { /*** MMS ***/
+ /** subject **/
+ char subject[DEF_BUF_LEN_S] = {0,};
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_BODY_SUBJECT"));
+ eina_strbuf_append(text_data, ": ");
+ msg_get_str_value(msgInfo, MSG_MESSAGE_SUBJECT_STR, subject, sizeof(subject));
+ if (subject[0] != '\0')
+ eina_strbuf_append(text_data, subject);
+ else
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_UNTITLED_M_MMS"));
+ eina_strbuf_append(text_data, "<br>");
+
+ /** messae size **/
+ int msgSize = 0;
+ int sizeKB = 0;
+ char strSize[DEF_BUF_LEN_D] = {0,};
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_MESSAGE_SIZE"));
+ eina_strbuf_append(text_data, ": ");
+ msg_get_int_value(msgInfo, MSG_MESSAGE_DATA_SIZE_INT, &msgSize);
+
+ sizeKB = msgSize/1024;
+ if (msgSize%1024 > 512)
+ sizeKB++;
+ snprintf(strSize, sizeof(strSize), "%d%s", sizeKB, dgettext(MESSAGE_PKGNAME, "KB"));
+ eina_strbuf_append(text_data, strSize);
+ eina_strbuf_append(text_data, "<br>");
+
+ if (folder_id == MSG_SENTBOX_ID || folder_id == MSG_OUTBOX_ID) {
+ msg_struct_list_s report_list = {0,};
+ MSG_DETAIL_REPORT_LIST_S *report_data_list = NULL;
+ msg_struct_t mms_send_opt = NULL;
+ msg_get_struct_handle(sendOpt, MSG_SEND_OPT_MMS_OPT_HND, &mms_send_opt);
+
+ msg_get_bool_value(mms_send_opt, MSG_MMS_SENDOPT_DELIVERY_REPORT_BOOL, &delivery_flag);
+ msg_get_bool_value(mms_send_opt, MSG_MMS_SENDOPT_READ_REPLY_BOOL, &read_flag);
+
+ // getting delivery & read report information
+ if (delivery_flag || read_flag) {
+ int i;
+ report_data_list = (MSG_DETAIL_REPORT_LIST_S *)calloc(addrList.nCount, sizeof(MSG_DETAIL_REPORT_LIST_S));
+ if (report_data_list == NULL)
+ D_EMSG("report_list is null");
+
+ // get report status from FW
+ msg_get_report_status(msgHandle, msgId, &report_list);
+
+ for (i=0; i<addrList.nCount; i++) {
+ bzero(addr_value, sizeof(addr_value));
+ msg_get_str_value(addrList.msg_struct_info[i], MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, addr_value, MAX_ADDRESS_VAL_LEN);
+
+ strncpy(report_data_list[i].address, addr_value, MAX_ADDRESS_VAL_LEN);
+ report_data_list[i].delivery.status = MSG_DELIVERY_REPORT_NONE;
+ report_data_list[i].read.status = MSG_READ_REPORT_NONE;
+ }
+
+ for (i = 0; i < report_list.nCount; i++) {
+ int type;
+ int status;
+ time_t time;
+
+ bzero(addr_value, sizeof(addr_value));
+
+ msg_get_int_value(report_list.msg_struct_info[i], MSG_REPORT_TYPE_INT, (int *)&type);
+ msg_get_int_value(report_list.msg_struct_info[i], MSG_REPORT_STATUS_INT, (int *)&status);
+ msg_get_str_value(report_list.msg_struct_info[i], MSG_REPORT_ADDRESS_STR, addr_value, MAX_ADDRESS_VAL_LEN);
+ msg_get_int_value(report_list.msg_struct_info[i], MSG_REPORT_TIME_INT, (int *)&time);
+
+ int j = 0;
+ /* fill values for viewer report list */
+ for (j=0; j < addrList.nCount; j++) {
+ if (!strncmp(report_data_list[j].address, addr_value, MAX_ADDRESS_VAL_LEN)) {
+ if (type == MSG_REPORT_TYPE_DELIVERY) {
+ report_data_list[j].delivery.status = status;
+ report_data_list[j].delivery.time = time;
+ } else {
+ report_data_list[j].read.status = status;
+ report_data_list[j].read.time = time;
+ }
+ }
+ }
+ }
+ msg_release_list_struct(&report_list);
+ }
+
+ /** delivery report **/
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_DELIVERY_REPORT"));
+ eina_strbuf_append(text_data, " : ");
+ //
+ if (!delivery_flag || report_data_list == NULL) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGC_BODY_NOT_REQUESTED"));
+ } else {
+ int i;
+ for (i = 0; i < addrList.nCount; i++) {
+ eina_strbuf_append(text_data, report_data_list[i].address);
+ eina_strbuf_append(text_data, " - ");
+
+ if (report_data_list[i].delivery.status == MSG_DELIVERY_REPORT_NONE) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_REQUESTED"));
+ } else if (report_data_list[i].delivery.status == MSG_DELIVERY_REPORT_EXPIRED) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_EXPIRED"));
+ } else if (report_data_list[i].delivery.status == MSG_DELIVERY_REPORT_SUCCESS) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_RECEIVED"));
+ eina_strbuf_append(text_data, " (");
+
+ char *str_time = NULL;
+ if (timeformat == MSG_TIME_FORMAT_24H)
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "HH:mm, d MMM", &(report_data_list[i].delivery.time));
+ else
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "hh:mm a, d MMM", &(report_data_list[i].delivery.time));
+ eina_strbuf_append(text_data, str_time);
+ eina_strbuf_append(text_data, ")");
+ } else if (report_data_list[i].delivery.status == MSG_DELIVERY_REPORT_REJECTED) {
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_POP_REJECTED"));
+ } else {
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_BODY_UNKNOWN"));
+ }
+
+ if (i != addrList.nCount-1)
+ eina_strbuf_append(text_data, "<br>");
+ }
+
+ }
+ eina_strbuf_append(text_data, "<br>");
+
+ /** read report **/
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_READ_REPORT"));
+ eina_strbuf_append(text_data, ": ");
+ //
+ if (!read_flag) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGC_BODY_NOT_REQUESTED"));
+ } else {
+ int i = 0;
+ for (i = 0; i < addrList.nCount; i++) {
+ eina_strbuf_append(text_data, report_data_list[i].address);
+ eina_strbuf_append(text_data, " - ");
+ if (report_data_list[i].read.status == MSG_READ_REPORT_NONE) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_REQUESTED"));
+ } else if (report_data_list[i].read.status == MSG_READ_REPORT_IS_READ) {
+ eina_strbuf_append(text_data, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_MMSREADREPLYMSGREAD"));
+ eina_strbuf_append(text_data, " (");
+
+ char *str_time = NULL;
+ if (timeformat == MSG_TIME_FORMAT_24H)
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "HH:mm, d MMM", &(report_data_list[i].read.time));
+ else
+ str_time = msg_common_get_formatted_date(msg_common_get_default_locale(), "hh:mm a, d MMM", &(report_data_list[i].read.time));
+ eina_strbuf_append(text_data, str_time);
+ eina_strbuf_append(text_data, ")");
+ } else if (report_data_list[i].read.status == MSG_READ_REPORT_IS_DELETED) {
+ eina_strbuf_append(text_data, dgettext("sys_string", "IDS_COM_POP_DELETED"));
+ }
+
+ if (i != addrList.nCount-1)
+ eina_strbuf_append(text_data, "<br>");
+ }
+ }
+ eina_strbuf_append(text_data, "<br>");
+ }
+ }
+
+ char *str = strdup(eina_strbuf_string_get(text_data));
+
+ msg_release_list_struct(&addrList);
+ eina_strbuf_free(text_data);
+
+ msg_release_struct(&msgInfo);
+ msg_release_struct(&sendOpt);
+
+ return str;
+}
+
/* Define vconf key */
#define VCONFKEY_MSG_APP_FONT_SIZE "db/private/org.tizen.message/font_size"
+#define VCONFKEY_MSG_APP_ACCESS_FONT_SIZE "db/private/org.tizen.message/accessibility_font_size"
#define VCONFKEY_MSG_APP_USE_VOLUME_KEY "db/private/org.tizen.message/use_volume_key"
#define MSG_COMMON_EDJ EDJDIR"/msg_common.edj"
#define MSG_CUSTOM_WINSET_EDJ EDJDIR"/msg_custom_winset.edj"
+#define MSG_IMAGES_EDJ EDJDIR"/msg_images.edj"
+
/*==================================================================================================
ENUMERATIONS
MSG_APP_FONT_SIZE_LARGE = 64,
MSG_APP_FONT_SIZE_HUGE = 81,
MSG_APP_FONT_SIZE_GIANT = 106,
-
MSG_APP_FONT_SIZE_MAX
} MSG_APP_FONT_SIZE_E;
typedef enum {
- MSG_APP_FONT_SIZE_INDEX_SYSTEM_FONT,
- MSG_APP_FONT_SIZE_INDEX_GIANT,
- MSG_APP_FONT_SIZE_INDEX_HUGE,
- MSG_APP_FONT_SIZE_INDEX_LARGE,
- MSG_APP_FONT_SIZE_INDEX_NORMAL,
MSG_APP_FONT_SIZE_INDEX_SMALL,
-
+ MSG_APP_FONT_SIZE_INDEX_NORMAL,
+ MSG_APP_FONT_SIZE_INDEX_LARGE,
+ MSG_APP_FONT_SIZE_INDEX_HUGE,
+ MSG_APP_FONT_SIZE_INDEX_GIANT,
MSG_APP_FONT_SIZE_INDEX_MAX
} MSG_APP_FONT_SIZE_INDEX_E;
char *msg_common_get_display_date(const char *locale, char *bestPattern, char* yearPattern, time_t *msg_t);
/*
- *@fn msg_common_get_markup_text(const char *src, int fontsize, char *fontcolor, char *fontstyle);
+ *@fn msg_common_get_markup_text(const char *src, char *fontcolor, char *fontstyle);
*@brief This function is used to get marked up string from src text.
* Caller must free returned string by using eina_strbuf_free(), else memory will be leaked
*@return Eina_Strbuf* marked up string on success, else NULL pointer on failure
*@param[in] src original text to be displayed
- *@param[in] fontsize fontsize to be displayed. If 0 is passed, it is not set
*@param[in] fontcolor fontcolor to be displayed. It must be "#ffffff" style. If NULL is passed, it is not set
*@param[in] fontstyle fontstyle to be displayed. It must be passed font style like "hilight". If NULL is passed, it is not set
*/
-Eina_Strbuf *msg_common_get_markup_text(const char *src, int fontsize, char *fontcolor, char *fontstyle);
-
+Eina_Strbuf *msg_common_get_markup_text(const char *src, char *fontcolor, char *fontstyle);
/*
*@fn msg_common_is_valid_phone_number(const char *address);
*@brief This function is used to check address is valid number or not
MSG_BOOL msg_common_is_sim_inserted(void);
/*
- *@fn msg_common_get_font_size(int *index, int *font_size);
- *@brief This function is used to get the font size.
+ *@fn msg_common_get_font_size(int *index);
+ *@brief This function is used to get the index of font size.
*@param[in] index index of font size. It is used in message setting.
- *@param[in] font_size font size which is used in message app.
*@return return TRUE if vconf API is success, else FALSE
*/
-MSG_BOOL msg_common_get_font_size(int *index, int *font_size);
+MSG_BOOL msg_common_get_font_size(int *index);
/*
- *@fn msg_common_set_font_size(void);
- *@brief This function is used to set the font size.
+ *@fn msg_common_set_font_size(int index);
+ *@brief This function is used to set the index of font size.
*@return return TRUE if vconf API is success, else FALSE
*/
MSG_BOOL msg_common_set_font_size(int index);
/*
+ *@fn msg_common_increase_font_size(void);
+ *@brief This function is used to set the increased index of font size.
+ *@return return TRUE if vconf API is success, else FALSE
+ */
+MSG_BOOL msg_common_increase_font_size();
+
+/*
+ *@fn msg_common_decrease_font_size(void);
+ *@brief This function is used to set the decreased index of font size.
+ *@return return TRUE if vconf API is success, else FALSE
+ */
+MSG_BOOL msg_common_decrease_font_size();
+
+/*
+ *@fn msg_common_get_index_from_font_size(int font_size);
+ *@brief This function is used to get index from font size.
+ *@return return font size, else -1
+ */
+int msg_common_get_index_from_font_size(int font_size);
+
+/*
+ *@fn msg_common_get_font_size_from_index(int index);
+ *@brief This function is used to get font size from index.
+ *@return return index of font size, else -1
+ */
+int msg_common_get_font_size_from_index(int index);
+
+/*
+ *@fn msg_common_get_access_font_size(int *index);
+ *@brief This function is used to get the index of accessibility font size.
+ *@param[in] index index of font size. It is used in message setting.
+ *@return return TRUE if vconf API is success, else FALSE
+ */
+MSG_BOOL msg_common_get_access_font_size(int *index);
+
+/*
+ *@fn msg_common_set_access_font_size(int index);
+ *@brief This function is used to set the index of accessibility font size.
+ *@return return TRUE if vconf API is success, else FALSE
+ */
+MSG_BOOL msg_common_set_access_font_size(int index);
+
+
+/*
*@fn msg_common_apply_font_size(void);
*@brief This function is used to change the font size.
*@param[in] widget_name The widget name which font size is changed.
*/
int msg_common_check_block_number(msg_handle_t msgHandle, const char *address, bool *result);
+char *msg_common_make_message_detail_text(msg_handle_t msgHandle, int msgId);
+
+
#endif
#define __MSG_UI_IMAGE_RESOURCE__
/* viewer image resources */
-#define MSG_VIEWER_IMAGE_PATH IMGDIR
-
-#define MSG_VIEWER_IMAGE_ATTACH_ICON MSG_VIEWER_IMAGE_PATH"/attach_icon.png"
-#define MSG_VIEWER_IMAGE_DRM_ICON MSG_VIEWER_IMAGE_PATH"/M01_icon_DRM.png"
-#define MSG_VIEWER_IMAGE_DRM_SMALL_ICON MSG_VIEWER_IMAGE_PATH"/M01_icon_DRM_64x64.png"
-#define MSG_VIEWER_IMAGE_UNSUPPORT_ICON MSG_VIEWER_IMAGE_PATH"/M01_icon_Unsupported.png"
-#define MSG_VIEWER_IMAGE_SAVE_ICON MSG_VIEWER_IMAGE_PATH"/M01_icon_save.png"
+#define MSG_VIEWER_IMAGE_ATTACH_ICON "attach_icon.png"
+#define MSG_VIEWER_IMAGE_DRM_SMALL_ICON "M01_icon_DRM_64x64.png"
+#define MSG_VIEWER_IMAGE_SAVE_ICON "M01_icon_save.png"
+#define MSG_VIEWER_IMAGE_UNSUPPORT_ICON "M01_icon_Unsupported.png"
+#define MSG_VIEWER_IMAGE_DRM_ICON "M01_icon_DRM.png"
+#define MSG_VIEWER_IMAGE_ATTACH_LIST_ICON "M01_title_icon_attach.png"
+#define MSG_VIEWER_IMAGE_ATTACH_LIST_DIM_ICON "M01_title_icon_attach_dim.png"
/* composer image resources */
-#define MSGC_UI_IMG_PATH IMGDIR
-
-#define MSGC_IMG_ATTACHMENT_ICON MSGC_UI_IMG_PATH"/60_myfiles_file_etc.png"
-#define MSGC_IMG_ATTACHMENT_DEL_ICON MSGC_UI_IMG_PATH"/M01_btn_delete.png"
-
-#define MSGC_SMS_SEND_ICON MSGC_UI_IMG_PATH"/M01_btn_message_send.png"
-#define MSGC_SMS_SEND_DIM_ICON MSGC_UI_IMG_PATH"/M01_btn_message_send_dim.png"
-#define MSGC_MMS_SEND_ICON MSGC_UI_IMG_PATH"/M01_btn_mms_message_send.png"
-#define MSGC_MMS_SEND_DIM_ICON MSGC_UI_IMG_PATH"/M01_btn_mms_message_send_dim.png"
-#define MSGC_IMG_INSERT_VOICE_ICON MSGC_UI_IMG_PATH"/M01_icon_attach_voice.png"
-#define MSGC_IMG_INSERT_ETC_ICON MSGC_UI_IMG_PATH"/60_myfiles_file_etc.png"
-#define MSGC_IMG_INSERT_DEL_ICON MSGC_UI_IMG_PATH"/M01_photo_btn_delete.png"
-#define MSGC_IMG_INSERT_DEL_PRESS_ICON MSGC_UI_IMG_PATH"/M01_photo_btn_delete_press.png"
-#define MSGC_SOUND_INSERT_DEL_ICON MSGC_UI_IMG_PATH"/M01_btn_delete.png"
-#define MSGC_IMG_PAGE_DEL_ICON MSGC_UI_IMG_PATH"/M01_btn_delete.png"
-#define MSGC_IMG_SUBJECT_DEL_ICON MSGC_UI_IMG_PATH"/M01_btn_delete.png"
-
-#define MSGC_IMG_DEL_BTN_PRESS_ICON MSGC_UI_IMG_PATH"/M01_btn_delete_press.png"
-
-
-#define MSGC_IMG_CONTACT_BUTTON_ICON MSGC_UI_IMG_PATH"/M01_button_contact.png"
+#define MSGC_IMG_ATTACHMENT_ICON "60_myfiles_file_etc.png"
+#define MSGC_IMG_ATTACHMENT_DEL_ICON "M01_btn_delete.png"
+
+#define MSGC_SMS_SEND_ICON "M01_btn_message_send.png"
+#define MSGC_SMS_SEND_DIM_ICON "M01_btn_message_send_dim.png"
+#define MSGC_MMS_SEND_ICON "M01_btn_mms_message_send.png"
+#define MSGC_MMS_SEND_DIM_ICON "M01_btn_mms_message_send_dim.png"
+#define MSGC_IMG_INSERT_VOICE_ICON "M01_icon_attach_voice.png"
+#define MSGC_IMG_INSERT_ETC_ICON "60_myfiles_file_etc.png"
+#define MSGC_IMG_INSERT_DEL_ICON "M01_photo_btn_delete.png"
+#define MSGC_IMG_INSERT_DEL_PRESS_ICON "M01_photo_btn_delete_press.png"
+#define MSGC_SOUND_INSERT_DEL_ICON "M01_btn_delete.png"
+#define MSGC_IMG_PAGE_DEL_ICON "M01_btn_delete.png"
+#define MSGC_IMG_SUBJECT_DEL_ICON "M01_btn_delete.png"
+
+#define MSGC_IMG_DEL_BTN_PRESS_ICON "M01_btn_delete_press.png"
+#define MSGC_IMG_CONTACT_BUTTON_ICON "M01_contact_default_image.png"
/* thread list image resources */
-#define MSG_UI_THREAD_LIST_PATH IMGDIR
-
-#define MSG_UI_THREAD_LIST_SOS_ICON MSG_UI_THREAD_LIST_PATH"/M01_icon_SOS.png"
-#define MSG_UI_THREAD_LIST_PUSH_ICON MSG_UI_THREAD_LIST_PATH"/M01_icon_Push.png"
-#define MSG_UI_THREAD_LIST_OTA_ICON MSG_UI_THREAD_LIST_PATH"/M01_icon_OTA.png"
-#define MSG_UI_THREAD_LIST_CB_ICON MSG_UI_THREAD_LIST_PATH"/M01_icon_broadcasting.png"
+#define MSG_UI_THREAD_LIST_SOS_ICON "M01_icon_SOS.png"
+#define MSG_UI_THREAD_LIST_PUSH_ICON "M01_icon_Push.png"
+#define MSG_UI_THREAD_LIST_OTA_ICON "M01_icon_OTA.png"
+#define MSG_UI_THREAD_LIST_CB_ICON "M01_icon_broadcasting.png"
/* thread list message status icon*/
-#define MSG_UI_THREAD_LIST_STATUS_MMS_READ MSG_UI_THREAD_LIST_PATH"/M01_icon_message_status_mms_read_n.png"
-#define MSG_UI_THREAD_LIST_STATUS_MMS_UNREAD MSG_UI_THREAD_LIST_PATH"/M01_icon_message_status_mms_unread_n.png"
-#define MSG_UI_THREAD_LIST_STATUS_MMS_SENT MSG_UI_THREAD_LIST_PATH"/M01_icon_message_status_mms_sent_n.png"
-#define MSG_UI_THREAD_LIST_STATUS_SMS_READ MSG_UI_THREAD_LIST_PATH"/M01_icon_message_status_sms_read_n.png"
-#define MSG_UI_THREAD_LIST_STATUS_SMS_UNREAD MSG_UI_THREAD_LIST_PATH"/M01_icon_message_status_sms_unread_n.png"
-#define MSG_UI_THREAD_LIST_STATUS_SMS_SENT MSG_UI_THREAD_LIST_PATH"/M01_icon_message_status_sms_sent_n.png"
+#define MSG_UI_THREAD_LIST_STATUS_MMS_READ "M01_icon_message_status_mms_read_n.png"
+#define MSG_UI_THREAD_LIST_STATUS_MMS_UNREAD "M01_icon_message_status_mms_unread_n.png"
+#define MSG_UI_THREAD_LIST_STATUS_MMS_SENT "M01_icon_message_status_mms_sent_n.png"
+#define MSG_UI_THREAD_LIST_STATUS_SMS_READ "M01_icon_message_status_sms_read_n.png"
+#define MSG_UI_THREAD_LIST_STATUS_SMS_UNREAD "M01_icon_message_status_sms_unread_n.png"
+#define MSG_UI_THREAD_LIST_STATUS_SMS_SENT "M01_icon_message_status_sms_sent_n.png"
+#define MSG_UI_THREAD_LIST_TITLE_ICON_COMPOSE "M01_title_icon_compose.png"
+#define MSG_UI_THREAD_LIST_TITLE_ICON_SEARCH "M01_title_icon_search.png"
+#define MSG_UI_THREAD_LIST_TITLE_ICON_SEARCH_DIM "M01_title_icon_search_dim.png"
/* common image resources */
-#define MSG_COMMON_FILE_ETC_ICON IMGDIR"/myfile_icon_etc.png"
-
-#define MSG_COMMON_FILE_IMAGE_ICON IMGDIR"/myfile_icon_images.png"
-#define MSG_COMMON_FILE_VIDEO_ICON IMGDIR"/myfile_icon_video.png"
-#define MSG_COMMON_FILE_MUSIC_ICON IMGDIR"/myfile_icon_music.png"
-#define MSG_COMMON_FILE_SOUND_ICON IMGDIR"/myfile_icon_music.png"
-#define MSG_COMMON_FILE_PDF_ICON IMGDIR"/myfile_icon_pdf.png"
-#define MSG_COMMON_FILE_DOC_ICON IMGDIR"/myfile_icon_word.png"
-#define MSG_COMMON_FILE_PPT_ICON IMGDIR"/myfile_icon_ppt.png"
-#define MSG_COMMON_FILE_EXCEL_ICON IMGDIR"/myfile_icon_excel.png"
-#define MSG_COMMON_FILE_VOICE_ICON IMGDIR"/myfile_icon_music.png"
-#define MSG_COMMON_FILE_HTML_ICON IMGDIR"/myfile_icon_html.png"
-#define MSG_COMMON_FILE_FLASH_ICON IMGDIR"/myfile_icon_swf.png"
-#define MSG_COMMON_FILE_TXT_ICON IMGDIR"/myfile_icon_text.png"
-#define MSG_COMMON_FILE_VCONTACT_ICON IMGDIR"/myfile_icon_svg.png"
-#define MSG_COMMON_FILE_VCALENDAR_ICON IMGDIR"/myfile_icon_svg.png"
-#define MSG_COMMON_FILE_VNOTE_ICON IMGDIR"/myfile_icon_text.png"
-#define MSG_COMMON_FILE_RSS_ICON IMGDIR"/myfile_icon_rss.png"
-#define MSG_COMMON_FILE_JAVA_ICON IMGDIR"/myfile_icon_java.png"
+#define MSG_COMMON_FILE_ETC_ICON "myfile_icon_etc.png"
+
+#define MSG_COMMON_FILE_IMAGE_ICON "myfile_icon_images.png"
+#define MSG_COMMON_FILE_VIDEO_ICON "myfile_icon_video.png"
+#define MSG_COMMON_FILE_MUSIC_ICON "myfile_icon_music.png"
+#define MSG_COMMON_FILE_SOUND_ICON "myfile_icon_music.png"
+#define MSG_COMMON_FILE_PDF_ICON "myfile_icon_pdf.png"
+#define MSG_COMMON_FILE_DOC_ICON "myfile_icon_word.png"
+#define MSG_COMMON_FILE_PPT_ICON "myfile_icon_ppt.png"
+#define MSG_COMMON_FILE_EXCEL_ICON "myfile_icon_excel.png"
+#define MSG_COMMON_FILE_VOICE_ICON "myfile_icon_music.png"
+#define MSG_COMMON_FILE_HTML_ICON "myfile_icon_html.png"
+#define MSG_COMMON_FILE_FLASH_ICON "myfile_icon_swf.png"
+#define MSG_COMMON_FILE_TXT_ICON "myfile_icon_text.png"
+#define MSG_COMMON_FILE_VCONTACT_ICON "myfile_icon_svg.png"
+#define MSG_COMMON_FILE_VCALENDAR_ICON "myfile_icon_svg.png"
+#define MSG_COMMON_FILE_VNOTE_ICON "myfile_icon_text.png"
+#define MSG_COMMON_FILE_RSS_ICON "myfile_icon_rss.png"
+#define MSG_COMMON_FILE_JAVA_ICON "myfile_icon_java.png"
#endif /*__MSG_UI_IMAGE_RESOURCE__*/
#include <string.h>
#include "dlog.h"
#include <vconf.h>
-#include <heynoti.h>
#include "msg-ui-bundle.h"
#include <unicode/udat.h>
#define DEF_PATH_MAX (4096)
#define DEF_IMG_PATH_LEN (1024)
-#define DEF_MAX_MSG_TEXT_LEN (1530)
+#define DEF_MAX_MSG_TEXT_LEN (153*15)
#define MSG_UI_URL_MAX_LEN (1024)
#define DEF_MAX_EMAIL_LEN (255)
#define DEF_MAX_FILTER_LEN (40)
LOG(LOG_DEBUG, TAG_MSG_UI, "\n[%s %s() #%d ]" fmt "\n", (rindex(__FILE__, '/') ? (rindex(__FILE__, '/')+1) : __FILE__), __FUNCTION__, __LINE__, ##args);
#define D_EMSG(fmt, args...) \
- LOG(LOG_DEBUG, TAG_MSG_UI, "\n[ERROR][%s %s() #%d ]" fmt "\n", (rindex(__FILE__, '/') ? (rindex(__FILE__, '/')+1) : __FILE__), __FUNCTION__, __LINE__, ##args);
+ LOG(LOG_ERROR, TAG_MSG_UI, "\n[ERROR][%s %s() #%d ]" fmt "\n", (rindex(__FILE__, '/') ? (rindex(__FILE__, '/')+1) : __FILE__), __FUNCTION__, __LINE__, ##args);
#define D_ENTER\
LOG(LOG_DEBUG, TAG_MSG_UI, "\n[ENTER][%s %s(%p) #%d ]>>>>>\n", (rindex(__FILE__, '/') ? (rindex(__FILE__, '/')+1) : __FILE__), __FUNCTION__, __FUNCTION__, __LINE__);
#define MSG_UI_NOTI_ALREADY_BLOCKED "Already blocked for this address"
/* Navigation icon*/
-#define MSG_HEADER_ICON_CANCEL IMGDIR"/01_header_icon_cancel.png"
-#define MSG_HEADER_ICON_DONE IMGDIR"/01_header_icon_done.png"
+#define MSG_HEADER_ICON_CANCEL "01_header_icon_cancel.png"
+#define MSG_HEADER_ICON_DONE "01_header_icon_done.png"
-#define MSG_TITLE_ICON_VOICECALL IMGDIR"/M01_icon_voice_call.png"
-#define MSG_TITLE_ICON_VIDEOCALL IMGDIR"/M01_icon_video_call.png"
-#define MSG_TITLE_ICON_ADD_TO_CONTACT IMGDIR"/01_controllbar_icon_add_to_contact.png"
-#define MSG_TITLE_ICON_BLOCK IMGDIR"/M01_icon_block.png"
-#define MSG_TITLE_ICON_UNBLOCK IMGDIR"/M01_icon_unblock.png"
-#define MSG_CONTROLBAR_ICON_VIEW_CONTACT IMGDIR"/M01_icon_view_contact.png"
+#define MSG_TITLE_ICON_VOICECALL "M01_icon_voice_call.png"
+#define MSG_TITLE_ICON_VIDEOCALL "M01_icon_video_call.png"
+#define MSG_TITLE_ICON_ADD_TO_CONTACT "01_controllbar_icon_add_to_contact.png"
+#define MSG_TITLE_ICON_BLOCK "M01_icon_block.png"
+#define MSG_TITLE_ICON_UNBLOCK "M01_icon_unblock.png"
+#define MSG_CONTROLBAR_ICON_VIEW_CONTACT "M01_icon_view_contact.png"
/* Controlbar Icon */
#define MSG_CONTROLBAR_IMG_PATH IMGDIR"/controlbar/"
#define MSG_CONTROLBAR_ICON_CANCEL MSG_CONTROLBAR_IMG_PATH"01_controllbar_icon_close.png"
#define MSG_CONTROLBAR_ICON_DELETE MSG_CONTROLBAR_IMG_PATH"01_controlbar_icon_delete.png"
#define MSG_CONTROLBAR_ICON_FORWARD MSG_CONTROLBAR_IMG_PATH"01_controlbar_icon_forward.png"
-#define MSG_CONTROLBAR_ICON_MORE MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_more.png"
+#define MSG_CONTROLBAR_ICON_MORE MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_more.png"
#define MSG_CONTROLBAR_ICON_SETTINGS MSG_CONTROLBAR_IMG_PATH"01_controlbar_icon_settings.png"
-#define MSG_CONTROLBAR_ICON_EDIT MSG_CONTROLBAR_IMG_PATH"01_controlbar_icon_edit.png"
+#define MSG_CONTROLBAR_ICON_EDIT MSG_CONTROLBAR_IMG_PATH"01_controlbar_icon_edit.png"
#define MSG_CONTROLBAR_ICON_MESSAGEBOX MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_message_boxes.png"
-#define MSG_CONTROLBAR_ICON_PROTECTION_OFF MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_protection_off.png"
+#define MSG_CONTROLBAR_ICON_PROTECTION_OFF MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_protection_off.png"
#define MSG_CONTROLBAR_ICON_CANCEL_MSG MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_cancel_message.png"
#define MSG_CONTROLBAR_ICON_COPY_PHONE MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_copy_to_phone.png"
-#define MSG_CONTROLBAR_ICON_RESTORE MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_restore.png"
+#define MSG_CONTROLBAR_ICON_RESTORE MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_restore.png"
/* viewer */
-#define MSG_CONTROLBAR_ICON_PLAY MSG_CONTROLBAR_IMG_PATH"01_controlbar_icon_Play.png"
+#define MSG_CONTROLBAR_ICON_PLAY MSG_CONTROLBAR_IMG_PATH"01_controlbar_icon_Play.png"
#define MSG_CONTROLBAR_ICON_ATTACH MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_attach.png"
-#define MSG_CONTROLBAR_ICON_REPLY MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_reply.png"
+#define MSG_CONTROLBAR_ICON_REPLY MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_reply.png"
#define MSG_CONTROLBAR_ICON_RESEND MSG_CONTROLBAR_IMG_PATH"M01_controlbar_icon_resend.png"
/* setting */
static void lang_changed(void *data)
{
D_ENTER;
+ struct appdata *ad = data;
ug_send_event(UG_EVENT_LANG_CHANGE);
+
+ msg_ui_thread_lang_changed(ad->thread_data);
}
static void low_battery_cb(void *data)
}
service_add_extra_data(svc_handle, MSG_BUNDLE_KEY_TYPE, MSG_BUNDLE_VALUE_COMPOSE);
+ } else if (g_strcmp0(operation, SERVICE_OPERATION_DEFAULT) == 0) {
+ char *key_type = NULL;
+
+ service_get_extra_data(service, MSG_BUNDLE_KEY_TYPE, &key_type);
+ if (g_strcmp0(key_type, MSG_BUNDLE_VALUE_MSG_ID) == 0) {
+ msg_error_t err = MSG_SUCCESS;
+ msg_struct_t count_info = msg_create_struct(MSG_STRUCT_COUNT_INFO);
+ int unread_cnt = 0;
+
+ err = msg_count_message(gAppData->msgHandle, MSG_INBOX_ID, count_info);
+ if (err != MSG_SUCCESS) {
+ msg_release_struct(&count_info);
+ return NULL;
+ }
+
+ msg_get_int_value(count_info, MSG_COUNT_INFO_UNREAD_INT, &unread_cnt);
+ if (unread_cnt == 1)
+ svc_handle = __get_service_with_msg_id(gAppData, service);
+
+ msg_release_struct(&count_info);
+ }
}
D_LEAVE;
evas_object_smart_callback_add(eo, "delete,request", win_del, NULL);
ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
evas_object_resize(eo, w, h);
+ elm_win_conformant_set(eo, EINA_TRUE);
}
D_LEAVE;
win = ug_get_window();
switch (mode) {
- case UG_MODE_FULLVIEW:
+ case UG_MODE_FULLVIEW:
evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, base);
evas_object_show(base);
break;
case UG_MODE_FRAMEVIEW:
- default:
+ default:
break;
}
if (buf) {
update_id = atoi(buf);
msg_ui_thread_list_item_update(pListData, update_id);
+ pListData->sel_thread_id = update_id;
}
}
}
PMSG_THREAD_LIST_DATA pListData = NULL;
pListData = msg_ui_thread_get_current_list();
-
if (pListData == NULL) {
elm_exit();
return;
}
- if (pData->isRotate == true) {
- if (!pData->split_data) {
- msg_ui_thread_create_split_data();
- msg_ui_thread_splitview_launch(pData, pData->split_data);
+ if (pData) {
+ if (pData->isRotate == true) {
+ if (!pData->split_data) {
+ msg_ui_thread_create_split_data();
+ msg_ui_thread_splitview_launch(pData, pData->split_data);
+ }
+ if (ug_type == MSG_COMPOSER_UG_TYPE_VIEWER) {
+ msg_ui_thread_cancel_search_mode(pListData);
+ elm_win_lower(pData->win_main);
+ }
+ } else {
+ elm_object_part_content_set(pData->panes, "left", pData->layout_main);
+ elm_object_part_content_unset(pData->panes, "right");
+ elm_panes_content_left_size_set(pData->panes, 1.0);
}
-
- if (ug_type == MSG_COMPOSER_UG_TYPE_VIEWER)
- elm_win_lower(pData->win_main);
- } else {
- elm_object_part_content_set(pData->panes, "left", pData->layout_main);
- elm_object_part_content_unset(pData->panes, "right");
- elm_panes_content_left_size_set(pData->panes, 1.0);
}
if (pListData->sel_thread_id > 0)
gAppData->ug_type = MSG_COMPOSER_UG_TYPE_NONE;
service_add_extra_data(svc_handle, MSG_BUNDLE_KEY_FROM, MSG_BUNDLE_VALUE_INTERNAL);
- gAppData->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FULLVIEW, svc_handle, &gAppData->cbs);
+ if (ug_type == MSG_COMPOSER_UG_TYPE_COMPOSER)
+ gAppData->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FULLVIEW, svc_handle, &gAppData->cbs);
+ else
+ gAppData->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FRAMEVIEW, svc_handle, &gAppData->cbs);
} else {
ug_send_message(gAppData->composer_ug, svc_handle);
}
} else {
service_add_extra_data(svc_handle, MSG_BUNDLE_KEY_FROM, MSG_BUNDLE_VALUE_INTERNAL);
- gAppData->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FULLVIEW, svc_handle, &gAppData->cbs);
+ if (ug_type == MSG_COMPOSER_UG_TYPE_COMPOSER)
+ gAppData->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FULLVIEW, svc_handle, &gAppData->cbs);
+ else
+ gAppData->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FRAMEVIEW, svc_handle, &gAppData->cbs);
}
if (!gAppData->composer_ug)
evas_object_hide(pData->layout_main);
}
}
-
D_LEAVE;
return MSG_UI_RET_SUCCESS;
}
ad->win_main = win;
+ ad->bg = elm_bg_add(ad->win_main);
+ evas_object_size_hint_weight_set(ad->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(ad->win_main, ad->bg);
+
+ ad->conform = elm_conformant_add(win);
+ if (ad->conform == NULL)
+ return FALSE;
+
+ evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, ad->conform);
+ evas_object_show(ad->conform);
+
err = sound_manager_set_session_type(SOUND_SESSION_TYPE_SHARE);
if (err != SOUND_MANAGER_ERROR_NONE)
D_MSG("sound_manager_set_session_type is failed, ret = [%d]", err);
}
if (isDefaultView) {
+ MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "show DefaultView");
if (ad->composer_ug) {
ug_destroy(ad->composer_ug);
ad->composer_ug = NULL;
if (!ad->layout_main) {
ad->layout_main = msg_ui_thread_create_layout_main(ad->thread_data);
evas_object_size_hint_weight_set(ad->layout_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(ad->win_main, ad->layout_main);
+ elm_object_content_set(ad->conform, ad->layout_main);
msg_ui_thread_load_thread_view(ad->thread_data, service);
} else {
}
__rotate(app_get_device_orientation(), ad);
} else {
+ MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "show app-service view");
/* If message app is called by app-service to display composer view,
* list view should be destroyed because previous screen should be displayed
* when user tap back button.
*/
+ MessageComposerUgType ug_type = MSG_COMPOSER_UG_TYPE_NONE;
+
if (operation != NULL) {
+ int i = 0;
+ PMSG_THREAD_DATA pData = (PMSG_THREAD_DATA)ad->thread_data;
+
if (g_strcmp0(operation, SERVICE_OPERATION_SEND) == 0 ||
g_strcmp0(operation, SERVICE_OPERATION_SEND_TEXT) == 0) {
if (ad->layout_main) {
+ /* content unset composer */
+ if (ad->ug_type == MSG_COMPOSER_UG_TYPE_VIEWER) {
+ if (pData)
+ elm_object_part_content_unset(pData->panes, "right");
+ }
+
+ if (pData) {
+ for (i = MSG_THREAD_LIST_MAX_COUNT-1; i >= 0; i--) {
+ if (pData->list_data[i] != NULL) {
+ msg_ui_thread_destroy_thread_list_data(pData->list_data[i]);
+ }
+ }
+ }
evas_object_del(ad->layout_main);
ad->layout_main = NULL;
}
+ ug_type = MSG_COMPOSER_UG_TYPE_COMPOSER;
+ } else if (g_strcmp0(operation, SERVICE_OPERATION_DEFAULT) == 0) {
+ char *key_type = NULL;
+
+ service_get_extra_data(service, MSG_BUNDLE_KEY_TYPE, &key_type);
+ if (g_strcmp0(key_type, MSG_BUNDLE_VALUE_MSG_ID) == 0) {
+ if (ad->layout_main) {
+ /* content unset composer */
+ if (ad->ug_type == MSG_COMPOSER_UG_TYPE_VIEWER) {
+ if (pData)
+ elm_object_part_content_unset(pData->panes, "right");
+ }
+
+ if (pData) {
+ for (i = MSG_THREAD_LIST_MAX_COUNT-1; i >= 0; i--) {
+ if (pData->list_data[i] != NULL) {
+ msg_ui_thread_destroy_thread_list_data(pData->list_data[i]);
+ }
+ }
+ }
+ evas_object_del(ad->layout_main);
+ ad->layout_main = NULL;
+ }
+ ug_type = MSG_COMPOSER_UG_TYPE_VIEWER;
+ }
}
}
- if (!ad->composer_ug)
- ad->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FULLVIEW, svc_handle, &ad->cbs);
- else
- ug_send_message(ad->composer_ug, svc_handle);
-
- PMSG_THREAD_DATA pData = (PMSG_THREAD_DATA)ad->thread_data;
- char *thread_id_s = NULL;
-
- service_get_extra_data(svc_handle, MSG_BUNDLE_KEY_THREAD_ID, &thread_id_s);
-
- if (pData) {
- PMSG_THREAD_LIST_DATA pListData = NULL;
- pListData = msg_ui_thread_get_current_list();
-
- if (pListData && thread_id_s)
- pListData->sel_thread_id = atoi(thread_id_s);
+ if (ad->composer_ug) {
+ ug_destroy(ad->composer_ug);
+ ad->composer_ug = NULL;
+ ad->ug_type = MSG_COMPOSER_UG_TYPE_NONE;
}
+
+ ad->composer_ug = ug_create(NULL, MSG_COMPOSER_UG_NAME, UG_MODE_FULLVIEW, svc_handle, &ad->cbs);
+ ad->ug_type = ug_type;
}
if (svc_handle)
struct appdata
{
Evas_Object *win_main;
+ Evas_Object *conform;
+ Evas_Object *bg;
Evas_Object *layout_main;
struct ug_cbs cbs;
BuildRequires: pkgconfig(appsvc)
BuildRequires: pkgconfig(bundle)
BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(capi-appfw-app-manager)
BuildRequires: pkgconfig(capi-media-metadata-extractor)
BuildRequires: pkgconfig(capi-media-sound-manager)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(capi-media-metadata-extractor)
BuildRequires: pkgconfig(capi-media-image-util)
BuildRequires: pkgconfig(capi-media-player)
-BuildRequires: pkgconfig(contacts-service)
+BuildRequires: pkgconfig(capi-content-media-content)
+BuildRequires: pkgconfig(contacts-service2)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(drm-client)
BuildRequires: pkgconfig(elementary)
BuildRequires: pkgconfig(ecore-input)
BuildRequires: pkgconfig(ecore-imf)
BuildRequires: pkgconfig(ecore-file)
+BuildRequires: pkgconfig(ecore-evas)
BuildRequires: pkgconfig(eina)
+BuildRequires: pkgconfig(evas)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(heynoti)
BuildRequires: pkgconfig(icu-i18n)
+BuildRequires: pkgconfig(libexif)
BuildRequires: pkgconfig(msg-service)
BuildRequires: pkgconfig(mm-common)
BuildRequires: pkgconfig(mm-player)
BuildRequires: pkgconfig(mm-session)
BuildRequires: pkgconfig(syspopup-caller)
BuildRequires: pkgconfig(status)
+BuildRequires: pkgconfig(tapi)
BuildRequires: pkgconfig(ui-gadget-1)
BuildRequires: pkgconfig(utilX)
BuildRequires: pkgconfig(libexif)
#include <ui-gadget-module.h>
#include <utilX.h>
#include <time.h>
-#include <contacts-svc.h>
+#include <contacts.h>
#include "message.h"
#include "msg-ui-util.h"
+#include "msg-ui-image-resource.h"
#include "msg-ui-common-utility.h"
#define MSG_THREAD_THEME EDJDIR"/thread_genlist.edj"
-#define MSG_THREAD_CONTROLBAR_ITEM_NUM (4)
#define MSG_THREAD_DELETE_NOTI_TIME 1.5
#define MSG_THREAD_LIST_MAX_COUNT 10
#define MSG_THREAD_LIST_LAUNCH_LOAD_MAX_CNT 20
Elm_Theme *th;
Evas_Object *win_main;
+ Evas_Object *conform;
Evas_Object *panes;
Evas_Object *layout_main;
Evas_Object *navi_frame;
char *date_ptn_year;
msg_time_format time_fmt;
char locale[DEF_BUF_LEN];
- int noti_fd;
bool isRotate; /* Rotation state */
bool isIncomingMsg; /* Check there is new incoming message when it back from edit mode to normal. */
typedef struct _MSG_THREAD_LIST_DATA {
Evas_Object *genlist;
- Evas_Object *conform;
Evas_Object *content_ly;
Evas_Object *noc_ly;
Elm_Object_Item *nf_it; //title, control bar naviframe item
- Evas_Object *toolbar;
- Elm_Object_Item *toolbar_item[MSG_THREAD_CONTROLBAR_ITEM_NUM];
+ Evas_Object *toolbar_btn[CONTROLBAR_ITEM_MAX];
Evas_Object *back_btn;
+ Evas_Object *search_btn;
Evas_Object *searchbar;
Ecore_Timer *search_timer;
void msg_ui_thread_fullview_launch(PMSG_THREAD_DATA pData, PMSG_THREAD_LIST_DATA pListData);
void msg_ui_thread_splitview_launch(PMSG_THREAD_DATA pData, PMSG_THREAD_SPLIT_DATA pSplitData);
-void msg_ui_thread_splitview_set_title(PMSG_THREAD_SPLIT_DATA pSplitData);
Evas_Object *msg_ui_thread_create_content_layout(Evas_Object *parent);
Evas_Object *msg_ui_thread_create_nocontent_layout(Evas_Object *parent);
Evas_Object *msg_ui_thread_create_layout_main(PMSG_THREAD_DATA pData);
Evas_Object *msg_ui_thread_create_searchbar_layout(Evas_Object *parent, PMSG_THREAD_LIST_DATA pListData);
void msg_ui_thread_reg_msg_cb_func(PMSG_THREAD_DATA pData);
-Evas_Object *msg_ui_thread_create_toolbar(Evas_Object *parent);
-void msg_ui_thread_set_navi_controlbar_item(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_set_navi_toolbar_item(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_show_toolbar(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_hide_toolbar(PMSG_THREAD_LIST_DATA pListData, bool bDeleteBtn);
void msg_ui_thread_rotation_set(void *data, int rot);
bool msg_ui_thread_rotation_get(void);
+void msg_ui_thread_lang_changed(void *data);
void msg_ui_thread_split_view_hide(PMSG_THREAD_DATA pData);
void msg_ui_thread_split_view_show(PMSG_THREAD_DATA pData);
PMSG_APP_THREAD_DATELINE_DATA_S msg_ui_thread_list_insert_dateline(PMSG_THREAD_LIST_DATA pListData, time_t* cur_time, time_t* prev_time);
void msg_ui_thread_list_load(PMSG_THREAD_LIST_DATA pListData, Eina_Bool bLaunch);
void msg_ui_thread_list_update(PMSG_THREAD_LIST_DATA pListData);
-void msg_ui_thread_list_item_update(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id);
+Eina_Bool msg_ui_thread_list_item_update(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id);
void msg_ui_thread_list_item_delete(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id);
void msg_ui_thread_msg_list_load(PMSG_THREAD_LIST_DATA pListData, int listType);
void msg_ui_thread_list_msg_list_update(PMSG_THREAD_LIST_DATA pListData);
void msg_ui_thread_list_msg_item_delete(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id);
-void msg_ui_thread_list_msg_item_update(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id);
+Eina_Bool msg_ui_thread_list_msg_item_update(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id);
Eina_Bool msg_ui_thread_search_msg_list_load(void *data);
void msg_ui_thread_common_style_set(PMSG_THREAD_DATA pData);
void msg_ui_thread_ctlbar_checkbox_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_ctlbar_spam_setting_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_ctlbar_compose_cb(void *data, Evas_Object *obj, void *event_info);
-void msg_ui_thread_ctlbar_cancel_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_ctlbar_message_box_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_sel_all_clicked_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_list_checked_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_back_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info);
+void msg_ui_thread_search_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_entry_focus_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_entry_unfocus_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_entry_change_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_cancel_click_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
void msg_ui_thread_sweep_btn_cb(void *data, Evas_Object *obj, void *event_info);
-void msg_ui_thread_timezone_change_cb(void *data);
+void msg_ui_thread_timezone_change_cb(keynode_t *key, void *data);
void msg_ui_thread_gl_mode_right(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_gl_mode_left(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_set_app_state(int app_state);
int msg_ui_thread_get_app_state(PMSG_THREAD_DATA pData);
+void msg_ui_thread_cancel_search_mode(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_button_disabled_set(PMSG_THREAD_LIST_DATA pListData, Eina_Bool disabled, int controlbar_btn);
+void msg_ui_thread_get_title_text(PMSG_THREAD_LIST_DATA pListData, char *label, int label_len);
const char *msg_ui_thread_make_search_result_string(const char *string, char *searchword, bool *result);
void msg_ui_thread_make_time_string(time_t *msg_t, char *buf, int buf_len);
for (idx = 0; idx < pMsgIdList->nCount; idx++) {
msg_ui_thread_list_msg_item_delete(pListData, pMsgIdList->msgIdList[idx]);
}
+ } else {
+ Elm_Object_Item *gen_item = NULL;
+ PMSG_APP_THREAD_DATA_S item_data = NULL;
+ msg_struct_t threadInfo = msg_create_struct(MSG_STRUCT_THREAD_INFO);
+ int smsCnt = 0;
+ int mmsCnt = 0;
+ msg_error_t err = MSG_SUCCESS;
+
+ gen_item = elm_genlist_first_item_get(pListData->genlist);
+ while (gen_item) {
+ if (elm_genlist_item_parent_get(gen_item) == NULL) {
+ gen_item = elm_genlist_item_next_get(gen_item);
+ continue;
+ }
+
+ item_data = (PMSG_APP_THREAD_DATA_S) elm_object_item_data_get(gen_item);
+
+ err = msg_get_thread(msg_ui_thread_get_data_handle(), item_data->thread_id, threadInfo);
+ if (err != MSG_SUCCESS) {
+ MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "msg_get_thread() is failed : err = %d", err);
+ msg_ui_thread_list_item_delete(pListData, item_data->thread_id);
+ break;
+ }
+
+ msg_get_int_value(threadInfo, MSG_THREAD_MMS_COUNT_INT, &mmsCnt);
+ msg_get_int_value(threadInfo, MSG_THREAD_SMS_COUNT_INT, &smsCnt);
+
+ if (smsCnt+mmsCnt == 0)
+ msg_ui_thread_list_item_delete(pListData, item_data->thread_id);
+ else if ((item_data->sms_cnt + item_data->mms_cnt) != (smsCnt+mmsCnt))
+ msg_ui_thread_list_item_update(pListData, item_data->thread_id);
+
+ gen_item = elm_genlist_item_next_get(gen_item);
+ }
+ msg_release_struct(&threadInfo);
}
} else if (type == MSG_STORAGE_CHANGE_UPDATE) {
int idx = 0;
msg_release_struct(&msgInfo);
msg_release_struct(&sendOpt);
- msg_ui_thread_list_item_update(pListData, thread_id);
+ if (msg_ui_thread_list_item_update(pListData, thread_id) == EINA_FALSE)
+ __msg_ui_thread_insert_and_select_gen_item(pListData);
} else {
- msg_ui_thread_list_msg_item_update(pListData, pMsgIdList->msgIdList[idx]);
+ if (msg_ui_thread_list_msg_item_update(pListData, pMsgIdList->msgIdList[idx]) == EINA_FALSE)
+ __msg_ui_thread_insert_and_select_gen_item(pListData);
}
}
}
void msg_ui_thread_ctlbar_multi_action_cb(void *data, Evas_Object *obj, void *event_info)
{
D_ENTER;
-
MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, !data || !obj);
PMSG_THREAD_LIST_DATA pListData = (PMSG_THREAD_LIST_DATA)data;
- const char *label = elm_object_item_text_get((Elm_Object_Item *)event_info);
-
MSG_UI_RET_IF(MSG_UI_LEVEL_DEBUG, pListData->multi_action_thread);
if (pListData->popup) {
pListData->popup = NULL;
}
- if (strcmp(label, dgettext("sys_string", "IDS_COM_SK_DELETE")) == 0) {
+ if (obj == pListData->toolbar_btn[CONTROLBAR_ITEM_1]) {
pListData->action_type = THREAD_ACTION_DELETE;
msg_ui_thread_show_action_popup(pListData, THREAD_ACTION_DELETE, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_OPT_DELETE_Q"));
- } else if (strcmp(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_SK_RESTORE")) == 0) {
- pListData->action_type = THREAD_ACTION_RESTORE;
- msg_ui_thread_show_action_popup(pListData, THREAD_ACTION_RESTORE, dgettext(MESSAGE_PKGNAME, "IDS_MSG_BODY_MESSAGE_WILL_BE_RESTORED"));
- } else if (strcmp(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_COPY_TO_PHONE")) == 0) {
- pListData->action_type = THREAD_ACTION_COPY_TO_PHONE;
+ } else if (obj == pListData->toolbar_btn[CONTROLBAR_ITEM_2]) {
+ if (pListData->list_type == THREAD_SPAM_LIST_TYPE) {
+ pListData->action_type = THREAD_ACTION_RESTORE;
+ msg_ui_thread_show_action_popup(pListData, THREAD_ACTION_RESTORE, dgettext(MESSAGE_PKGNAME, "IDS_MSG_BODY_MESSAGE_WILL_BE_RESTORED"));
+ } else if (pListData->list_type == THREAD_SIM_LIST_TYPE) {
+ pListData->action_type = THREAD_ACTION_COPY_TO_PHONE;
+ }
}
if (pListData->popup == NULL) {
pListData->check_cnt = 0;
pListData->sel_index = 0;
- elm_object_item_part_content_unset(pListData->nf_it, "prev_btn");
- if (pListData->back_btn) {
- evas_object_del(pListData->back_btn);
- pListData->back_btn = NULL;
+ if (pListData->popup) {
+ evas_object_del(pListData->popup);
+ pListData->popup = NULL;
}
it_sweep = (Elm_Object_Item *)elm_genlist_decorated_item_get(pListData->genlist);
-
if (it_sweep) {
elm_genlist_item_decorate_mode_set(it_sweep, "slide", EINA_FALSE);
elm_genlist_item_select_mode_set(it_sweep, ELM_OBJECT_SELECT_MODE_DEFAULT);
elm_object_item_text_set(pListData->nf_it, buf);
- msg_ui_thread_set_navi_controlbar_item(pListData);
__msg_ui_thread_add_navi_select_all_ly(pListData);
+ msg_ui_thread_set_navi_toolbar_item(pListData);
+
+ evas_object_hide(pListData->search_btn);
+ elm_object_item_part_content_unset(pListData->nf_it, "title_right_btn");
MSG_UI_LEAVE();
}
static void __msg_ui_thread_add_navi_select_all_ly(PMSG_THREAD_LIST_DATA pListData)
{
- PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
-
if (!pListData) {
MSG_UI_DEBUG(MSG_UI_LEVEL_ASSERT,"[ASSERT] pListData is NULL");
return;
}
if (!pListData->sel_all_ly) {
- pListData->sel_all_ly = elm_layout_add(pData->navi_frame);
+ pListData->sel_all_ly = elm_layout_add(pListData->content_ly);
elm_layout_theme_set(pListData->sel_all_ly, "genlist", "item", "select_all/default");
evas_object_size_hint_weight_set(pListData->sel_all_ly, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
evas_object_size_hint_align_set(pListData->sel_all_ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_object_part_text_set(pListData->sel_all_ly, "elm.text", dgettext("sys_string", "IDS_COM_BODY_SELECT_ALL"));
}
+ if (msg_ui_thread_rotation_get() == true) {
+ elm_object_part_content_unset(pListData->content_ly, "sel_all");
+ evas_object_hide(pListData->searchbar);
+ } else {
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "show_searchbar", "sel_all");
+ }
evas_object_show(pListData->sel_all_ly);
- elm_object_part_content_unset(pListData->content_ly, "sel_all");
- evas_object_hide(pListData->searchbar);
elm_object_part_content_set(pListData->content_ly, "sel_all", pListData->sel_all_ly);
}
ctx_popup = elm_ctxpopup_add(pData->navi_frame);
evas_object_smart_callback_add(ctx_popup, "dismissed", __msg_ui_thread_ctxpopup_dismissed_cb, pListData);
+ if (pListData->item_cnt > 0)
+ elm_ctxpopup_item_append(ctx_popup, dgettext("sys_string", "IDS_COM_SK_DELETE"), NULL, msg_ui_thread_ctlbar_checkbox_cb, pListData);
+
+
elm_ctxpopup_item_append(ctx_popup, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_CB_MESSAGES"), NULL, __msg_ui_thread_ctxpopup_clicked_cb, pListData);
elm_ctxpopup_item_append(ctx_popup, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SIM_CARD_MESSAGES"), NULL, __msg_ui_thread_ctxpopup_clicked_cb, pListData);
elm_ctxpopup_item_append(ctx_popup, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SPAM_MESSAGES"), NULL, __msg_ui_thread_ctxpopup_clicked_cb, pListData);
// move ctx popup
Evas_Coord x, y, w, h;
- evas_object_geometry_get(pListData->toolbar, &x, &y, &w, &h);
- evas_object_move(ctx_popup, ((w-x)*5)/6 , y);
- evas_object_show(ctx_popup);
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+ evas_object_move(ctx_popup, x , y);
+ evas_object_show(ctx_popup);
pListData->popup = ctx_popup;
MSG_UI_LEAVE();
MSG_UI_LEAVE();
}
-void msg_ui_thread_ctlbar_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- MSG_UI_ENTER();
- MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, !data || !obj);
-
- PMSG_THREAD_LIST_DATA pListData = (PMSG_THREAD_LIST_DATA)data;
- PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
-
- if (pData->isIncomingMsg == true) {
- if (pListData->app_data_type == THREAD_LIST_APP_DATA_MSG)
- msg_ui_thread_msg_list_load(pListData, pListData->list_type);
- else
- msg_ui_thread_list_load(pListData, FALSE);
- pData->isIncomingMsg = false;
- }
-
- msg_ui_thread_show_normal_mode(pListData);
- MSG_UI_LEAVE();
-}
-
void msg_ui_thread_sel_all_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
MSG_UI_ENTER();
return;
}
- if (pListData->list_type == THREAD_NORMAL_LIST_TYPE) {
- elm_win_lower(pData->win_main);
+ if (pListData->search_mode == THREAD_SEARCH_ON) {
+ msg_ui_thread_cancel_search_mode(pListData);
+ return;
+ }
+
+ if (pListData->view_mode == THREAD_EDIT_VIEW) {
+ if (pData->isIncomingMsg == true) {
+ if (pListData->app_data_type == THREAD_LIST_APP_DATA_MSG)
+ msg_ui_thread_msg_list_load(pListData, pListData->list_type);
+ else
+ msg_ui_thread_list_load(pListData, FALSE);
+ pData->isIncomingMsg = false;
+ }
+
+ msg_ui_thread_show_normal_mode(pListData);
} else {
- PMSG_THREAD_LIST_DATA pPrevList = msg_ui_thread_get_prev_list(pListData);
- msg_ui_thread_set_navi_controlbar_item(pPrevList);
+ if (pListData->list_type == THREAD_NORMAL_LIST_TYPE) {
+ elm_win_lower(pData->win_main);
+ } else {
+ PMSG_THREAD_LIST_DATA pPrevList = msg_ui_thread_get_prev_list(pListData);
+ msg_ui_thread_set_navi_toolbar_item(pPrevList);
- evas_object_del(pListData->toolbar);
- elm_naviframe_item_pop(pData->navi_frame);
- elm_genlist_clear(pListData->genlist);
- msg_ui_thread_destroy_thread_list_data(pListData);
+ elm_naviframe_item_pop(pData->navi_frame);
+ elm_genlist_clear(pListData->genlist);
+ msg_ui_thread_destroy_thread_list_data(pListData);
- if (pData->isRotate == true) {
- msg_ui_thread_destroy_split_data(pData->split_data);
- msg_ui_thread_split_view_show(pData);
+ if (pData->isRotate == true) {
+ msg_ui_thread_destroy_split_data(pData->split_data);
+ msg_ui_thread_split_view_show(pData);
+ }
}
}
MSG_UI_LEAVE();
}
+void msg_ui_thread_search_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ MSG_UI_ENTER();
+
+ if (!data)
+ return;
+
+ PMSG_THREAD_LIST_DATA pListData = (PMSG_THREAD_LIST_DATA)data;
+ Evas_Object *entry = NULL;
+
+ if (pListData->item_cnt <= 0)
+ return;
+
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "show_searchbar", "sel_all");
+ elm_object_part_content_set(pListData->content_ly, "sel_all", pListData->searchbar);
+
+ entry = elm_object_part_content_get(pListData->searchbar, "elm.swallow.content");
+ elm_object_focus_set(entry, EINA_TRUE);
+
+ evas_object_hide(pListData->search_btn);
+ elm_object_item_part_content_unset(pListData->nf_it, "title_right_btn");
+
+ MSG_UI_LEAVE();
+}
+
void msg_ui_thread_searchbar_entry_focus_cb(void *data, Evas_Object *obj, void *event_info)
{
D_ENTER;
evas_object_smart_callback_add(obj, "changed", msg_ui_thread_searchbar_entry_change_cb, pListData);
evas_object_smart_callback_add(obj, "preedit,changed", msg_ui_thread_searchbar_entry_change_cb, pListData);
+
D_LEAVE;
}
PMSG_THREAD_LIST_DATA pListData = (PMSG_THREAD_LIST_DATA)data;
elm_object_signal_emit(pListData->searchbar, "elm,state,eraser,hide", "elm");
+ msg_ui_thread_set_navi_toolbar_item(pListData);
if (elm_entry_is_empty(obj)) {
elm_object_signal_emit(pListData->searchbar, "elm,state,guidetext,show", "elm");
- pListData->search_mode = THREAD_SEARCH_OFF;
elm_genlist_mode_set(pListData->genlist, ELM_LIST_SCROLL);
}
+
D_LEAVE;
}
PMSG_THREAD_LIST_DATA pListData = (PMSG_THREAD_LIST_DATA)data;
Evas_Object *entry = NULL;
- pListData->search_mode = THREAD_SEARCH_OFF;
- elm_genlist_mode_set(pListData->genlist, ELM_LIST_SCROLL);
-
if (pListData->search_timer) {
ecore_timer_del(pListData->search_timer);
pListData->search_timer = NULL;
entry = elm_object_part_content_get(pListData->searchbar, "elm.swallow.content");
elm_object_text_set(entry, "");
-
+ elm_object_signal_emit(pListData->searchbar, "elm,state,guidetext,show", "elm");
evas_object_hide(obj);
elm_object_signal_emit(pListData->searchbar, "cancel,out", "");
+ elm_object_focus_set(entry, EINA_FALSE);
+
+ pListData->search_mode = THREAD_SEARCH_OFF;
+ elm_genlist_mode_set(pListData->genlist, ELM_LIST_SCROLL);
if (pListData->list_type== THREAD_NORMAL_LIST_TYPE)
msg_ui_thread_list_load(pListData, FALSE);
msg_ui_thread_msg_list_load(pListData, pListData->list_type);
if (msg_ui_thread_rotation_get() == false) {
- elm_object_focus_set(pListData->back_btn, EINA_TRUE);
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,open", "");
- } else {
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,close", "");
+ evas_object_show(pListData->search_btn);
+ elm_object_item_part_content_set(pListData->nf_it, "title_right_btn", pListData->search_btn);
+
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
+ elm_object_part_content_unset(pListData->content_ly, "sel_all");
+ evas_object_hide(pListData->searchbar);
+
+ msg_ui_thread_show_toolbar(pListData);
}
D_LEAVE;
}
}
-void msg_ui_thread_timezone_change_cb(void *data)
+void msg_ui_thread_timezone_change_cb(keynode_t *key, void *data)
{
D_ENTER;
* limitations under the License.
*/
-#include "msg-ui-image-resource.h"
#include "msg-ui-thread-main.h"
static int __msg_ui_thread_init_genlist(PMSG_THREAD_LIST_DATA pListData);
if (g_strcmp0(part, "elm.icon.1") == 0) {
if (item_data->msg_type == MSG_TYPE_SMS_CB) {
ic = elm_icon_add(obj);
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_CB_ICON, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_CB_ICON);
} else if (item_data->msg_type == MSG_TYPE_SMS_WAPPUSH) {
ic = elm_icon_add(obj);
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_PUSH_ICON, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_PUSH_ICON);
} else if (item_data->msg_type == MSG_TYPE_SMS_SYNCML) {
ic = elm_icon_add(obj);
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_OTA_ICON, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_OTA_ICON);
}
if (ic) {
elm_genlist_item_select_mode_set(it_sweep, ELM_OBJECT_SELECT_MODE_DEFAULT);
}
+ if (pListData->search_mode == THREAD_SEARCH_ON)
+ msg_ui_thread_show_toolbar(pListData);
+
switch (pListData->view_mode) {
case THREAD_NORMAL_VIEW:
case THREAD_UNLOAD_VIEW:
msg_release_list_struct(&draft_list);
- if (msg_ui_load_composer_ug(svc_handle, ug_type) == MSG_UI_RET_ERR)
+ if (msg_ui_load_composer_ug(svc_handle, ug_type) == MSG_UI_RET_ERR) {
D_MSG("Failed to load composer ug");
+ pListData->sel_gen_item = NULL;
+ pListData->sel_thread_id = 0;
+ }
+
service_destroy(svc_handle);
}
if (search == true) {
Evas_Object *entry = elm_object_part_content_get( pListData->searchbar, "elm.swallow.content");
char *search_str = elm_entry_markup_to_utf8(elm_entry_entry_get(entry));
- if (strlen(search_str) > 0) {
- const char *str = msg_ui_thread_make_search_result_string(buf, search_str, &result);
+ if (search_str) {
+ if (strlen(search_str) > 0) {
+ const char *str = msg_ui_thread_make_search_result_string(buf, search_str, &result);
+ free(search_str);
+ return strdup(str);
+ }
free(search_str);
- return strdup(str);
}
}
} else if (g_strcmp0(part, "elm.text.2") == 0) {
Evas_Object *entry = elm_object_part_content_get( pListData->searchbar, "elm.swallow.content");
char *search_str = elm_entry_markup_to_utf8(elm_entry_entry_get(entry));
- if (strlen(search_str) > 0) {
- const char *str = msg_ui_thread_make_search_result_string(buf, search_str, &result);
+ if (search_str) {
+ if (strlen(search_str) > 0) {
+ const char *str = msg_ui_thread_make_search_result_string(buf, search_str, &result);
+ free(search_str);
+ return strdup(str);
+ }
free(search_str);
- return strdup(str);
}
} else if (g_strcmp0(part, "elm.text.3") == 0) {
msg_ui_thread_make_time_string(item_data->msg_time, buf, sizeof(buf));
MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, !item_data, NULL);
Evas_Object *ic = NULL;
- bool bNumExist = false;
- if (g_strcmp0(part, "elm.icon.2") == 0) {
+ if (g_strcmp0(part, "elm.icon") == 0) {
if (item_data->msg_type >= MSG_TYPE_MMS && item_data->msg_type <= MSG_TYPE_MMS_NOTI) {
ic = elm_icon_add(obj);
if (item_data->direction == MSG_DIRECTION_TYPE_MO)
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_STATUS_MMS_SENT, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_STATUS_MMS_SENT);
else if (item_data->is_read == 0)
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_STATUS_MMS_UNREAD, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_STATUS_MMS_UNREAD);
else
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_STATUS_MMS_READ, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_STATUS_MMS_READ);
} else {
ic = elm_icon_add(obj);
if (item_data->direction == MSG_DIRECTION_TYPE_MO)
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_STATUS_SMS_SENT, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_STATUS_SMS_SENT);
else if (item_data->is_read == 0)
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_STATUS_SMS_UNREAD, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_STATUS_SMS_UNREAD);
else
- elm_icon_file_set(ic, MSG_UI_THREAD_LIST_STATUS_SMS_READ, NULL);
+ elm_image_file_set(ic, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_STATUS_SMS_READ);
}
if (ic) {
elm_genlist_item_select_mode_set(it_sweep, ELM_OBJECT_SELECT_MODE_DEFAULT);
}
+ if (pListData->search_mode == THREAD_SEARCH_ON)
+ msg_ui_thread_show_toolbar(pListData);
+
switch (pListData->view_mode) {
case THREAD_NORMAL_VIEW:
case THREAD_UNLOAD_VIEW:
/** update read status */
msg_update_read_status(msg_ui_thread_get_data_handle(), item_data->msg_id, true);
} else {
- __msg_ui_thread_create_bubble_by_msgid(pListData, item_data);
-
pListData->sel_gen_item = item;
pListData->sel_msg_id = item_data->msg_id;
+
+ __msg_ui_thread_create_bubble_by_msgid(pListData, item_data);
}
item_data->is_read = true;
msg_ui_thread_get_bubble_data(thread_data, svc_handle);
ug_type = MSG_COMPOSER_UG_TYPE_VIEWER;
- if (msg_ui_load_composer_ug(svc_handle, ug_type) == MSG_UI_RET_ERR)
+ if (msg_ui_load_composer_ug(svc_handle, ug_type) == MSG_UI_RET_ERR) {
D_MSG("Failed to load composer ug");
+ pListData->sel_gen_item = NULL;
+ pListData->sel_msg_id = 0;
+ }
+
service_destroy(svc_handle);
}
date_str = msg_common_get_display_date(pData->locale, pData->date_ptn_default, pData->date_ptn_year, item_data->thread_time);
if (date_str) {
- snprintf(buf, sizeof(buf), " %s ", date_str);
+ snprintf(buf, sizeof(buf), "%s", date_str);
free(date_str);
}
return strdup(buf);
}
if (!prev_time ||g_strcmp0(cur_date_buf, prev_date_buf) != 0) {
- dateline_data = (PMSG_APP_THREAD_DATELINE_DATA_S) calloc(1, sizeof(PMSG_APP_THREAD_DATELINE_DATA_S));
+ dateline_data = (PMSG_APP_THREAD_DATELINE_DATA_S) calloc(1, sizeof(MSG_APP_THREAD_DATELINE_DATA_S));
MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, !dateline_data, NULL);
- bzero(dateline_data, sizeof(dateline_data));
+ bzero(dateline_data, sizeof(MSG_APP_THREAD_DATELINE_DATA_S));
dateline_data->thread_time = (time_t *) calloc(1, sizeof(time_t));
bzero(dateline_data->thread_time, sizeof(time_t));
elm_object_part_content_set(pListData->content_ly, "thread_list", pListData->noc_ly);
}
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
-
+ msg_ui_thread_button_disabled_set(pListData, EINA_TRUE, CONTROLBAR_ITEM_2);
} else {
if (swl_ly != pListData->genlist) {
evas_object_hide(swl_ly);
elm_object_part_content_set(pListData->content_ly, "thread_list", pListData->genlist);
}
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_FALSE);
+ msg_ui_thread_button_disabled_set(pListData, EINA_FALSE, CONTROLBAR_ITEM_2);
PMSG_APP_THREAD_DATELINE_DATA_S dateline_data = NULL;
PMSG_APP_THREAD_DATA_S cur_thread = NULL;
if (tmp_date_line != NULL)
dateline_data = tmp_date_line;
- item = dateline_data->date_it;
+ if (dateline_data != NULL)
+ item = dateline_data->date_it;
if (cur_thread->unread_cnt > 0)
elm_genlist_item_append(pListData->genlist, &pListData->itc_unread, cur_thread, item, ELM_GENLIST_ITEM_NONE, __msg_ui_thread_gl_sel, pListData);
pListData->item_cnt = peerList.nCount;
if (peerList.nCount <= 0 || err != MSG_SUCCESS) {
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
+ msg_ui_thread_button_disabled_set(pListData, EINA_TRUE, CONTROLBAR_ITEM_2);
if (!pListData->noc_ly)
pListData->noc_ly = msg_ui_thread_create_nocontent_layout(pData->navi_frame);
}
} else {
+ msg_ui_thread_button_disabled_set(pListData, EINA_FALSE, CONTROLBAR_ITEM_2);
+
if (swl_ly != pListData->genlist) {
evas_object_hide(swl_ly);
elm_object_part_content_unset(pListData->content_ly, "thread_list");
elm_object_part_content_set(pListData->content_ly, "thread_list", pListData->genlist);
}
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_FALSE);
-
gen_item = elm_genlist_first_item_get(pListData->genlist);
while (gen_item) {
MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
}
-void msg_ui_thread_list_item_update(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id)
+Eina_Bool msg_ui_thread_list_item_update(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id)
{
MSG_UI_ENTER();
err = msg_get_thread_view_list(msg_ui_thread_get_data_handle(), sort_rule_t, &peerList);
msg_release_struct(&sort_rule_t);
- MSG_UI_RET_IF(MSG_UI_LEVEL_DEBUG, err != MSG_SUCCESS);
+ MSG_UI_RETV_IF(MSG_UI_LEVEL_DEBUG, err != MSG_SUCCESS, EINA_FALSE);
gen_item = elm_genlist_first_item_get(pListData->genlist);
if (!gen_item) {
D_EMSG("gen_item is NULL");
msg_release_list_struct(&peerList);
- return;
+ return EINA_FALSE;
+ }
+
+ if (!old_data) {
+ D_EMSG("old_data is NULL");
+ return EINA_FALSE;
}
for (row = 0; row < peerList.nCount; row++) {
if (!new_data) {
D_EMSG("new_data is NULL");
- return;
+ return EINA_FALSE;
}
- if (*new_data->thread_time != *old_data->thread_time){
+ if (new_data->thread_time && (*new_data->thread_time != *old_data->thread_time)){
msg_ui_thread_list_load(pListData, FALSE);
msg_ui_thread_select_item_by_thread_id(pListData, thread_id);
- if (new_data) {
- if (new_data->thread_time) {
- free(new_data->thread_time);
- new_data->thread_time = NULL;
- }
- free(new_data);
- }
+ free(new_data->thread_time);
+ new_data->thread_time = NULL;
+
+ free(new_data);
} else {
new_data->chk = old_data->chk;
new_data->is_check = old_data->is_check;
}
}
- if (old_data) {
- if (old_data->thread_time) {
- free(old_data->thread_time);
- old_data->thread_time = NULL;
- }
- free(old_data);
+ if (old_data->thread_time) {
+ free(old_data->thread_time);
+ old_data->thread_time = NULL;
}
+ free(old_data);
}
MSG_UI_LEAVE();
+ return EINA_TRUE;
}
void msg_ui_thread_list_item_delete(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id)
Evas_Object *swl_ly = elm_object_part_content_get(pListData->content_ly, "thread_list");
if (pListData->item_cnt == 0) {
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_TRUE);
+ msg_ui_thread_button_disabled_set(pListData, EINA_TRUE, CONTROLBAR_ITEM_1);
+
// show non cotent
if (!pListData->noc_ly)
pListData->noc_ly = msg_ui_thread_create_nocontent_layout(pData->navi_frame);
}
} else {
// fill the genlist
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_FALSE);
+ msg_ui_thread_button_disabled_set(pListData, EINA_FALSE, CONTROLBAR_ITEM_1);
pListData->app_data_type = THREAD_LIST_APP_DATA_MSG;
msg_ui_thread_genlist_style_set(pListData);
if (tmp_date_line != NULL)
dateline_data = tmp_date_line;
- item = dateline_data->date_it;
+ if (dateline_data != NULL)
+ item = dateline_data->date_it;
elm_genlist_item_append(pListData->genlist, &pListData->itc_default, cur_item, item, ELM_GENLIST_ITEM_NONE, msg_ui_thread_msg_gl_sel, (void *)pListData);
if (dateline_data != NULL)
}
if (pListData->item_cnt == 0) {
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_TRUE);
+ msg_ui_thread_button_disabled_set(pListData, EINA_TRUE, CONTROLBAR_ITEM_1);
+
// show non cotent
if (!pListData->noc_ly)
pListData->noc_ly = msg_ui_thread_create_nocontent_layout(pData->navi_frame);
+ Evas_Object *swl_ly = elm_object_part_content_get(pListData->content_ly, "thread_list");
+
if (swl_ly != pListData->noc_ly) {
evas_object_hide(swl_ly);
elm_object_part_content_unset(pListData->content_ly, "thread_list");
if (!search_str || strlen(search_str) == 0) {
MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "empty search_str");
- if (pData->isRotate == false)
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,open", "");
-
if (pListData->list_type == THREAD_NORMAL_LIST_TYPE) {
msg_ui_thread_list_update(pListData);
+ if (search_str)
+ free(search_str);
+ msg_release_struct(&search_s);
return;
}
}
msg_set_str_value(search_s, MSG_SEARCH_CONDITION_SEARCH_VALUE_STR, search_str, strlen(search_str));
err = msg_search_message(pData->msgHandle, search_s, 0, 0, &msg_list);
+ free(search_str);
+ msg_release_struct(&search_s);
+
MSG_UI_RET_IF(MSG_UI_LEVEL_DEBUG, err != MSG_SUCCESS);
} else {
switch (pListData->list_type) {
pListData->item_cnt = msg_list.nCount;
if (msg_list.nCount <= 0 || err != MSG_SUCCESS) {
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
+ if (pListData->list_type == THREAD_NORMAL_LIST_TYPE)
+ msg_ui_thread_button_disabled_set(pListData, EINA_TRUE, CONTROLBAR_ITEM_2);
+ else
+ msg_ui_thread_button_disabled_set(pListData, EINA_TRUE, CONTROLBAR_ITEM_1);
if (!pListData->noc_ly)
pListData->noc_ly = msg_ui_thread_create_nocontent_layout(pData->navi_frame);
elm_object_part_content_set(pListData->content_ly, "thread_list", pListData->noc_ly);
}
} else {
+ if (pListData->list_type == THREAD_NORMAL_LIST_TYPE)
+ msg_ui_thread_button_disabled_set(pListData, EINA_FALSE, CONTROLBAR_ITEM_2);
+ else
+ msg_ui_thread_button_disabled_set(pListData, EINA_FALSE, CONTROLBAR_ITEM_1);
+
if (swl_ly != pListData->genlist) {
evas_object_hide(swl_ly);
elm_object_part_content_unset(pListData->content_ly, "thread_list");
elm_object_part_content_set(pListData->content_ly, "thread_list", pListData->genlist);
}
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_FALSE);
-
gen_item = elm_genlist_first_item_get(pListData->genlist);
while (gen_item) {
MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
}
-void msg_ui_thread_list_msg_item_update(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id)
+Eina_Bool msg_ui_thread_list_msg_item_update(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id)
{
MSG_UI_ENTER();
if (!search_str || strlen(search_str) == 0) {
MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "empty search_str");
- if (pData->isRotate == false)
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,open", "");
-
if (pListData->list_type == THREAD_NORMAL_LIST_TYPE) {
msg_struct_t msgInfo = msg_create_struct(MSG_STRUCT_MESSAGE_INFO);
msg_struct_t sendOpt = msg_create_struct(MSG_STRUCT_SENDOPT);
msg_release_struct(&sendOpt);
msg_ui_thread_list_item_update(pListData, thread_id);
- return;
+ if (search_str)
+ free(search_str);
+ msg_release_struct(&search_s);
+ return EINA_TRUE;
}
}
break;
default:
D_MSG("[WARNING] invalid view mode");
- return;
+ return EINA_FALSE;
}
msg_set_str_value(search_s, MSG_SEARCH_CONDITION_SEARCH_VALUE_STR, search_str, strlen(search_str));
err = msg_search_message(pData->msgHandle, search_s, 0, 0, &msg_list);
- MSG_UI_RET_IF(MSG_UI_LEVEL_DEBUG, err != MSG_SUCCESS);
+ free(search_str);
+ msg_release_struct(&search_s);
+
+ MSG_UI_RETV_IF(MSG_UI_LEVEL_DEBUG, err != MSG_SUCCESS, EINA_FALSE);
} else {
switch (pListData->list_type) {
case THREAD_SPAM_LIST_TYPE:
break;
default:
D_MSG("[WARNING] invalid view mode");
- return;
+ return EINA_FALSE;
}
- MSG_UI_RET_IF(MSG_UI_LEVEL_DEBUG, err != MSG_SUCCESS);
+ MSG_UI_RETV_IF(MSG_UI_LEVEL_DEBUG, err != MSG_SUCCESS, EINA_FALSE);
}
gen_item = elm_genlist_first_item_get(pListData->genlist);
if (!gen_item) {
D_EMSG("gen_item is NULL");
msg_release_list_struct(&msg_list);
- return;
+ return EINA_FALSE;
+ }
+
+ if (!old_data) {
+ D_EMSG("old_data is NULL");
+ return EINA_FALSE;
}
for (row = 0; row <msg_list.nCount; row++) {
if (!new_data) {
D_EMSG("new_data is NULL");
- return;
+ return EINA_FALSE;
}
new_data->chk = old_data->chk;
}
}
- if (old_data) {
- if (old_data->msg_time) {
- free(old_data->msg_time);
- old_data->msg_time = NULL;
- }
- free(old_data);
+ if (old_data->msg_time) {
+ free(old_data->msg_time);
+ old_data->msg_time = NULL;
}
+ free(old_data);
MSG_UI_LEAVE();
+ return EINA_TRUE;
}
void msg_ui_thread_list_msg_item_delete(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id)
if (!search_str || strlen(search_str) == 0) {
MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "empty search_str");
- if (msg_ui_thread_rotation_get() == false)
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,open", "");
-
if (pListData->list_type == THREAD_NORMAL_LIST_TYPE)
msg_ui_thread_list_load(pListData, FALSE);
else
msg_ui_thread_msg_list_load(pListData, pListData->list_type);
msg_release_struct(&search_s);
+ if (search_str)
+ free(search_str);
return EINA_FALSE;
}
err = msg_search_message(msg_ui_thread_get_data_handle(), search_s, 0, 0, &search_msg_list);
pListData->item_cnt = search_msg_list.nCount;
- if (search_str)
- free(search_str);
+ free(search_str);
+ msg_release_struct(&search_s);
if (err != MSG_SUCCESS) {
MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "msg_search_message failed!! [%d]", err);
- if (msg_ui_thread_rotation_get() == false)
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,open", "");
if (pListData->list_type == THREAD_NORMAL_LIST_TYPE)
msg_ui_thread_list_load(pListData, FALSE);
else
msg_ui_thread_msg_list_load(pListData, pListData->list_type);
- msg_release_struct(&search_s);
return EINA_FALSE;
}
/** hide control bar */
elm_genlist_clear(pListData->genlist);
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,close", "");
if (search_msg_list.nCount > 0) {
PMSG_APP_THREAD_DATELINE_DATA_S dateline_data = NULL;
if (tmp_date_line != NULL)
dateline_data = tmp_date_line;
- item = dateline_data->date_it;
+ if (dateline_data != NULL)
+ item = dateline_data->date_it;
elm_genlist_item_append(pListData->genlist, msg_ui_thread_get_itc_type(THREAD_ITC_SEARCH), item_data, item, ELM_GENLIST_ITEM_NONE, msg_ui_thread_msg_gl_sel, pListData);
if (dateline_data != NULL)
elm_genlist_item_append(pListData->genlist, msg_ui_thread_get_itc_type(THREAD_ITC_EMPTY), NULL, NULL, ELM_GENLIST_ITEM_NONE, msg_ui_thread_gl_empty_sel, NULL);
}
- msg_release_struct(&search_s);
msg_release_list_struct(&search_msg_list);
return EINA_TRUE;
if (tmp_date_line != NULL)
dateline_data = tmp_date_line;
- item = dateline_data->date_it;
+ if (dateline_data != NULL)
+ item = dateline_data->date_it;
if (cur_thread->unread_cnt > 0)
elm_genlist_item_append(pListData->genlist, &pListData->itc_unread, cur_thread, item, ELM_GENLIST_ITEM_NONE, __msg_ui_thread_gl_sel, pListData);
pData->itc_date.func.state_get = NULL;
pData->itc_date.func.del = msg_ui_thread_date_gl_del;
- pData->itc_search.item_style = "3text.2icon.tb";
+ pData->itc_search.item_style = "3text.1icon.tb";
pData->itc_search.func.text_get = msg_ui_thread_search_msg_gl_text_get;
pData->itc_search.func.content_get = msg_ui_thread_msg_gl_content_get;
pData->itc_search.func.state_get = NULL;
pListData->itc_unread.func.del = __msg_ui_thread_gl_del;
pListData->itc_unread.decorate_all_item_style = "edit_default";
} else {
- pListData->itc_default.item_style = "3text.2icon";
+ pListData->itc_default.item_style = "3text.1icon";
pListData->itc_default.func.text_get = msg_ui_thread_msg_gl_text_get;
pListData->itc_default.func.content_get = msg_ui_thread_msg_gl_content_get;
pListData->itc_default.func.state_get = NULL;
D_MSG("calloc error");
return NULL;
}
- bzero(pData, sizeof(PMSG_THREAD_DATA));
+ bzero(pData, sizeof(MSG_THREAD_DATA));
g_data = pData;
pData->msgHandle = ad->msgHandle;
pData->win_main = ad->win_main;
+ pData->conform = ad->conform;
pData->th = elm_theme_new();
elm_theme_ref_set(pData->th, NULL);
elm_theme_extension_add(pData->th, MSG_THREAD_THEME);
pData->date_ptn_year = msg_common_get_date_best_pattern(pData->locale, MSG_UI_DATE_PATTERN_YEAR);
/* Register callback to apply time change. */
- pData->noti_fd = heynoti_init();
- if (pData->noti_fd == -1) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "heynoti_init() is failed!!");
- } else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "heynoti_init() is success : fd = %d\n", pData->noti_fd);
-
- if (heynoti_subscribe(pData->noti_fd, "setting_time_changed", msg_ui_thread_timezone_change_cb, (void *)pData) == -1) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "heynoti_subscribe(setting_time_changed) is failed!!");
- } else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "heynoti_subscribe(setting_time_changed) is success !!");
- }
-
- if (heynoti_attach_handler(pData->noti_fd) == -1) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "heynoti_attach_handler() is failed !!");
- } else {
- MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "heynoti_attach_handler() is success.");
- }
+ if (vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, msg_ui_thread_timezone_change_cb, (void *)pData) < 0) {
+ D_EMSG("Fail to register vconf CB with [%s]", VCONFKEY_SYSTEM_TIME_CHANGED);
}
+
return (void *)pData;
}
pData->th = NULL;
}
- if (pData->noti_fd) {
- if (heynoti_unsubscribe(pData->noti_fd, "setting_time_changed", msg_ui_thread_timezone_change_cb) == -1) {
- MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "heynoti_unsubscribe() is failed !!");
- }
- heynoti_close(pData->noti_fd);
+ if (vconf_ignore_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, msg_ui_thread_timezone_change_cb) < 0) {
+ D_EMSG("Fail to remove vconf CB with [%s]", VCONFKEY_SYSTEM_TIME_CHANGED);
}
}
void msg_ui_thread_destroy_thread_list_data(PMSG_THREAD_LIST_DATA pListData)
{
+ D_ENTER;
int i = 0, j = 0;
PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
pListData->job_popup_end = NULL;
}
+ for (i = 0; i < CONTROLBAR_ITEM_MAX; i++) {
+ if (pListData->toolbar_btn[i]) {
+ evas_object_del(pListData->toolbar_btn[i]);
+ pListData->toolbar_btn[i] = NULL;
+ }
+ }
+
+ evas_object_del(pListData->back_btn);
+ pListData->back_btn = NULL;
+
for (i = MSG_THREAD_LIST_MAX_COUNT-1; i >= 0; i--) {
if (pData->list_data[i] != NULL && pData->list_data[i] == pListData) {
free(pListData);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bg);
- layout = elm_layout_add(pData->win_main);
+ layout = elm_layout_add(pData->conform);
MSG_UI_RETVM_IF(MSG_UI_LEVEL_ERR, layout == NULL, NULL, "Failed elm_layout_add.\n");
elm_layout_theme_set(layout, "layout", "application", "default");
msg_ui_thread_destroy_split_data(pData->split_data);
pSplitData = msg_ui_thread_create_split_data();
msg_ui_thread_splitview_launch(pData, pSplitData);
+ } else {
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
+ elm_object_part_content_unset(pListData->content_ly, "sel_all");
+ evas_object_hide(pListData->searchbar);
}
D_LEAVE;
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
MSG_UI_RETM_IF(MSG_UI_LEVEL_ERR, !pData || !pListData, "pData or pListData is NULL");
- pListData->toolbar = msg_ui_thread_create_toolbar(pData->navi_frame);
- msg_ui_thread_set_navi_controlbar_item(pListData);
-
pListData->content_ly = msg_ui_thread_create_content_layout(pData->navi_frame);
pListData->noc_ly = msg_ui_thread_create_nocontent_layout(pData->navi_frame);
pListData->searchbar = msg_ui_thread_create_searchbar_layout(pListData->content_ly, pListData);
- if (pData->isRotate == false)
+ if (pData->isRotate == true)
elm_object_part_content_set(pListData->content_ly, "sel_all", pListData->searchbar);
pListData->genlist = msg_ui_thread_create_genlist(pListData->content_ly, pListData);
if (msg_ui_thread_get_prev_list(pListData) == NULL)
elm_win_conformant_set(pData->win_main, 1);
- pListData->conform = elm_conformant_add(pData->navi_frame);
- elm_object_style_set(pListData->conform, "internal_layout");
- evas_object_size_hint_weight_set(pListData->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(pListData->conform);
- elm_object_content_set(pListData->conform, pListData->content_ly);
pListData->back_btn = elm_button_add(pData->navi_frame);
elm_object_style_set(pListData->back_btn, "naviframe/back_btn/default");
evas_object_smart_callback_add(pListData->back_btn, "clicked", msg_ui_thread_back_btn_clicked_cb, (void *)pListData);
- switch (pListData->list_type) {
- case THREAD_NORMAL_LIST_TYPE:
- strncpy(label, dgettext("sys_string", "IDS_COM_BODY_MESSAGES"), sizeof(label));
- break;
- case THREAD_SPAM_LIST_TYPE:
- strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SPAM_MESSAGES"), sizeof(label));
- break;
- case THREAD_SIM_LIST_TYPE:
- strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SIM_CARD_MESSAGES"), sizeof(label));
- break;
- case THREAD_CBMSG_LIST_TYPE:
- strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_CB_MESSAGES"), sizeof(label));
- break;
- default:
- D_MSG("[ERROR] invalid viewmode");
- return;
- }
-
- pListData->nf_it = elm_naviframe_item_push(pData->navi_frame, label, pListData->back_btn, NULL, pListData->conform, NULL);
- elm_object_item_part_content_set(pListData->nf_it, "controlbar", pListData->toolbar);
- evas_object_show(pListData->toolbar);
+ msg_ui_thread_get_title_text(pListData, label, DEF_BUF_LEN_S);
+ pListData->nf_it = elm_naviframe_item_push(pData->navi_frame, label, pListData->back_btn, NULL, pListData->content_ly, NULL);
+ msg_ui_thread_set_navi_toolbar_item(pListData);
MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
}
MSG_UI_RETM_IF(MSG_UI_LEVEL_ERR, !pData || !pSplitData, "pData or pSplitData is NULL");
PMSG_THREAD_LIST_DATA pListData = msg_ui_thread_get_current_list();
+ char label[DEF_BUF_LEN_S+1] = {0,};
if (!pSplitData->content_ly)
pSplitData->content_ly= elm_layout_add(pData->panes);
evas_object_size_hint_align_set(pSplitData->title_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(pSplitData->title_layout);
- msg_ui_thread_splitview_set_title(pData->split_data);
+ msg_ui_thread_get_title_text(pListData, label, DEF_BUF_LEN_S);
+ elm_object_part_text_set(pSplitData->title_layout, "title_text", label);
elm_object_item_part_content_set(pSplitData->nf_it, "title", pSplitData->title_layout);
/*Create composer button*/
if (pListData->list_type == THREAD_NORMAL_LIST_TYPE) {
if (!pSplitData->composer_btn)
pSplitData->composer_btn = elm_button_add(pSplitData->navi_frame);
- elm_object_style_set(pSplitData->composer_btn, "naviframe/title/default");
+ elm_object_style_set(pSplitData->composer_btn, "naviframe/title_icon");
Evas_Object *icon = elm_icon_add(pSplitData->composer_btn);
- elm_icon_file_set(icon, MSG_CONTROLBAR_ICON_COMPOSE, NULL);
- elm_icon_resizable_set(icon, 1, 1);
+ elm_image_file_set(icon, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_TITLE_ICON_COMPOSE);
+ elm_image_resizable_set(icon, 1, 1);
evas_object_image_smooth_scale_set(icon, 0);
elm_object_content_set(pSplitData->composer_btn, icon);
evas_object_show(pSplitData->composer_btn);
elm_object_part_content_set(pSplitData->title_layout, "compose_btn", pSplitData->composer_btn);
- elm_object_signal_emit(pSplitData->title_layout, "elm,state,compose_btn,show", "");
}
elm_object_part_content_set(pSplitData->title_layout, "prev_btn", pSplitData->back_btn);
- elm_object_signal_emit(pSplitData->title_layout, "elm,state,prev_btn,show", "");
elm_object_part_content_set(pData->panes, "right", pSplitData->content_ly);
evas_object_show(pSplitData->content_ly);
D_LEAVE;
}
-void msg_ui_thread_splitview_set_title(PMSG_THREAD_SPLIT_DATA pSplitData)
-{
- MSG_UI_RETM_IF(MSG_UI_LEVEL_ERR, !pSplitData, "pData or pSplitData is NULL");
-
- PMSG_THREAD_LIST_DATA pListData = msg_ui_thread_get_current_list();
- char label[DEF_BUF_LEN_S+1] = {0,};
-
- if (pListData) {
- switch (pListData->list_type) {
- case THREAD_NORMAL_LIST_TYPE:
- strncpy(label, dgettext("sys_string", "IDS_COM_BODY_MESSAGES"), sizeof(label));
- break;
- case THREAD_SPAM_LIST_TYPE:
- strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SPAM_MESSAGES"), sizeof(label));
- break;
- case THREAD_SIM_LIST_TYPE:
- strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SIM_CARD_MESSAGES"), sizeof(label));
- break;
- case THREAD_CBMSG_LIST_TYPE:
- strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_CB_MESSAGES"), sizeof(label));
- break;
- default:
- D_MSG("[ERROR] invalid viewmode");
- return;
- }
- } else {
- strncpy(label, dgettext("sys_string", "IDS_COM_BODY_MESSAGES"), sizeof(label));
- }
-
- elm_object_part_text_set(pSplitData->title_layout, "title_text", label);
-}
-
Evas_Object *msg_ui_thread_create_searchbar_layout(Evas_Object *parent, PMSG_THREAD_LIST_DATA pListData)
{
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
return noc_layout;
}
-Evas_Object *msg_ui_thread_create_toolbar(Evas_Object *parent)
-{
- MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
-
- Evas_Object *toolbar = NULL;
-
- toolbar = elm_toolbar_add(parent);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
-
- return toolbar;
-}
-
void msg_ui_thread_reg_msg_cb_func(PMSG_THREAD_DATA pData)
{
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
void msg_ui_thread_reset_thread_view(void *data, service_h service)
{
+ D_ENTER;
+
if (!data)
return;
PMSG_THREAD_DATA pData = (PMSG_THREAD_DATA)data;
+ int i = 0;
+
+ if (pData->detail_layout) {
+ if (pData->isRotate == true)
+ elm_naviframe_item_pop(pData->split_data->navi_frame);
+ else
+ elm_naviframe_item_pop(pData->navi_frame);
+ pData->detail_layout = NULL;
+ }
+
+ for (i = MSG_THREAD_LIST_MAX_COUNT-1; i >= 0; i--) {
+ if (pData->list_data[i] != NULL && pData->list_data[i]->list_type != THREAD_NORMAL_LIST_TYPE) {
+ if (pData->list_data[i]->loaded_ug) {
+ ug_destroy(pData->list_data[i]->loaded_ug);
+ pData->list_data[i]->loaded_ug = NULL;
+ }
+ elm_naviframe_item_pop(pData->navi_frame);
+ elm_genlist_clear(pData->list_data[i]->genlist);
+ msg_ui_thread_destroy_thread_list_data(pData->list_data[i]);
+ }
+ }
+
PMSG_THREAD_LIST_DATA pListData = NULL;
- pListData = msg_ui_thread_get_current_list();
+ pListData = msg_ui_thread_get_default_list();
if (pListData == NULL)
return;
- if (pListData->search_mode == THREAD_SEARCH_ON)
- elm_object_focus_set(pListData->searchbar, EINA_TRUE);
-
- if (pListData->sel_thread_id > 0)
- msg_ui_thread_list_item_update(pListData, pListData->sel_thread_id);
+ if (pListData->view_mode == THREAD_EDIT_VIEW)
+ msg_ui_thread_show_normal_mode(pListData);
- if (pListData->sel_msg_id > 0)
- msg_ui_thread_list_msg_item_update(pListData, pListData->sel_msg_id);
+ msg_ui_thread_cancel_search_mode(pListData);
if (pData->isRotate == true) {
- PMSG_THREAD_SPLIT_DATA pSplitData = NULL;
msg_ui_thread_destroy_split_data(pData->split_data);
- pSplitData = msg_ui_thread_create_split_data();
- msg_ui_thread_splitview_launch(pData, pSplitData);
+ msg_ui_thread_split_view_show(pData);
+ } else {
+ msg_ui_thread_split_view_hide(pData);
}
pListData->sel_gen_item = NULL;
pListData->sel_thread_id = 0;
pListData->sel_msg_id = 0;
-
pListData->view_mode = THREAD_NORMAL_VIEW;
+
+ msg_ui_thread_list_load(pListData, FALSE);
+
+ D_LEAVE;
}
-void msg_ui_thread_set_navi_controlbar_item(PMSG_THREAD_LIST_DATA pListData)
+void msg_ui_thread_set_navi_toolbar_item(PMSG_THREAD_LIST_DATA pListData)
{
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
if (!pListData)
return;
- Evas_Object *toolbar = pListData->toolbar;
+ PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
+
+ Evas_Object *btn = NULL;
+ Evas_Object *btn2 = NULL;
int i = 0;
- for (i = 0; i < MSG_THREAD_CONTROLBAR_ITEM_NUM; i++) {
- if (pListData->toolbar_item[i])
- elm_object_item_del(pListData->toolbar_item[i]);
+ for (i = 0; i < CONTROLBAR_ITEM_MAX; i++) {
+ if (pListData->toolbar_btn[i])
+ evas_object_del(pListData->toolbar_btn[i]);
+ }
+ elm_object_item_part_content_unset(pListData->nf_it, "toolbar_button1");
+ elm_object_item_part_content_unset(pListData->nf_it, "toolbar_button2");
+ elm_object_item_part_content_unset(pListData->nf_it, "toolbar_more_btn");
+
+ if (pListData->search_mode == THREAD_SEARCH_ON)
+ return;
+
+ if (!pListData->search_btn) {
+ pListData->search_btn = elm_button_add(pData->navi_frame);
+ elm_object_style_set(pListData->search_btn, "naviframe/title_icon");
+
+ Evas_Object *icon = elm_icon_add(pListData->search_btn);
+ elm_image_file_set(icon, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_TITLE_ICON_SEARCH);
+ elm_image_resizable_set(icon, 1, 1);
+ evas_object_image_smooth_scale_set(icon, 0);
+ elm_object_content_set(pListData->search_btn, icon);
+ evas_object_smart_callback_add(pListData->search_btn, "clicked", msg_ui_thread_search_btn_clicked_cb, (void *)pListData);
}
if (pListData->view_mode == THREAD_EDIT_VIEW) {
- pListData->toolbar_item[CONTROLBAR_ITEM_1] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), \
- msg_ui_thread_ctlbar_multi_action_cb, (void *)pListData);
- if (pListData->list_type == THREAD_SIM_LIST_TYPE)
- pListData->toolbar_item[CONTROLBAR_ITEM_2] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_COPY_PHONE, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_COPY_TO_PHONE"), \
- msg_ui_thread_ctlbar_multi_action_cb, (void *)pListData);
- else if (pListData->list_type == THREAD_SPAM_LIST_TYPE)
- pListData->toolbar_item[CONTROLBAR_ITEM_2] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_RESTORE, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_SK_RESTORE"), \
- msg_ui_thread_ctlbar_multi_action_cb, (void *)pListData);
- else
- pListData->toolbar_item[CONTROLBAR_ITEM_2] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- pListData->toolbar_item[CONTROLBAR_ITEM_3] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_CANCEL, dgettext("sys_string", "IDS_COM_SK_CANCEL"), \
- msg_ui_thread_ctlbar_cancel_cb, (void *)pListData);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_TRUE);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
+ btn = elm_button_add(pData->navi_frame);
+ elm_object_style_set(btn, "naviframe/toolbar/default");
+ elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_SK_DELETE"));
+ evas_object_smart_callback_add(btn, "clicked", msg_ui_thread_ctlbar_multi_action_cb, pListData);
+ elm_object_item_part_content_set(pListData->nf_it, "toolbar_button1", btn);
+ pListData->toolbar_btn[CONTROLBAR_ITEM_1] = btn;
+
+ switch (pListData->list_type) {
+ case THREAD_SIM_LIST_TYPE:
+ case THREAD_SPAM_LIST_TYPE:
+ btn2 = elm_button_add(pData->navi_frame);
+ elm_object_style_set(btn, "naviframe/toolbar/left");
+ elm_object_style_set(btn2, "naviframe/toolbar/right");
+ evas_object_smart_callback_add(btn2, "clicked", msg_ui_thread_ctlbar_multi_action_cb, pListData);
+ elm_object_item_part_content_set(pListData->nf_it, "toolbar_button2", btn2);
+
+ pListData->toolbar_btn[CONTROLBAR_ITEM_2] = btn2;
+
+ if (pListData->list_type == THREAD_SIM_LIST_TYPE)
+ elm_object_text_set(btn2, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_COPY_TO_PHONE"));
+ else if (pListData->list_type == THREAD_SPAM_LIST_TYPE)
+ elm_object_text_set(btn2, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_SK_RESTORE"));
+ break;
+
+ case THREAD_CBMSG_LIST_TYPE:
+ default:
+ break;
+ }
+
+ if (pListData->check_cnt <= 0) {
+ elm_object_disabled_set(btn, EINA_TRUE);
+ if (btn2 != NULL)
+ elm_object_disabled_set(btn2, EINA_TRUE);
+ }
+
+ evas_object_hide(pListData->search_btn);
+ elm_object_item_part_content_unset(pListData->nf_it, "title_right_btn");
} else {
+ btn = elm_button_add(pData->navi_frame);
+ elm_object_style_set(btn, "naviframe/toolbar/default");
+ elm_object_item_part_content_set(pListData->nf_it, "toolbar_button1", btn);
+ pListData->toolbar_btn[CONTROLBAR_ITEM_1] = btn;
+
switch (pListData->list_type) {
- case THREAD_NORMAL_LIST_TYPE:
- pListData->toolbar_item[CONTROLBAR_ITEM_1] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_COMPOSE, dgettext("sys_string", "IDS_COM_SK3_COMPOSE"), \
- msg_ui_thread_ctlbar_compose_cb, (void *)pListData);
- pListData->toolbar_item[CONTROLBAR_ITEM_2] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), \
- msg_ui_thread_ctlbar_checkbox_cb, (void *)pListData);
- pListData->toolbar_item[CONTROLBAR_ITEM_3] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_MESSAGEBOX, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_HEADER_MESSAGE_BOXES"), \
- msg_ui_thread_ctlbar_message_box_cb, pListData);
+ case THREAD_CBMSG_LIST_TYPE:
+ elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_SK_DELETE"));
+ evas_object_smart_callback_add(btn, "clicked", msg_ui_thread_ctlbar_checkbox_cb, pListData);
if (pListData->item_cnt <= 0)
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
+ elm_object_disabled_set(btn, EINA_TRUE);
break;
- case THREAD_SPAM_LIST_TYPE:
- pListData->toolbar_item[CONTROLBAR_ITEM_1] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_EDIT, dgettext("sys_string", "IDS_COM_SK_EDIT"), \
- msg_ui_thread_ctlbar_checkbox_cb, (void *)pListData);
- pListData->toolbar_item[CONTROLBAR_ITEM_2] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- pListData->toolbar_item[CONTROLBAR_ITEM_3] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_SETTINGS, dgettext("sys_string", "IDS_COM_BODY_SETTINGS"), \
- msg_ui_thread_ctlbar_spam_setting_cb, (void *)pListData);
- pListData->toolbar_item[CONTROLBAR_ITEM_4] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
-
- if (pListData->item_cnt <=0)
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_TRUE);
+ case THREAD_SIM_LIST_TYPE:
+ elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_SK_EDIT"));
+ evas_object_smart_callback_add(btn, "clicked", msg_ui_thread_ctlbar_checkbox_cb, pListData);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_4], EINA_TRUE);
+ if (pListData->item_cnt <= 0)
+ elm_object_disabled_set(btn, EINA_TRUE);
break;
- case THREAD_CBMSG_LIST_TYPE:
- pListData->toolbar_item[CONTROLBAR_ITEM_1] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), \
- msg_ui_thread_ctlbar_checkbox_cb, (void *)pListData);
- pListData->toolbar_item[CONTROLBAR_ITEM_2] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- pListData->toolbar_item[CONTROLBAR_ITEM_3] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- pListData->toolbar_item[CONTROLBAR_ITEM_4] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
+ case THREAD_NORMAL_LIST_TYPE:
+ elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_SK3_COMPOSE"));
+ evas_object_smart_callback_add(btn, "clicked", msg_ui_thread_ctlbar_compose_cb, pListData);
- if (pListData->item_cnt <=0)
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_TRUE);
+ Evas_Object *btn3 = elm_button_add(pData->navi_frame);
+ elm_object_style_set(btn3, "naviframe/more/default");
+ evas_object_smart_callback_add(btn3, "clicked", msg_ui_thread_ctlbar_message_box_cb, pListData);
+ elm_object_item_part_content_set(pListData->nf_it, "toolbar_more_btn", btn3);
+ pListData->toolbar_btn[CONTROLBAR_ITEM_3] = btn3;
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_3], EINA_TRUE);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_4], EINA_TRUE);
break;
- case THREAD_SIM_LIST_TYPE:
- pListData->toolbar_item[CONTROLBAR_ITEM_1] = elm_toolbar_item_append(toolbar, MSG_CONTROLBAR_ICON_EDIT, dgettext("sys_string", "IDS_COM_SK_EDIT"), \
- msg_ui_thread_ctlbar_checkbox_cb, (void *)pListData);
- pListData->toolbar_item[CONTROLBAR_ITEM_2] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- pListData->toolbar_item[CONTROLBAR_ITEM_3] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- pListData->toolbar_item[CONTROLBAR_ITEM_4] = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
+ case THREAD_SPAM_LIST_TYPE:
+ elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_SK_EDIT"));
+ evas_object_smart_callback_add(btn, "clicked", msg_ui_thread_ctlbar_checkbox_cb, pListData);
- if (pListData->item_cnt <=0)
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_TRUE);
+ btn2 = elm_button_add(pData->navi_frame);
+ elm_object_style_set(btn, "naviframe/toolbar/left");
+ elm_object_style_set(btn2, "naviframe/toolbar/right");
+ elm_object_text_set(btn2, dgettext("sys_string", "IDS_COM_BODY_SETTINGS"));
+ evas_object_smart_callback_add(btn2, "clicked", msg_ui_thread_ctlbar_spam_setting_cb, pListData);
+ elm_object_item_part_content_set(pListData->nf_it, "toolbar_button2", btn2);
+ pListData->toolbar_btn[CONTROLBAR_ITEM_2] = btn2;
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_3], EINA_TRUE);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_4], EINA_TRUE);
+ if (pListData->item_cnt <=0)
+ elm_object_disabled_set(btn, EINA_TRUE);
break;
+
default:
D_MSG("[ERROR] invalid viewmode");
return;
}
+
+ Evas_Object *search_icon = elm_object_content_get(pListData->search_btn);
+ if (pListData->item_cnt > 0)
+ elm_image_file_set(search_icon, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_TITLE_ICON_SEARCH);
+ else
+ elm_image_file_set(search_icon, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_TITLE_ICON_SEARCH_DIM);
+
+ if (pListData->search_mode == THREAD_SEARCH_OFF && msg_ui_thread_rotation_get() == false) {
+ elm_object_item_part_content_set(pListData->nf_it, "title_right_btn", pListData->search_btn);
+ } else {
+ evas_object_hide(pListData->search_btn);
+ elm_object_item_part_content_unset(pListData->nf_it, "title_right_btn");
+ }
}
MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
}
+void msg_ui_thread_show_toolbar(PMSG_THREAD_LIST_DATA pListData)
+{
+ D_ENTER;
+
+ if (!pListData)
+ return;
+
+ PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
+
+ if (!pListData->back_btn) {
+ pListData->back_btn = elm_button_add(pData->navi_frame);
+ evas_object_smart_callback_add(pListData->back_btn, "clicked", msg_ui_thread_back_btn_clicked_cb, (void *)pListData);
+ elm_object_style_set(pListData->back_btn, "naviframe/back_btn/default");
+ elm_object_item_part_content_set(pListData->nf_it, "prev_btn", pListData->back_btn);
+ }
+ elm_object_item_part_content_set(pListData->nf_it, "prev_btn", pListData->back_btn);
+
+ msg_ui_thread_set_navi_toolbar_item(pListData);
+ elm_object_item_signal_emit(pListData->nf_it, "elm,state,toolbar,open", "");
+
+ D_LEAVE;
+}
+
+void msg_ui_thread_hide_toolbar(PMSG_THREAD_LIST_DATA pListData, bool bDeleteBtn)
+{
+ D_ENTER;
+
+ if (!pListData)
+ return;
+
+ if (bDeleteBtn) {
+ int i = 0;
+
+ if (pListData->back_btn) {
+ evas_object_del(pListData->back_btn);
+ pListData->back_btn = NULL;
+ }
+
+ for (i = 0; i < CONTROLBAR_ITEM_MAX; i++) {
+ if (pListData->toolbar_btn[i]) {
+ evas_object_del(pListData->toolbar_btn[i]);
+ pListData->toolbar_btn[i] = NULL;
+ }
+ }
+ }
+ elm_object_item_part_content_unset(pListData->nf_it, "prev_btn");
+ elm_object_item_part_content_unset(pListData->nf_it, "toolbar_button1");
+ elm_object_item_part_content_unset(pListData->nf_it, "toolbar_button2");
+ elm_object_item_part_content_unset(pListData->nf_it, "toolbar_more_btn");
+
+ elm_object_item_signal_emit(pListData->nf_it, "elm,state,toolbar,close", "");
+ D_LEAVE;
+}
+
void msg_ui_thread_rotation_set(void *data, int rot)
{
PMSG_THREAD_DATA pData = (PMSG_THREAD_DATA)data;
return pData->isRotate;
}
-void msg_ui_thread_split_view_show(PMSG_THREAD_DATA pData)
+void msg_ui_thread_lang_changed(void *data)
{
- D_ENTER;
+ PMSG_THREAD_DATA pData = (PMSG_THREAD_DATA)data;
+ PMSG_THREAD_LIST_DATA pListData = NULL;
+ int i = 0;
- PMSG_THREAD_LIST_DATA pListData = msg_ui_thread_get_current_list();
+ if (!pData)
+ return;
- elm_panes_content_left_size_set(pData->panes, 0.4);
- if (pListData) {
- if (pListData->search_mode == THREAD_SEARCH_ON) {
- Evas_Object *entry = NULL;
+ for (i = 0; i < MSG_THREAD_LIST_MAX_COUNT; i++) {
+ if (pData->list_data[i] != NULL) {
+ char label[DEF_BUF_LEN_S+1] = {0,};
- pListData->search_mode = THREAD_SEARCH_OFF;
- elm_genlist_mode_set(pListData->genlist, ELM_LIST_SCROLL);
+ pListData = pData->list_data[i];
- if (pListData->search_timer) {
- ecore_timer_del(pListData->search_timer);
- pListData->search_timer = NULL;
- }
+ elm_genlist_realized_items_update(pListData->genlist);
+ elm_object_part_text_set(pListData->noc_ly, "elm.text", dgettext(MESSAGE_PKGNAME, "IDS_MSGF_POP_NOMESSAGES"));
+ elm_object_part_text_set(pListData->searchbar, "elm.guidetext", dgettext("sys_string", "IDS_COM_BODY_SEARCH"));
- entry = elm_object_part_content_get(pListData->searchbar, "elm.swallow.content");
- elm_object_text_set(entry, "");
- elm_object_signal_emit(pListData->searchbar, "cancel,out", "");
+ if (pListData->popup) {
+ evas_object_del(pListData->popup);
+ pListData->popup = NULL;
+ }
- if (pListData->list_type== THREAD_NORMAL_LIST_TYPE)
- msg_ui_thread_list_load(pListData, FALSE);
- else
- msg_ui_thread_msg_list_load(pListData, pListData->list_type);
+ msg_ui_thread_get_title_text(pListData, label, DEF_BUF_LEN_S);
+ elm_object_item_text_set(pListData->nf_it, label);
+ msg_ui_thread_set_navi_toolbar_item(pListData);
}
+ }
- if (pListData->view_mode == THREAD_NORMAL_VIEW) {
- edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
- elm_object_part_content_unset(pListData->content_ly, "sel_all");
- evas_object_hide(pListData->searchbar);
- }
+ if (pData->split_data) {
+ char label[DEF_BUF_LEN_S+1] = {0,};
+ pListData = msg_ui_thread_get_current_list();
- elm_object_item_part_content_unset(pListData->nf_it, "prev_btn");
- if (pListData->back_btn) {
- evas_object_del(pListData->back_btn);
- pListData->back_btn = NULL;
+ msg_ui_thread_get_title_text(pListData, label, DEF_BUF_LEN_S);
+ elm_object_part_text_set(pData->split_data->title_layout, "title_text", label);
+ elm_object_part_text_set(pData->split_data->noc_ly, "elm.text", dgettext(MESSAGE_PKGNAME, "IDS_MSGF_POP_NOMESSAGES"));
+ }
+}
+
+void msg_ui_thread_split_view_show(PMSG_THREAD_DATA pData)
+{
+ D_ENTER;
+
+ PMSG_THREAD_LIST_DATA pListData = msg_ui_thread_get_current_list();
+
+ elm_panes_content_left_size_set(pData->panes, 0.4);
+
+ if (pListData) {
+ if (pListData->view_mode == THREAD_NORMAL_VIEW && pListData->item_cnt > 0) {
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "show_searchbar", "sel_all");
+ evas_object_show(pListData->searchbar);
+ elm_object_part_content_set(pListData->content_ly, "sel_all", pListData->searchbar);
}
+
elm_naviframe_item_title_visible_set(pListData->nf_it, EINA_FALSE);
- evas_object_hide(pListData->toolbar);
- elm_object_item_part_content_unset(pListData->nf_it, "controlbar");
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,close", "");
+ msg_ui_thread_hide_toolbar(pListData, true);
+ if (pListData->search_btn) {
+ evas_object_hide(pListData->search_btn);
+ elm_object_item_part_content_unset(pListData->nf_it, "title_right_btn");
+ }
elm_object_part_content_set(pData->panes, "left", pData->layout_main);
evas_object_show(pData->layout_main);
-
Evas_Object * layout = msg_ui_get_composer_ug_viewer_layout();
if (layout) {
elm_object_part_content_set(pData->panes, "right", layout);
evas_object_show(layout);
- msg_ui_thread_destroy_split_data(pData->split_data);
- } else if (pListData->loaded_ug) {
- elm_object_part_content_set(pData->panes, "right", (Evas_Object *)ug_get_layout(pListData->loaded_ug));
- evas_object_show(layout);
- msg_ui_thread_destroy_split_data(pData->split_data);
+ if (pData->split_data)
+ msg_ui_thread_destroy_split_data(pData->split_data);
} else {
if (!pData->split_data) {
msg_ui_thread_create_split_data();
msg_ui_thread_launch_msg_detail_view(pListData, elm_object_item_data_get(pListData->sel_gen_item));
}
}
-
- if (pListData->selectioninfo_layout)
- elm_layout_theme_set(pListData->selectioninfo_layout, "standard", "selectioninfo", "horizontal/bottom_12");
}
+
+ elm_object_signal_emit(pData->panes, "elm,panes,pair", "");
}
void msg_ui_thread_split_view_hide(PMSG_THREAD_DATA pData)
PMSG_THREAD_LIST_DATA pListData = msg_ui_thread_get_current_list();
+ elm_object_part_content_set(pData->panes, "left", pData->layout_main);
elm_panes_content_left_size_set(pData->panes, 1.0);
+ if (pData->split_data) {
+ elm_object_part_content_unset(pData->panes, "right");
+ msg_ui_thread_destroy_split_data(pData->split_data);
+ }
+
if (pListData) {
- if (pListData->view_mode == THREAD_NORMAL_VIEW) {
- edje_object_signal_emit(_EDJ(pListData->content_ly), "show_searchbar", "sel_all");
- evas_object_show(pListData->searchbar);
- elm_object_part_content_set(pListData->content_ly, "sel_all", pListData->searchbar);
+ if (pListData->search_mode == THREAD_SEARCH_OFF) {
+ msg_ui_thread_show_toolbar(pListData);
- if (!pListData->back_btn) {
- pListData->back_btn = elm_button_add(pData->navi_frame);
- evas_object_smart_callback_add(pListData->back_btn, "clicked", msg_ui_thread_back_btn_clicked_cb, (void *)pListData);
- elm_object_style_set(pListData->back_btn, "naviframe/back_btn/default");
+ if (pListData->view_mode == THREAD_NORMAL_VIEW) {
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
+ elm_object_part_content_unset(pListData->content_ly, "sel_all");
+ evas_object_hide(pListData->searchbar);
}
- elm_object_item_part_content_set(pListData->nf_it, "prev_btn", pListData->back_btn);
}
-
elm_naviframe_item_title_visible_set(pListData->nf_it, EINA_TRUE);
- msg_ui_thread_set_navi_controlbar_item(pListData);
- elm_object_item_part_content_set(pListData->nf_it, "controlbar", pListData->toolbar);
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,open", "");
- evas_object_show(pListData->toolbar);
-
- elm_object_part_content_unset(pData->panes, "right");
- msg_ui_thread_destroy_split_data(pData->split_data);
-
- if (pListData->selectioninfo_layout)
- elm_layout_theme_set(pListData->selectioninfo_layout, "standard", "selectioninfo", "vertical/bottom_12");
Evas_Object * layout = msg_ui_get_composer_ug_viewer_layout();
if (layout) {
elm_object_part_content_unset(pData->panes, "left");
elm_panes_content_left_size_set(pData->panes, 0.0);
evas_object_hide(pData->layout_main);
- } else if (pListData->loaded_ug) {
- elm_object_part_content_set(pData->panes, "right", (Evas_Object *)ug_get_layout(pListData->loaded_ug));
- elm_object_part_content_unset(pData->panes, "left");
- elm_panes_content_left_size_set(pData->panes, 0.0);
- evas_object_hide(pData->layout_main);
} else if (pData->detail_layout) {
pData->detail_layout = NULL;
if (pListData->sel_gen_item > 0)
msg_ui_thread_launch_msg_detail_view(pListData, elm_object_item_data_get(pListData->sel_gen_item));
}
}
+ elm_object_signal_emit(pData->panes, "elm,panes,unpair", "");
}
return;
}
- PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
- Evas_Object * layout = (Evas_Object *)ug_get_layout(pListData->loaded_ug);
- elm_object_part_content_set(pData->panes, "right", layout);
- msg_ui_thread_destroy_split_data(pData->split_data);
-
- if (pData->isRotate == false) {
- elm_object_part_content_unset(pData->panes, "left");
- elm_panes_content_left_size_set(pData->panes, 0.0);
- evas_object_hide(pData->layout_main);
- }
-
D_LEAVE;
return;
}
win = ug_get_window();
switch (mode) {
- case UG_MODE_FULLVIEW:
+ case UG_MODE_FULLVIEW:
evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, base);
evas_object_show(base);
break;
case UG_MODE_FRAMEVIEW:
- default:
+ default:
break;
}
}
elm_object_part_content_set(pData->panes, "left", pData->layout_main);
elm_object_part_content_unset(pData->panes, "right");
elm_panes_content_left_size_set(pData->panes, 1.0);
+ } else {
+ char label[DEF_BUF_LEN_S+1] = {0,};
+
+ if (!pData->split_data) {
+ msg_ui_thread_create_split_data();
+ msg_ui_thread_splitview_launch(pData, pData->split_data);
+ }
+ msg_ui_thread_get_title_text(pListData, label, DEF_BUF_LEN_S);
+
+ if (pData->split_data)
+ elm_object_part_text_set(pData->split_data->title_layout, "title_text", label);
}
}
elm_object_part_content_set(title_layout, "prev_btn", back_btn);
elm_object_item_part_content_unset(nf_it, "prev_btn");
- elm_object_item_part_content_unset(nf_it, "controlbar");
- elm_object_item_signal_emit(nf_it, "elm,state,controlbar,close", "");
+ elm_object_item_signal_emit(nf_it, "elm,state,toolbar,close", "");
} else {
- Evas_Object *toolbar = NULL;
Evas_Object *back_btn = NULL;
- toolbar = elm_toolbar_add(navi_frame);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
-
back_btn = elm_button_add(navi_frame);
elm_object_style_set(back_btn, "naviframe/back_btn/default");
evas_object_smart_callback_add(back_btn, "clicked", msg_ui_thread_back_btn_clicked_cb, (void *)pListData);
nf_it = elm_naviframe_item_push(navi_frame, title, back_btn, NULL, detail_layout, NULL);
- elm_object_item_part_content_set(nf_it, "controlbar", toolbar);
}
pData->detail_layout = detail_layout;
pData->detail_nf_it = nf_it;
layout = elm_layout_add(parent);
elm_layout_theme_set(layout, "layout", "application", "noindicator");
+ elm_layout_file_set(layout, MSG_THREAD_THEME, "thread_detail_layout");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
return layout;
}
elm_object_part_content_unset(pListData->content_ly, "sel_all");
evas_object_hide(pListData->sel_all_ly);
elm_object_part_content_set(pListData->content_ly, "sel_all", pListData->searchbar);
+ if (msg_ui_thread_rotation_get() == false)
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
+ else
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "show_searchbar", "sel_all");
elm_genlist_decorate_mode_set(pListData->genlist, EINA_FALSE);
elm_genlist_select_mode_set(pListData->genlist, ELM_OBJECT_SELECT_MODE_DEFAULT);
if (pListData->view_mode == THREAD_EDIT_VIEW)
msg_ui_thread_cancel_edit_mode(pListData);
+ if (pListData->selectioninfo_layout) {
+ evas_object_del(pListData->selectioninfo_layout);
+ pListData->selectioninfo_layout = NULL;
+ }
+
if (pListData->select_info) {
evas_object_del(pListData->select_info);
pListData->select_info = NULL;
}
- msg_ui_thread_set_navi_controlbar_item(pListData);
+ msg_ui_thread_set_navi_toolbar_item(pListData);
if (pListData->list_type == THREAD_NORMAL_LIST_TYPE)
elm_object_item_text_set(pListData->nf_it, dgettext("sys_string", "IDS_COM_BODY_MESSAGES"));
else if (pListData->list_type == THREAD_CBMSG_LIST_TYPE)
elm_object_item_text_set(pListData->nf_it, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_CB_MESSAGES"));
- if (msg_ui_thread_rotation_get() == true) {
+ if (msg_ui_thread_rotation_get() == false) {
edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
elm_object_part_content_unset(pListData->content_ly, "sel_all");
evas_object_hide(pListData->searchbar);
- elm_object_item_signal_emit(pListData->nf_it, "elm,state,controlbar,close", "");
- elm_naviframe_item_title_visible_set(pListData->nf_it, EINA_FALSE);
- } else {
- if (!pListData->back_btn) {
- PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
-
- pListData->back_btn = elm_button_add(pData->navi_frame);
- evas_object_smart_callback_add(pListData->back_btn, "clicked", msg_ui_thread_back_btn_clicked_cb, (void *)pListData);
- elm_object_style_set(pListData->back_btn, "naviframe/back_btn/default");
- }
- elm_object_item_part_content_set(pListData->nf_it, "prev_btn", pListData->back_btn);
elm_naviframe_item_title_visible_set(pListData->nf_it, EINA_TRUE);
+ msg_ui_thread_show_toolbar(pListData);
+ } else {
+ elm_naviframe_item_title_visible_set(pListData->nf_it, EINA_FALSE);
+ msg_ui_thread_hide_toolbar(pListData, true);
}
D_LEAVE;
Evas_Object *layout;
label_text = elm_label_add(popup);
- elm_object_style_set(label_text, "popup/default");
- elm_label_line_wrap_set(label_text, ELM_WRAP_MIXED);
+ elm_layout_file_set(label_text, MSG_COMMON_EDJ, "popup_with_checkbox");
elm_object_text_set(label_text, msg);
- evas_object_size_hint_weight_set(label_text, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_weight_set(label_text, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(label_text, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(label_text);
evas_object_smart_callback_add(check, "changed", __msg_ui_thread_action_popup_checked_cb, pListData);
evas_object_show(check);
- elm_object_part_text_set(layout, "elm.text", "Include protected messages");
+ elm_object_part_text_set(layout, "elm.text", dgettext(MESSAGE_PKGNAME, "IDS_MSGF_POP_INCLUDE_PROTECTED_MESSAGE"));
elm_object_part_content_set(layout, "elm.swallow.check", check);
elm_object_part_content_set(layout, "elm.swallow.content", label_text);
evas_object_show(layout);
msg_ui_thread_create_split_data();
msg_ui_thread_splitview_launch(pData, pData->split_data);
}
- msg_ui_thread_splitview_set_title(pData->split_data);
+ if (pData->split_data) {
+ char label[DEF_BUF_LEN_S+1] = {0,};
+
+ msg_ui_thread_get_title_text(pListData, label, DEF_BUF_LEN_S);
+ elm_object_part_text_set(pData->split_data->title_layout, "title_text", label);
+ }
}
Elm_Object_Item *it_dateline = NULL;
MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
MSG_UI_RET_IF(MSG_UI_LEVEL_DEBUG, !pListData);
- PMSG_THREAD_DATA pData = msg_ui_thread_get_data();
-
if (!pListData->select_info) {
pListData->select_info = elm_notify_add(pListData->content_ly);
- elm_notify_orient_set(pListData->select_info, ELM_NOTIFY_ORIENT_BOTTOM);
+ elm_notify_align_set(pListData->select_info, ELM_NOTIFY_ALIGN_FILL, 1.0);
pListData->selectioninfo_layout = elm_layout_add(pListData->content_ly);
+ elm_layout_theme_set(pListData->selectioninfo_layout, "standard", "selectioninfo", "center_text");
elm_object_content_set(pListData->select_info, pListData->selectioninfo_layout);
}
- if (pData->isRotate)
- elm_layout_theme_set(pListData->selectioninfo_layout, "standard", "selectioninfo", "horizontal/bottom_12");
- else
- elm_layout_theme_set(pListData->selectioninfo_layout, "standard", "selectioninfo", "vertical/bottom_12");
-
if (pListData->check_cnt == 0) {
evas_object_hide(pListData->select_info);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_TRUE);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_TRUE);
+ elm_object_disabled_set(pListData->toolbar_btn[CONTROLBAR_ITEM_1], EINA_TRUE);
+ elm_object_disabled_set(pListData->toolbar_btn[CONTROLBAR_ITEM_2], EINA_TRUE);
} else {
char text[DEF_BUF_LEN_S] = {'0',};
edje_object_part_text_set(_EDJ(pListData->selectioninfo_layout), "elm.text", text);
evas_object_show(pListData->select_info);
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_1], EINA_FALSE);
- if (elm_toolbar_item_icon_get(pListData->toolbar_item[CONTROLBAR_ITEM_2]) != NULL)
- elm_object_item_disabled_set(pListData->toolbar_item[CONTROLBAR_ITEM_2], EINA_FALSE);
+ elm_object_disabled_set(pListData->toolbar_btn[CONTROLBAR_ITEM_1], EINA_FALSE);
+ if (pListData->toolbar_btn[CONTROLBAR_ITEM_2] != NULL)
+ elm_object_disabled_set(pListData->toolbar_btn[CONTROLBAR_ITEM_2], EINA_FALSE);
}
}
evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
popup_title = (char *) calloc(1, strlen(title) + 1);
- bzero(popup_title, sizeof(popup_title));
if (strlen(title) > 0)
- strncpy(popup_title, title, sizeof(popup_title));
+ strncpy(popup_title, title, sizeof(char)* strlen(title));
evas_object_data_set(genlist, "title", popup_title);
memset(&pData->itc_popup, 0x00, sizeof(Elm_Genlist_Item_Class));
void msg_ui_thread_set_app_state(int app_state)
{
+ D_ENTER;
+
if (app_state <= MSG_UI_STATE_NONE || app_state >= MSG_UI_STATE_MAX)
return;
return;
if (app_state == MSG_UI_STATE_PAUSE) {
- Elm_Object_Item* it_sweep = NULL;
PMSG_THREAD_LIST_DATA pListData = msg_ui_thread_get_current_list();
- it_sweep = (Elm_Object_Item *)elm_genlist_decorated_item_get(pListData->genlist);
- if (it_sweep) {
- elm_genlist_item_decorate_mode_set(it_sweep, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(it_sweep, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ if (pListData) {
+ Elm_Object_Item* it_sweep = NULL;
+
+ it_sweep = (Elm_Object_Item *)elm_genlist_decorated_item_get(pListData->genlist);
+ if (it_sweep) {
+ elm_genlist_item_decorate_mode_set(it_sweep, "slide", EINA_FALSE);
+ elm_genlist_item_select_mode_set(it_sweep, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ }
}
}
pData->app_state = app_state;
+ D_LEAVE;
}
int msg_ui_thread_get_app_state(PMSG_THREAD_DATA pData)
return pData->app_state;
}
+void msg_ui_thread_cancel_search_mode(PMSG_THREAD_LIST_DATA pListData)
+{
+ if (pListData == NULL || pListData->search_mode == THREAD_SEARCH_OFF)
+ return;
+
+ pListData->search_mode = THREAD_SEARCH_OFF;
+ elm_genlist_mode_set(pListData->genlist, ELM_LIST_SCROLL);
+
+ if (pListData->search_timer) {
+ ecore_timer_del(pListData->search_timer);
+ pListData->search_timer = NULL;
+ }
+
+ Evas_Object *entry = NULL;
+
+ elm_object_signal_emit(pListData->searchbar, "elm,state,guidetext,show", "elm");
+ entry = elm_object_part_content_get(pListData->searchbar, "elm.swallow.content");
+ elm_object_text_set(entry, "");
+ elm_object_signal_emit(pListData->searchbar, "cancel,out", "");
+
+ if (msg_ui_thread_rotation_get() == false) {
+ evas_object_show(pListData->search_btn);
+ elm_object_item_part_content_set(pListData->nf_it, "title_right_btn", pListData->search_btn);
+
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
+ elm_object_part_content_unset(pListData->content_ly, "sel_all");
+ evas_object_hide(pListData->searchbar);
+
+ msg_ui_thread_show_toolbar(pListData);
+ }
+
+ if (pListData->list_type== THREAD_NORMAL_LIST_TYPE)
+ msg_ui_thread_list_load(pListData, FALSE);
+ else
+ msg_ui_thread_msg_list_load(pListData, pListData->list_type);
+}
+
+void msg_ui_thread_button_disabled_set(PMSG_THREAD_LIST_DATA pListData, Eina_Bool disabled, int controlbar_btn)
+{
+ MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, !pListData);
+
+ if (disabled == EINA_TRUE) {
+ if (pListData->view_mode == THREAD_NORMAL_VIEW) {
+ if (pListData->toolbar_btn[controlbar_btn])
+ elm_object_disabled_set(pListData->toolbar_btn[controlbar_btn], EINA_TRUE);
+
+ if (msg_ui_thread_rotation_get() == true) {
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "hide_searchbar", "sel_all");
+ elm_object_part_content_unset(pListData->content_ly, "sel_all");
+ evas_object_hide(pListData->searchbar);
+ } else {
+ if (pListData->search_btn) {
+ Evas_Object *search_icon = elm_object_content_get(pListData->search_btn);
+ elm_image_file_set(search_icon, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_TITLE_ICON_SEARCH_DIM);
+ }
+ }
+ }
+ } else {
+ if (pListData->view_mode == THREAD_NORMAL_VIEW) {
+ if (pListData->toolbar_btn[controlbar_btn])
+ elm_object_disabled_set(pListData->toolbar_btn[controlbar_btn], EINA_FALSE);
+
+ if (msg_ui_thread_rotation_get() == true) {
+ edje_object_signal_emit(_EDJ(pListData->content_ly), "show_searchbar", "sel_all");
+ evas_object_show(pListData->searchbar);
+ elm_object_part_content_set(pListData->content_ly, "sel_all", pListData->searchbar);
+ } else {
+ if (pListData->search_btn) {
+ Evas_Object *search_icon = elm_object_content_get(pListData->search_btn);
+ elm_image_file_set(search_icon, MSG_IMAGES_EDJ, MSG_UI_THREAD_LIST_TITLE_ICON_SEARCH);
+ }
+ }
+ }
+ }
+}
+
+void msg_ui_thread_get_title_text(PMSG_THREAD_LIST_DATA pListData, char *label, int label_len)
+{
+ MSG_UI_RETM_IF(MSG_UI_LEVEL_ERR, !label || !pListData, "label or pListData is NULL");
+
+ if (pListData) {
+ switch (pListData->list_type) {
+ case THREAD_NORMAL_LIST_TYPE:
+ strncpy(label, dgettext("sys_string", "IDS_COM_BODY_MESSAGES"), sizeof(char)*label_len);
+ break;
+ case THREAD_SPAM_LIST_TYPE:
+ strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SPAM_MESSAGES"), sizeof(char)*label_len);
+ break;
+ case THREAD_SIM_LIST_TYPE:
+ strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_SIM_CARD_MESSAGES"), sizeof(char)*label_len);
+ break;
+ case THREAD_CBMSG_LIST_TYPE:
+ strncpy(label, dgettext(MESSAGE_PKGNAME, "IDS_MSGF_BODY_CB_MESSAGES"), sizeof(char)*label_len);
+ break;
+ default:
+ D_MSG("[ERROR] invalid viewmode");
+ return;
+ }
+ } else {
+ strncpy(label, dgettext("sys_string", "IDS_COM_BODY_MESSAGES"), sizeof(char)*label_len);
+ }
+}
+
+
const char *msg_ui_thread_make_search_result_string(const char *string, char *searchword, bool *result)
{
char pstr[DEF_BUF_LEN + 1] = {0,};
}
}
}
+ group{
+ name : "thread_detail_layout";
+
+ parts{
+ part {
+ name: "pad_left";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min : 70 0;
+ fixed: 1 0;
+ visible: 0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part {
+ name: "pad_right";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min : 70 0;
+ fixed: 1 0;
+ visible: 0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ part {
+ name: "pad_top";
+ type: RECT;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ visible: 0;
+ rel1 { relative: 1.0 0.0; to_x: "pad_left"; }
+ rel2 { relative: 0.0 0.0; to_x: "pad_right"; }
+ }
+ }
+ part {
+ name: "pad_bottom";
+ type: RECT;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ visible: 0;
+ rel1 { relative: 1.0 1.0; to_x: "pad_left"; }
+ rel2 { relative: 0.0 1.0; to_x: "pad_right"; }
+ }
+ }
+ part{
+ name:"elm.swallow.content";
+ type: SWALLOW;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ align: 0 0;
+ fixed: 1 0;
+ rel1 { relative: 0.0 1.0; to: "pad_top"; }
+ rel2 { relative: 1.0 1.0; to: "pad_bottom"; }
+ }
+ }
+ }
+ }
group
{
name : "elm/genlist/item/thread_list_blank/default";