From 6c9df33256e9ed6ad2ca1dbb02692cae710e0db1 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 17 Sep 2007 05:10:05 +0000 Subject: [PATCH] page 000 now auto-selects an "intl" font that will work and applies it to most text classes. testing now - but seems to work. title got some japanese in it for testing. SVN revision: 31746 --- src/modules/wizard/e_wizard.c | 14 ++--- src/modules/wizard/e_wizard.h | 1 + src/modules/wizard/page_000.c | 101 +++++++++++++++++++++++++++++++++- 3 files changed, 107 insertions(+), 9 deletions(-) diff --git a/src/modules/wizard/e_wizard.c b/src/modules/wizard/e_wizard.c index 21cc6e976..de95e9d79 100644 --- a/src/modules/wizard/e_wizard.c +++ b/src/modules/wizard/e_wizard.c @@ -266,6 +266,12 @@ e_wizard_button_next_enable_set(int enable) _e_wizard_next_eval(); } +EAPI void +e_wizard_title_set(const char *title) +{ + edje_object_part_text_set(o_bg, "e.text.title", title); +} + static void _e_wizard_back_eval(void) { @@ -332,19 +338,13 @@ _e_wizard_main_new(E_Zone *zone) o_ev = o; /* set up next/prev buttons */ - edje_object_part_text_set(o_bg, "e.text.title", _("Welcome to Enlightenment")); + edje_object_part_text_set(o_bg, "e.text.title", _("Welcome to Enlightenment 東京")); edje_object_part_text_set(o_bg, "e.text.page", ""); edje_object_part_text_set(o_bg, "e.text.next", _("Next")); edje_object_part_text_set(o_bg, "e.text.back", _("Back")); edje_object_signal_emit(o_bg, "e,state,next,disable", "e"); edje_object_signal_emit(o_bg, "e,state,back,disable", "e"); - /* set up rest here */ - //evas_object_show(o); - //edje_object_part_swallow(o_bg, "e.swallow.content", o); - //e_widget_focus_set(o, 1); - //o_content = o; - e_popup_edje_bg_object_set(pop, o_bg); e_popup_show(pop); if (!e_grabinput_get(ecore_evas_software_x11_subwindow_get(pop->ecore_evas), diff --git a/src/modules/wizard/e_wizard.h b/src/modules/wizard/e_wizard.h index 0c74cd585..719f44353 100644 --- a/src/modules/wizard/e_wizard.h +++ b/src/modules/wizard/e_wizard.h @@ -39,6 +39,7 @@ EAPI E_Wizard_Page * EAPI void e_wizard_page_del(E_Wizard_Page *pg); EAPI void e_wizard_button_back_enable_set(int enable); EAPI void e_wizard_button_next_enable_set(int enable); +EAPI void e_wizard_title_set(const char *title); #endif #endif diff --git a/src/modules/wizard/page_000.c b/src/modules/wizard/page_000.c index b7a7e9717..548579faf 100644 --- a/src/modules/wizard/page_000.c +++ b/src/modules/wizard/page_000.c @@ -4,6 +4,25 @@ #include "e.h" #include "e_mod_main.h" +const char *intlfont = NULL; +/* A list of fonts to choose as the default, in order of preference. This list + * can and probably will change over time with fine-tuning + */ +const char *preferred_fonts[] = +{ + "Sans", + "DejaVu Sans", + "Bitstream Vera Sans", + "Arial", + "Nice", + "Verdana", + "Lucida Sans" +}; +/* negative numbers == keep theme set size but multiple by negative value + * multiplied by -100 (so scale, 100 = 1:1 scaling) + */ +const int fontsize = -100; + EAPI int wizard_page_init(E_Wizard_Page *pg) { @@ -17,7 +36,86 @@ wizard_page_shutdown(E_Wizard_Page *pg) EAPI int wizard_page_show(E_Wizard_Page *pg) { - printf("t0\n"); + Evas_List *fonts; + Evas_Hash *fonts_hash; + int i; + + fonts = evas_font_available_list(pg->evas); + fonts_hash = e_font_available_list_parse(fonts); + + for (i = 0; i < (sizeof(preferred_fonts) / sizeof(char *)); i++) + { + E_Font_Properties *efp; + + efp = evas_hash_find(fonts_hash, preferred_fonts[i]); + printf("WIZ: page_000: FONT \"%s\" exists=", preferred_fonts[i]); + if (efp) printf("yes\n"); + else printf("no\n"); + if ((!intlfont) && (efp)) + intlfont = preferred_fonts[i]; + } + + if (!intlfont) printf("WIZ: page_000: No intl font found\n"); + else printf("WIZ: page_000: Chose \"%s\"\n", intlfont); + + if (intlfont) + { + const char *classes[] = + { + "title_bar", + "menu_item", + "menu_title", + "tb_plain", + "tb_light", + "tb_big", + "move_text", + "resize_text", + "winlist_title", + "configure", + "about_title", + "about_version", + "button_text", + "desklock_title", + "desklock_passwd", + "dialog_error", + "exebuf_command", + "init_title", + "init_text", + "init_version", + "entry", + "frame", + "label", + "button", + "slider", + "radio_button", + "check_button", + "tlist", + "ilist_item", + "ilist_header", + "fileman_typebuf", + "fileman_icon", + "module_small", + "module_normal", + "module_large", + "module_small_s", + "module_normal_s", + "module_large_s", + "wizard_title", + "wizard_button" + /* FIXME: this list needs to be extended as new text classes + * appear - maybe we need to put the list of textclasses into + * core E + */ + }; + + for (i = 0; i < (sizeof(classes) / sizeof(char *)); i++) + e_font_default_set(classes[i], intlfont, fontsize); + + e_font_apply(); + } + + e_font_available_hash_free(fonts_hash); + evas_font_available_list_free(pg->evas, fonts); return 0; /* 1 == show ui, and wait for user, 0 == just continue */ } EAPI int @@ -28,6 +126,5 @@ wizard_page_hide(E_Wizard_Page *pg) EAPI int wizard_page_apply(E_Wizard_Page *pg) { - printf("a0\n"); return 1; }