From: Enlightenment S. <no-...@en...> - 2010-07-22 22:22:25
|
Log: Improvements on the user details window, now a proper window, trying to be a bit prettier. Author: rui Date: 2010-07-22 15:22:18 -0700 (Thu, 22 Jul 2010) New Revision: 50439 Modified: trunk/elmdentica/src/elmdentica.c trunk/elmdentica/src/settings.c Modified: trunk/elmdentica/src/elmdentica.c =================================================================== --- trunk/elmdentica/src/elmdentica.c 2010-07-22 20:28:34 UTC (rev 50438) +++ trunk/elmdentica/src/elmdentica.c 2010-07-22 22:22:18 UTC (rev 50439) @@ -516,7 +516,7 @@ static void on_handle_user(void *data, Evas_Object *obj, void *event_info) { AnchorData *anchor = (AnchorData*)data; - Evas_Object *icon=NULL, *box=NULL, *table=NULL, *button=NULL, *buttons=NULL, *frame=NULL, *label=NULL, *bubble=anchor->bubble; + Evas_Object *icon=NULL, *bg=NULL, *table=NULL, *button=NULL, *buttons=NULL, *label=NULL, *bubble=anchor->bubble; UserProfile *user; ub_Bubble * ubBubble = eina_hash_find(status2user, &bubble); char *description=NULL,*home, *path=NULL; @@ -534,93 +534,96 @@ user->description=NULL; user->tmp=NULL; - url_win = elm_win_inwin_add(win); - elm_object_style_set(url_win, "minimal_vertical"); + user_info_get(ubBubble, user); - box = elm_box_add(win); - evas_object_size_hint_weight_set(box, 1, 1); - evas_object_size_hint_align_set(box, -1, 0); + follow_user=user->screen_name; - frame = elm_frame_add(win); - evas_object_size_hint_weight_set(frame, 1, 1); - evas_object_size_hint_align_set(frame, -1, -1); - elm_frame_label_set(frame, user->screen_name); + url_win = elm_win_add(NULL, user->screen_name, ELM_WIN_BASIC); + evas_object_size_hint_min_set(url_win, 480, 480); + evas_object_size_hint_max_set(url_win, 640, 640); + elm_win_title_set(url_win, user->screen_name); + elm_win_autodel_set(url_win, EINA_TRUE); - table=elm_table_add(win); - evas_object_size_hint_weight_set(table, 1, 1); - evas_object_size_hint_align_set(table, -1, 0); + bg = elm_bg_add(url_win); + evas_object_size_hint_weight_set(bg, 1, 1); + evas_object_size_hint_align_set(bg, -1, -1); + elm_win_resize_object_add(url_win, bg); + evas_object_show(bg); - label = elm_label_add(win); - evas_object_size_hint_weight_set(label, 1, 1); - evas_object_size_hint_align_set(label, -1, 0); - elm_table_pack(table, label, 1, 0, 1, 1); - evas_object_show(label); + table=elm_table_add(url_win); + evas_object_size_hint_weight_set(table, 1, 0); + evas_object_size_hint_align_set(table, -1, 0); + elm_win_resize_object_add(url_win, table); + elm_table_padding_set(table, 20, 20); - elm_frame_content_set(frame, table); - evas_object_show(table); + home=getenv("HOME"); + if(home) + res = asprintf(&path, "%s/.elmdentica/cache/icons/%s", home, user->screen_name); + else + res = asprintf(&path, ".elmdentica/cache/icons/%s", user->screen_name); - elm_box_pack_end(box, frame); - evas_object_show(frame); + if(res!=-1 && stat(path, &buf) == 0 ) { + icon = elm_icon_add(url_win); + evas_object_size_hint_weight_set(icon, 1, 1); + evas_object_size_hint_align_set(icon, -1, -1); + elm_icon_file_set(icon, path, "fubar?"); + elm_table_pack(table, icon, 0, 0, 1, 2); + evas_object_show(icon); + free(path); + } - elm_win_inwin_content_set(url_win, box); - evas_object_show(box); - evas_object_show(url_win); + label = elm_entry_add(url_win); + evas_object_size_hint_weight_set(label, 1, 1); + evas_object_size_hint_align_set(label, -1, -1); - user_info_get(ubBubble, user); + res = asprintf(&description, "%s is following %d and has %d followers.", user->name, user->friends_count, user->followers_count); + elm_entry_line_wrap_set(label, EINA_TRUE); + if(res!=-1) { + elm_entry_entry_set(label, description); + free(description); + } else + elm_entry_entry_set(label, _("Couldn't parse user info message...")); - buttons = elm_box_add(win); - elm_box_horizontal_set(buttons, EINA_TRUE); + elm_table_pack(table, label, 1, 0, 1, 1); + evas_object_show(label); - res = asprintf(&description, "%s is following %d and has %d followers.", user->name, user->friends_count, user->followers_count); - elm_label_line_wrap_set(label, EINA_TRUE); - if(res!=-1) - elm_label_label_set(label, description); - else - elm_label_label_set(label, _("Couldn't parse user info message...")); + buttons = elm_box_add(url_win); + elm_box_horizontal_set(buttons, EINA_TRUE); + evas_object_size_hint_weight_set(buttons, 1, 1); + evas_object_size_hint_align_set(buttons, 0.5, 0); - home=getenv("HOME"); - if(home) - res = asprintf(&path, "%s/.elmdentica/cache/icons/%s", home, user->screen_name); - else - res = asprintf(&path, ".elmdentica/cache/icons/%s", user->screen_name); + button = elm_button_add(url_win); + evas_object_size_hint_weight_set(button, 1, 1); + evas_object_size_hint_align_set(button, -1, -1); - if(res!=-1 && stat(path, &buf) == 0 ) { - icon = elm_icon_add(win); - evas_object_size_hint_weight_set(icon, 1, 1); - evas_object_size_hint_align_set(icon, -1, -1); - elm_icon_file_set(icon, path, "fubar?"); - elm_table_pack(table, icon, 0, 0, 1, 1); - evas_object_show(icon); - free(path); - } + if(!user->following && !user->protected) { + elm_button_label_set(button, _("Follow")); + evas_object_smart_callback_add(button, "clicked", on_user_follow, ubBubble); + } else { + elm_button_label_set(button, _("Stop following")); + evas_object_smart_callback_add(button, "clicked", on_user_abandon, ubBubble); + } + elm_box_pack_end(buttons, button); + evas_object_show(button); - follow_user=user->screen_name; - if(!user->following && !user->protected) { - button = elm_button_add(win); - elm_button_label_set(button, _("Follow")); - evas_object_smart_callback_add(button, "clicked", on_user_follow, ubBubble); - elm_box_pack_end(buttons, button); - evas_object_show(button); - } else { - button = elm_button_add(win); - elm_button_label_set(button, _("Stop following")); - evas_object_smart_callback_add(button, "clicked", on_user_abandon, ubBubble); - elm_box_pack_end(buttons, button); - evas_object_show(button); - } + button = elm_button_add(url_win); + evas_object_size_hint_weight_set(button, 1, 1); + evas_object_size_hint_align_set(button, -1, -1); + elm_button_label_set(button, _("Close")); + evas_object_smart_callback_add(button, "clicked", on_user_info_close, NULL); + elm_box_pack_end(buttons, button); + evas_object_show(button); - user_free(user); + elm_table_pack(table, buttons, 1, 1, 1, 1); + evas_object_show(buttons); - button = elm_button_add(win); - elm_button_label_set(button, _("Close")); - evas_object_smart_callback_add(button, "clicked", on_user_info_close, NULL); - elm_box_pack_end(buttons, button); - evas_object_show(button); + evas_object_show(table); + evas_object_resize(url_win, 300, 300); + evas_object_show(url_win); - elm_table_pack(table, buttons, 0, 1, 2, 1); - evas_object_show(buttons); + user_free(user); } static void on_handle_group(void *data, Evas_Object *obj, char *group) { Modified: trunk/elmdentica/src/settings.c =================================================================== --- trunk/elmdentica/src/settings.c 2010-07-22 20:28:34 UTC (rev 50438) +++ trunk/elmdentica/src/settings.c 2010-07-22 22:22:18 UTC (rev 50439) @@ -317,6 +317,7 @@ evas = evas_object_evas_get(obj); if(evas) { + // prefix screen_name_entry with oauth- eo = evas_object_name_find(evas, "screen_name_entry"); if(eo) { screen_name = (char*)elm_entry_entry_get(eo); |