Hover menus, add timestamps and such
This commit is contained in:
parent
51e10eae4d
commit
c6cecf9117
|
@ -0,0 +1 @@
|
|||
*.core
|
12
src/main.c
12
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);
|
||||
|
||||
|
|
152
src/status.c
152
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, "<b>%s</b>",
|
||||
"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);
|
||||
|
|
Loading…
Reference in New Issue