ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=2bac1157dbda18cd7913cdc57fb46fc40302f63f
commit 2bac1157dbda18cd7913cdc57fb46fc40302f63f Author: Andy Williams <a...@andywilliams.me> Date: Tue Oct 3 14:57:05 2017 +0100 scm_ui: Show user icon or a fallback, not both --- src/bin/edi_scm_ui.c | 51 +++++++++++++++++++++++---------------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/src/bin/edi_scm_ui.c b/src/bin/edi_scm_ui.c index 7b8bac2..57c5799 100644 --- a/src/bin/edi_scm_ui.c +++ b/src/bin/edi_scm_ui.c @@ -7,6 +7,8 @@ #include "edi_scm_ui.h" #include "edi_private.h" +#define DEFAULT_USER_ICON "applications-development" + typedef struct _Edi_Scm_Ui { Ecore_Thread *thread; Eio_Monitor *monitor; @@ -64,17 +66,18 @@ _edi_scm_ui_screens_avatar_load(Evas_Object *image, const char *email) cachedir = dirname(tmp); tmp2 = strdup(tmp); cacheparentdir = dirname(tmp2); - if (!ecore_file_exists(cacheparentdir) && !ecore_file_mkdir(cacheparentdir)) - goto clear; - - if (!ecore_file_exists(cachedir) && !ecore_file_mkdir(cachedir)) - goto clear; - - ecore_file_download(edi_scm_avatar_url_get(email), cache, - _edi_scm_ui_screens_avatar_download_complete, NULL, - image, NULL); + if ((ecore_file_exists(cacheparentdir) || ecore_file_mkdir(cacheparentdir)) + && (ecore_file_exists(cachedir) || ecore_file_mkdir(cachedir))) + { + ecore_file_download(edi_scm_avatar_url_get(email), cache, + _edi_scm_ui_screens_avatar_download_complete, NULL, + image, NULL); + } + else + { + elm_icon_standard_set(image, DEFAULT_USER_ICON); + } -clear: free(tmp2); free(tmp); } @@ -509,7 +512,6 @@ edi_scm_ui_add(Evas_Object *parent) { Evas_Object *box, *frame, *hbox, *cbox, *label, *avatar, *input, *button; Evas_Object *table, *rect, *list, *pbox, *check, *sep; - Evas_Object *logo; Elm_Code_Widget *entry; Elm_Code *code; Eina_Strbuf *string; @@ -556,15 +558,12 @@ edi_scm_ui_add(Evas_Object *parent) evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(hbox); - logo = elm_image_add(parent); - string = eina_strbuf_new(); - eina_strbuf_append_printf(string, "%s/images/welcome.png", PACKAGE_DATA_DIR); - elm_image_file_set(logo, eina_strbuf_string_get(string), NULL); - evas_object_size_hint_min_set(logo, 48 * elm_config_scale_get(), 48 * elm_config_scale_get()); - evas_object_size_hint_weight_set(logo, 0.1, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(logo, 1.0, EVAS_HINT_FILL); - evas_object_show(logo); - elm_box_pack_end(hbox, logo); + avatar = elm_icon_add(parent); + evas_object_size_hint_min_set(avatar, 48 * elm_config_scale_get(), 48 * elm_config_scale_get()); + evas_object_size_hint_weight_set(avatar, 0.1, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(avatar, 1.0, EVAS_HINT_FILL); + evas_object_show(avatar); + elm_box_pack_end(hbox, avatar); /* General information */ @@ -584,23 +583,19 @@ edi_scm_ui_add(Evas_Object *parent) remote_name = engine->remote_name_get(); remote_email = engine->remote_email_get(); - eina_strbuf_reset(string); - + string = eina_strbuf_new(); if (!remote_name[0] && !remote_email[0]) { eina_strbuf_append(string, _("Unable to obtain user information.")); + + elm_icon_standard_set(avatar, DEFAULT_USER_ICON); } else { eina_strbuf_append_printf(string, "%s:<br><b>%s</b> <%s>", _("Author"), engine->remote_name_get(), engine->remote_email_get()); - avatar = elm_image_add(hbox); + _edi_scm_ui_screens_avatar_load(avatar, engine->remote_email_get()); - evas_object_size_hint_min_set(avatar, 48 * elm_config_scale_get(), 48 * elm_config_scale_get()); - evas_object_size_hint_weight_set(avatar, 0.1, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(avatar, 1.0, EVAS_HINT_FILL); - evas_object_show(avatar); - elm_box_pack_end(hbox, avatar); edi_scm->is_configured = EINA_TRUE; } --