On Friday, October 15, 2010, Enlightenment SVN <no-re...@enlightenment.org> wrote: > Log: > Update emote to build w/ current elm. > Move main toolbar to the top. > Use a 'toolbar' for channels at the bottom. > Change init functions to use Eina_Bool. > Disable lots of debug output in the emote irc protocol. > Fix some formatting.
Dh, we added standard layout to default.edc, please use them whenever possible or add more if you foresee a common use case. See ephoto. It will make your life easier and your app more theme friendly > > NB: Still an issue here where the scrolled entry used for text is not > resizing properly .. but I'm too tired to dig any further right now. > > > Author: devilhorns > Date: 2010-10-15 08:57:19 -0700 (Fri, 15 Oct 2010) > New Revision: 53454 > > Modified: > trunk/PROTO/emote/src/bin/em_config.c trunk/PROTO/emote/src/bin/em_config.h > trunk/PROTO/emote/src/bin/em_gui.c trunk/PROTO/emote/src/bin/em_gui.h > trunk/PROTO/emote/src/bin/main.c trunk/PROTO/emote/src/lib/Emote.h > trunk/PROTO/emote/src/lib/emote_event.c > trunk/PROTO/emote/src/lib/emote_main.c > trunk/PROTO/emote/src/lib/protocols/irc/irc_parse.c > > Modified: trunk/PROTO/emote/src/bin/em_config.c > =================================================================== > --- trunk/PROTO/emote/src/bin/em_config.c 2010-10-15 14:10:56 UTC (rev > 53453) > +++ trunk/PROTO/emote/src/bin/em_config.c 2010-10-15 15:57:19 UTC (rev > 53454) > @@ -15,7 +15,7 @@ > /* global variables */ > EM_INTERN Em_Config *em_config = NULL; > > -EM_INTERN int > +EM_INTERN Eina_Bool > em_config_init(void) > { > _em_config_edd = EM_CONFIG_DD_NEW("Em_Config", Em_Config); > @@ -27,15 +27,15 @@ > > em_config_load(); > em_config_save(); > - return 1; > + return EINA_TRUE; > } > > -EM_INTERN int > +EM_INTERN Eina_Bool > em_config_shutdown(void) > { > _em_config_cb_free(); > EM_CONFIG_DD_FREE(_em_config_edd); > - return 1; > + return EINA_TRUE; > } > > EM_INTERN Em_Config_DD * > @@ -184,18 +184,15 @@ > tb = elm_toolbar_add(_em_config_win); > elm_toolbar_icon_size_set(tb, 16); > elm_toolbar_align_set(tb, 0.0); > - elm_toolbar_scrollable_set(tb, EINA_TRUE); > +// elm_toolbar_scrollable_set(tb, EINA_TRUE); > evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, 0.0); > evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.5); > elm_box_pack_end(bx, tb); > evas_object_show(tb); > > - o = em_util_icon_add(_em_config_win, "preferences-system"); > - elm_toolbar_item_add(tb, o, _("General"), NULL, NULL); > + elm_toolbar_item_add(tb, "preferences-system", _("General"), NULL, NULL); > + elm_toolbar_item_add(tb, "go-home", _("Servers"), NULL, NULL); > > - o = em_util_icon_add(_em_config_win, "go-home"); > - elm_toolbar_item_add(tb, o, _("Servers"), NULL, NULL); > - > bbx = elm_box_add(_em_config_win); > elm_box_horizontal_set(bbx, EINA_TRUE); > elm_box_homogenous_set(bbx, EINA_TRUE); > > Modified: trunk/PROTO/emote/src/bin/em_config.h > =================================================================== > --- trunk/PROTO/emote/src/bin/em_config.h 2010-10-15 14:10:56 UTC (rev > 53453) > +++ trunk/PROTO/emote/src/bin/em_config.h 2010-10-15 15:57:19 UTC (rev > 53454) > @@ -38,8 +38,8 @@ > int version; > }; > > -EM_INTERN int em_config_init(void); > -EM_INTERN int em_config_shutdown(void); > +EM_INTERN Eina_Bool em_config_init(void); > +EM_INTERN Eina_Bool em_config_shutdown(void); > EM_INTERN Em_Config_DD *em_config_descriptor_new(const char *name, int size); > EM_INTERN void em_config_load(void); > EM_INTERN int em_config_save(void); > > Modified: trunk/PROTO/emote/src/bin/em_gui.c > =================================================================== > --- trunk/PROTO/emote/src/bin/em_gui.c 2010-10-15 14:10:56 UTC (rev 53453) > +++ trunk/PROTO/emote/src/bin/em_gui.c 2010-10-15 15:57:19 UTC (rev 53454) > @@ -4,8 +4,8 @@ > #define MIN_WIN_HEIGHT 200 > > /* local function prototypes */ > -static Eina_Bool _em_gui_chansel_add_channel(const Eina_Hash *hash > __UNUSED__, const void *key, void *data __UNUSED__, void *fdata __UNUSED__); > -static Eina_Bool _em_gui_chansel_add_server(const Eina_Hash *hash > __UNUSED__, const void *key, void *data __UNUSED__, void *fdata __UNUSED__); > +static Eina_Bool _em_gui_chansel_add_channel(const Eina_Hash *hash > __UNUSED__, const void *key, void *data, void *fdata __UNUSED__); > +static Eina_Bool _em_gui_chansel_add_server(const Eina_Hash *hash > __UNUSED__, const void *key, void *data, void *fdata __UNUSED__); > static void _em_gui_chansel_update(const char *label); > static void _em_gui_server_del(void *obj); > static void _em_gui_server_free(void *obj); > @@ -18,8 +18,8 @@ > static void _em_gui_server_entry_cb_enter(void *data, Evas_Object *obj, void > *event __UNUSED__); > static void _em_gui_channel_entry_cb_enter(void *data, Evas_Object *obj, > void *event __UNUSED__); > static void _em_gui_server_send_message(Emote_Protocol *p, const char > *server, const char *nick, const char *text); > -static void _em_gui_hoversel_cb_server_clicked(void *data, Evas_Object *obj > __UNUSED__, void *event __UNUSED__); > -static void _em_gui_hoversel_cb_channel_clicked(void *data, Evas_Object *obj > __UNUSED__, void *event __UNUSED__); > +static void _em_gui_chansel_cb_server_clicked(void *data, Evas_Object *obj > __UNUSED__, void *event __UNUSED__); > +static void _em_gui_chansel_cb_channel_clicked(void *data, Evas_Object *obj > __UNUSED__, void *event __UNUSED__); > static void _em_gui_switch(const char *server, const char *channel); > static Em_Gui_Channel *_em_gui_channel_create(const char *server, const char > *channel); > static Em_Gui_Server *_em_gui_server_create(const char *server, > Emote_Protocol *p); > @@ -30,17 +30,17 @@ > static Em_Gui *gui = NULL; > > /* public functions */ > -EM_INTERN int > +EM_INTERN Eina_Bool > em_gui_init(void) > { > Evas_Object *o; > > /* allocate our object */ > gui = EM_OBJECT_ALLOC(Em_Gui, EM_GUI_TYPE, _em_gui_cb_free); > - if (!gui) return 0; > + if (!gui) return EINA_FALSE; > > // Set finger size to 4 to avoid huge widgets > - elm_finger_size_set(4); > +// elm_finger_size_set(4); > > /* create window */ > gui->w_win = elm_win_add(NULL, "emote", ELM_WIN_BASIC); > @@ -52,53 +52,59 @@ > /* create background */ > o = elm_bg_add(gui->w_win); > evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); > - evas_object_size_hint_min_set(o, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); > +// evas_object_size_hint_min_set(o, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); > elm_win_resize_object_add(gui->w_win, o); > evas_object_show(o); > > /* create packing box */ > gui->w_box = elm_box_add(gui->w_win); > - elm_box_horizontal_set(gui->w_box, EINA_FALSE); > - elm_box_homogenous_set(gui->w_box, EINA_FALSE); > - evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, > EVAS_HINT_EXPAND); > - evas_object_size_hint_align_set(gui->w_box, EVAS_HINT_FILL, > EVAS_HINT_FILL); > elm_win_resize_object_add(gui->w_win, gui->w_box); > + evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, > + EVAS_HINT_EXPAND); > evas_object_show(gui->w_box); > > - /* create hover select at top for quick channel change */ > - gui->w_chansel = elm_hoversel_add(gui->w_win); > - elm_hoversel_label_set(gui->w_chansel, _("")); > - elm_hoversel_hover_parent_set(gui->w_chansel, gui->w_win); > - evas_object_size_hint_weight_set(gui->w_chansel, 0.0, 0.0); > - evas_object_size_hint_align_set(gui->w_chansel, EVAS_HINT_FILL, > EVAS_HINT_FILL); > - elm_box_pack_end(gui->w_box, gui->w_chansel); > - evas_object_show(gui->w_chansel); > - > /* create main toolbar */ > gui->w_tb = elm_toolbar_add(gui->w_win); > elm_toolbar_icon_size_set(gui->w_tb, (16 * elm_scale_get())); > elm_toolbar_align_set(gui->w_tb, 0.0); > - elm_toolbar_scrollable_set(gui->w_tb, EINA_FALSE); > - evas_object_size_hint_weight_set(gui->w_tb, EVAS_HINT_EXPAND, 0.0); > + elm_toolbar_mode_shrink_set(gui->w_tb, ELM_TOOLBAR_SHRINK_SCROLL); > + evas_object_size_hint_weight_set(gui->w_tb, 0.0, 0.0); > evas_object_size_hint_align_set(gui->w_tb, EVAS_HINT_FILL, 0.0); > - elm_box_pack_end(gui->w_box, gui->w_tb); > + > + elm_toolbar_item_add(gui->w_tb, "preferences-system", _("Settings"), > + _em_gui_cb_settings, NULL); > + elm_toolbar_item_add(gui->w_tb, "application-exit", _("Quit"), > + _em_gui_cb_quit, NULL); > evas_object_show(gui->w_tb); > + elm_box_pack_start(gui->w_box, gui->w_tb); > > - o = em_util_icon_add(gui->w_win, "preferences-system"); > - elm_toolbar_item_add(gui->w_tb, o, _("Settings"), _em_gui_cb_settings, > NULL); > - o = em_util_icon_add(gui->w_win, "application-exit"); > - elm_toolbar_item_add(gui->w_tb, o, _("Quit"), _em_gui_cb_quit, NULL); > + /* create channel selector */ > + gui->w_chansel = elm_toolbar_add(gui->w_win); > + elm_toolbar_homogenous_set(gui->w_chansel, EINA_FALSE); > + elm_toolbar_align_set(gui->w_chansel, 0.0); > + elm_toolbar_mode_shrink_set(gui->w_chansel, ELM_TOOLBAR_SHRINK_SCROLL); > + evas_object_size_hint_weight_set(gui->w_chansel, 0.0, 0.0); > + evas_object_size_hint_align_set(gui->w_chansel, EVAS_HINT_FILL, 0.0); > + evas_object_show(gui->w_chansel); > + elm_box_pack_end(gui->w_box, gui->w_chansel); > > /* set min size of window and show it */ > - evas_object_size_hint_min_set(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); > +// evas_object_size_hint_min_set(gui->w_win, MIN_WIN_WIDTH, > MIN_WIN_HEIGHT); > evas_object_resize(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); > evas_object_show(gui->w_win); > > gui->servers = eina_hash_string_small_new(_em_gui_server_del); > > - return 1; > + return EINA_TRUE; > } > > +EM_INTERN Eina_Bool > +em_gui_shutdown(void) > +{ > + if (gui) em_object_del(EM_OBJECT(gui)); > + return EINA_TRUE; > +} > + > EM_INTERN void > em_gui_server_add(const char *server, Emote_Protocol *p) > { > @@ -117,7 +123,7 @@ > { > eina_hash_del_by_key(gui->servers, server); > > - if (gui->servers && eina_hash_population(gui->servers)) > + if ((gui->servers) && (eina_hash_population(gui->servers))) > eina_hash_foreach(gui->servers, _em_gui_server_first_get, NULL); > else > _em_gui_chansel_update(""); > @@ -128,9 +134,7 @@ > { > Em_Gui_Channel *c; > > - c = _em_gui_channel_create(server, channel); > - > - if (c) > + if ((c = _em_gui_channel_create(server, channel))) > _em_gui_switch(server, channel); > } > > @@ -148,7 +152,7 @@ > EM_INTERN void > em_gui_message_add(const char *server, const char *channel, const char > *user, const char *text) > { > - char buf[4096]; > + char buf[PATH_MAX]; > Em_Gui_Server *s; > Em_Gui_Channel *c; > > @@ -160,8 +164,7 @@ > s = eina_hash_find(gui->servers, server); > if (channel) > { > - c = eina_hash_find(s->channels, channel); > - if (c) > + if ((c = eina_hash_find(s->channels, channel))) > { > elm_scrolled_entry_cursor_end_set(c->w_text); > elm_scrolled_entry_entry_insert(c->w_text, buf); > @@ -179,13 +182,6 @@ > } > } > > -EM_INTERN int > -em_gui_shutdown(void) > -{ > - if (gui) em_object_del(EM_OBJECT(gui)); > - return 1; > -} > - > static Eina_Bool > _em_gui_channel_nick_update(const Eina_Hash *hash __UNUSED__, const void > *key __UNUSED__, void *data, void *fdata) > { > @@ -197,11 +193,7 @@ > n = fdata; > > snprintf(buf, sizeof(buf), "You are now known as %s", n); > - em_gui_message_add(c->server->name, > - c->name, > - NULL, > - buf > - ); > + em_gui_message_add(c->server->name, c->name, NULL, buf); > elm_label_label_set(c->w_nick, n); > > return EINA_TRUE; > @@ -215,21 +207,21 @@ > > s = eina_hash_find(gui->servers, server); > > - if (!old || !strcmp(old, s->nick)) > - { > - elm_label_label_set(s->w_nick, new); > - eina_hash_foreach(s->channels, _em_gui_channel_nick_update, new); > + if ((!old) || (!strcmp(old, s->nick))) > + { > + elm_label_label_set(s->w_nick, new); > + eina_hash_foreach(s->channels, _em_gui_channel_nick_update, new); > > - if (s->nick) eina_stringshare_del(s->nick); > - s->nick = eina_stringshare_add(new); > - } > + if (s->nick) eina_stringshare_del(s->nick); > + s->nick = eina_stringshare_add(new); > + } > else > - { > - // TODO: Add way to track users in a channel so we can send this > - // message to the relevant channels instead of server window > - snprintf(buf, sizeof(buf), "%s is now known as %s", old, new); > - em_gui_message_add(server, NULL, NULL, buf); > - } > + { > + // TODO: Add way to track users in a channel so we can send this > + // message to the relevant channels instead of server window > + snprintf(buf, sizeof(buf), "%s is now known as %s", old, new); > + em_gui_message_add(server, NULL, NULL, buf); > + } > } > > EM_INTERN void > @@ -306,10 +298,10 @@ > snprintf(buf, sizeof(buf), "%s", users); > > if (!c) > - { > - printf("Server %p, Channel %p\n", s, c); > - return; > - } > + { > + printf("Server %p, Channel %p\n", s, c); > + return; > + } > > elm_scrolled_entry_cursor_end_set(c->w_text); > elm_scrolled_entry_entry_insert(c->w_text, buf); > @@ -319,28 +311,34 @@ > > /* local functions */ > static Eina_Bool > -_em_gui_chansel_add_channel(const Eina_Hash *hash __UNUSED__, const void > *key, void *data __UNUSED__, void *fdata __UNUSED__) > +_em_gui_chansel_add_channel(const Eina_Hash *hash __UNUSED__, const void > *key, void *data, void *fdata __UNUSED__) > { > - Em_Gui_Channel *c; > + Em_Gui_Channel *c; > > - c = data; > + c = data; > + if (!c->w_select) > + { > + c->w_select = > + elm_toolbar_item_add(gui->w_chansel, NULL, key, > + _em_gui_chansel_cb_channel_clicked, c); > + } > > - c->w_select = elm_hoversel_item_add(gui->w_chansel, (const char *)key, > NULL, ELM_ICON_NONE, > - _em_gui_hoversel_cb_channel_clicked, c); > - > return EINA_TRUE; > } > > static Eina_Bool > -_em_gui_chansel_add_server(const Eina_Hash *hash __UNUSED__, const void > *key, void *data __UNUSED__, void *fdata __UNUSED__) > +_em_gui_chansel_add_server(const Eina_Hash *hash __UNUSED__, const void > *key, void *data, void *fdata __UNUSED__) > { > - Em_Gui_Server *s; > + Em_Gui_Server *s; > > - s = data; > + s = data; > + if (!s->w_select) > + { > + s->w_select = > + elm_toolbar_item_add(gui->w_chansel, NULL, key, > + _em_gui_chansel_cb_server_clicked, s); > + } > > - s->w_select = elm_hoversel_item_add(gui->w_chansel, (const char *)key, > NULL, elmenlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel