diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..05469bc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.core diff --git a/src/main.c b/src/main.c index c51c49d..affe17f 100644 --- a/src/main.c +++ b/src/main.c @@ -19,9 +19,13 @@ create_sidebar(Evas_Object* parent) elm_toolbar_shrink_mode_set(sb, ELM_TOOLBAR_SHRINK_MENU); o = elm_toolbar_item_append(sb, "home", "Home", NULL, NULL); - elm_toolbar_item_priority_set(o, -100); - o = elm_toolbar_item_append(sb, "mail-unread", "Unread", NULL, NULL); - elm_toolbar_item_priority_set(o, 100); + elm_toolbar_item_priority_set(o, 0); + o = elm_toolbar_item_append(sb, "mail-unread", "Notifications", NULL, NULL); + elm_toolbar_item_priority_set(o, 1); + o = elm_toolbar_item_append(sb, "view-list-compact", "Lists", NULL, NULL); + elm_toolbar_item_priority_set(o, 1); + o = elm_toolbar_item_append(sb, "mail-send", "Direct", NULL, NULL); + elm_toolbar_item_priority_set(o, 1); return sb; } @@ -69,7 +73,7 @@ elm_main(int argc, char** argv) elm_box_pack_end(status_content, status); } Evas_Object* lol = E_SHOW(elm_label_add(status_content)); - elm_object_text_set(lol, "sdfjkfhjkahgkljsghklfjghdsjkghsdf"); + elm_object_text_set(lol, "¯\\_(ツ)_/¯"); elm_box_pack_end(status_content, lol); E_END(status_content); diff --git a/src/status.c b/src/status.c index c5d9c81..9563766 100644 --- a/src/status.c +++ b/src/status.c @@ -5,6 +5,14 @@ #define PFP_ICON_SIZE 48 #define INTERACT_ICON_SIZE 18 +static void +hover_btn_show(void* data, Evas_Object* obj EINA_UNUSED, void* ev_info EINA_UNUSED) +{ + Evas_Object* hover = data; + + evas_object_show(hover); +} + Evas_Object* exc_status_add(Evas_Object* parent, struct exc_status status) { @@ -14,7 +22,7 @@ exc_status_add(Evas_Object* parent, struct exc_status status) Evas_Object* root_evas = evas_object_rectangle_add(evas_object_evas_get(parent)); E_BEGIN(root_evas); evas_object_size_hint_weight_set(root_evas, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_min_set(root_evas, 400, 10); + evas_object_size_hint_min_set(root_evas, 440, 10); elm_table_pack(root, root_evas, 0, 0, 1, 1); E_END(root_evas); E_END(root); // Returned and packed into later @@ -22,7 +30,7 @@ exc_status_add(Evas_Object* parent, struct exc_status status) Evas_Object* st_frame = E_SHOW(elm_frame_add(parent)); E_BEGIN(st_frame); elm_table_pack(root, st_frame, 0, 0, 1, 1); // Pad hack - evas_object_size_hint_padding_set(st_frame, 3, 3, 3, 3); + evas_object_size_hint_padding_set(st_frame, 3, 3, 3, 1); evas_object_fullsize(st_frame); Evas_Object* st_box = E_SHOW(elm_box_add(st_frame)); @@ -47,15 +55,24 @@ exc_status_add(Evas_Object* parent, struct exc_status status) evas_object_fullsize(st_box_rt); //evas_object_size_hint_align_set(st_box_rt, 0.0, 0.0); + Evas_Object* st_box_rt_info_root = E_SHOW(elm_box_add(st_box_rt)); + evas_object_fullsize(st_box_rt_info_root); + elm_box_horizontal_set(st_box_rt_info_root, EINA_TRUE); + Evas_Object* st_box_rt_info = E_SHOW(elm_box_add(st_box_rt)); E_BEGIN(st_box_rt_info); + evas_object_fullsize(st_box_rt_info); evas_object_size_hint_align_set(st_box_rt_info, 0.0, 0.0); elm_box_horizontal_set(st_box_rt_info, EINA_TRUE); evas_object_size_hint_padding_set(st_box_rt_info, 4,4,2,4); Evas_Object* st_username = E_SHOW(elm_label_add(st_box)); E_BEGIN(st_username); - elm_object_text_set(st_username, "Average poster"); + Eina_Strbuf* userstr = eina_strbuf_new(); + eina_strbuf_append_printf(userstr, "%s", + "Average poster"); + elm_object_text_set(st_username, eina_strbuf_string_get(userstr)); + free(eina_strbuf_release(userstr)); elm_box_pack_end(st_box_rt_info, st_username); E_END(st_username); @@ -72,9 +89,44 @@ exc_status_add(Evas_Object* parent, struct exc_status status) elm_box_pack_end(st_box_rt_info, st_acct); E_END(st_acct); - elm_box_pack_end(st_box_rt, st_box_rt_info); + o = E_SHOW(elm_icon_add(st_box)); + E_BEGIN(o); + elm_icon_standard_set(o, "computer"); + evas_object_size_hint_min_set(o, 16, 16); + evas_object_size_hint_padding_set(o, 6, 0, 0, 0); + elm_box_pack_end(st_box_rt_info, o); + E_END(o); + + elm_box_pack_end(st_box_rt_info_root, st_box_rt_info); E_END(st_box_rt_info); + Evas_Object* st_box_rt_info_rt = E_SHOW(elm_box_add(st_box_rt)); + E_BEGIN(st_box_rt_info_rt); + //evas_object_fullsize(st_box_rt_info_rt); + evas_object_size_hint_align_set(st_box_rt_info_rt, 0.95, 0.0); + elm_box_horizontal_set(st_box_rt_info_rt, EINA_TRUE); + evas_object_size_hint_padding_set(st_box_rt_info_rt, 4,16,2,4); + + o = E_SHOW(elm_label_add(st_box)); + E_BEGIN(o); + evas_object_fullsize(o); + elm_object_text_set(o, "3min"); + evas_object_size_hint_align_set(o, 1.0, 0.0); + elm_box_pack_end(st_box_rt_info_rt, o); + E_END(o); + + o = E_SHOW(elm_icon_add(st_box)); + E_BEGIN(o); + elm_icon_standard_set(o, "system-lock-screen"); + evas_object_size_hint_min_set(o, 16, 16); + evas_object_size_hint_padding_set(o, 4, 0, 0, 0); + elm_box_pack_end(st_box_rt_info_rt, o); + E_END(o); + + elm_box_pack_end(st_box_rt_info_root, st_box_rt_info_rt); + E_END(st_box_rt_info_rt); + elm_box_pack_end(st_box_rt, st_box_rt_info_root); + Evas_Object* st_content = E_SHOW(elm_entry_add(st_box)); E_BEGIN(st_content); evas_object_fullsize(st_content); @@ -85,9 +137,14 @@ exc_status_add(Evas_Object* parent, struct exc_status status) elm_box_pack_end(st_box_rt, st_content); E_END(st_content); + Evas_Object* st_interact_root = E_SHOW(elm_box_add(st_box)); + elm_box_horizontal_set(st_interact_root, EINA_TRUE); + evas_object_fullsize(st_interact_root); + Evas_Object* st_interact = E_SHOW(elm_box_add(st_box)); E_BEGIN(st_interact); elm_box_horizontal_set(st_interact, EINA_TRUE); + evas_object_fullsize(st_interact); evas_object_size_hint_align_set(st_interact, 0, 0); o = E_SHOW(elm_button_add(st_interact)); @@ -138,8 +195,93 @@ exc_status_add(Evas_Object* parent, struct exc_status status) elm_box_pack_end(st_interact, o); E_END(o) - elm_box_pack_end(st_box_rt, st_interact); + elm_box_pack_end(st_interact_root, st_interact); E_END(st_interact); + + Evas_Object* st_interact_rt = E_SHOW(elm_box_add(st_box)); + E_BEGIN(st_interact); + elm_box_horizontal_set(st_interact_rt, EINA_TRUE); + evas_object_fullsize(st_interact_rt); + evas_object_size_hint_align_set(st_interact_rt, 0.92, 0); + + o = E_SHOW(elm_button_add(st_interact_rt)); + E_BEGIN(o) // Reply + Evas_Object* hover = elm_hover_add(st_interact_rt); + elm_object_style_set(o, "blank"); + + ico = E_SHOW(elm_icon_add(st_interact_rt)); + elm_icon_standard_set(ico, "list-remove"); + evas_object_size_hint_min_set(ico, INTERACT_ICON_SIZE, INTERACT_ICON_SIZE); + elm_object_content_set(o, ico); + evas_object_smart_callback_add(o, "clicked", hover_btn_show, hover); + elm_box_pack_end(st_interact_rt, o); + // End button... + + // ...Start hover + Evas_Object* p, * q, *r; + elm_object_style_set(hover, "popout"); + elm_hover_parent_set(hover, parent); + // CREATE + p = elm_button_add(st_interact_rt); + ico = elm_icon_add(st_interact_rt); + elm_icon_standard_set(ico, "list-remove"); + evas_object_size_hint_min_set(ico, INTERACT_ICON_SIZE, INTERACT_ICON_SIZE); + elm_object_content_set(p, ico); + // END CREATE + elm_hover_target_set(hover, o); + elm_object_part_content_set(hover, "middle", p); + + p = elm_button_add(st_interact_rt); + q = E_SHOW(elm_icon_add(st_interact_rt)); + //elm_icon_standard_set(q, "mail-mark-junk"); + elm_icon_standard_set(q, "audio-volume-muted"); + elm_object_text_set(p, "Mute"); + elm_object_content_set(p, q); + elm_object_part_content_set(hover, "bottom", p); + + p = elm_button_add(st_interact_rt); + q = E_SHOW(elm_icon_add(st_interact_rt)); + elm_icon_standard_set(q, "edit-delete"); + elm_object_content_set(p, q); + elm_object_part_content_set(hover, "right", p); + + p = elm_button_add(st_interact_rt); + q = E_SHOW(elm_icon_add(st_interact_rt)); + elm_icon_standard_set(q, "user-bookmarks"); + elm_object_content_set(p, q); + elm_object_part_content_set(hover, "left", p); + + p = elm_box_add(st_interact_rt); + q = E_SHOW(elm_button_add(st_interact_rt)); + //elm_object_text_set(q, "Report"); + r = E_SHOW(elm_icon_add(st_interact_rt)); + elm_icon_standard_set(r, "emblem-important"); + elm_object_content_set(q, r); + elm_box_pack_end(p, q); + q = E_SHOW(elm_button_add(st_interact_rt)); + elm_object_text_set(q, "Pin"); + elm_box_pack_end(p, q); + q = E_SHOW(elm_button_add(st_interact_rt)); + //elm_object_text_set(q, "Copy Link"); + r = E_SHOW(elm_icon_add(st_interact_rt)); + elm_icon_standard_set(r, "emblem-shared"); + elm_object_content_set(q, r); + elm_box_pack_end(p, q); + elm_object_part_content_set(hover, "top", p); + // BEGIN items + //elm_hoversel_item_add(o, "Mute Conversation", NULL, ELM_ICON_NONE, NULL, NULL); + //elm_hoversel_item_add(o, "Pin on Profile", NULL, ELM_ICON_NONE, NULL, NULL); + //elm_hoversel_item_add(o, "Bookmark", NULL, ELM_ICON_NONE, NULL, NULL); + //elm_hoversel_item_add(o, "Delete Status", NULL, ELM_ICON_NONE, NULL, NULL); + //elm_hoversel_item_add(o, "Copy link", NULL, ELM_ICON_NONE, NULL, NULL); + //elm_hoversel_item_add(o, "Report", NULL, ELM_ICON_NONE, NULL, NULL); + // END items + E_END(o) + + elm_box_pack_end(st_interact_root, st_interact_rt); + E_END(st_interact_rt); + + elm_box_pack_end(st_box_rt, st_interact_root); elm_box_pack_end(st_box, st_box_rt); E_BEGIN(st_box_rt);