Enlightenment CVS committal
Author : dj2
Project : misc
Module : eke
Dir : misc/eke/src
Modified Files:
eke_gui_edje.c
Log Message:
- don't swap the displayed feed on feed change only when the user hits the
menu buttons down the side
===================================================================
RCS file: /cvsroot/enlightenment/misc/eke/src/eke_gui_edje.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- eke_gui_edje.c 30 Dec 2004 06:19:09 -0000 1.8
+++ eke_gui_edje.c 30 Dec 2004 20:31:01 -0000 1.9
@@ -13,7 +13,8 @@
static void eke_gui_edje_feed_container_scroll_cb(void *data,
Evas_Object *o, const char *src, const char *em);
static void eke_gui_edje_feed_select_cb(void *data, Evas_Object *o,
- const char *em, const char *src);
+ const char *em, const char *src);
+void eke_gui_edje_feed_swap(Eke *eke, Eke_Feed *feed);
typedef struct Eke_Gui_Edje_Feed Eke_Gui_Edje_Feed;
struct Eke_Gui_Edje_Feed
@@ -105,7 +106,6 @@
Eke_Gui_Edje_Feed *disp;
const char *file;
Eke_Feed_Item *item;
- Evas_Object *part;
Evas *evas;
Evas_Coord w, h;
Evas_Object *obj = NULL;
@@ -150,28 +150,9 @@
}
edje_object_part_text_set(disp->menu_item, "label", feed->title);
- {
- char buf[128];
- snprintf(buf, sizeof(buf), PACKAGE " -- %s", feed->title);
- ecore_evas_title_set(eke->gui.edje.ee, buf);
- }
-
- if((part = edje_object_part_swallow_get(eke->gui.edje.edje,
- "feed.body"))) {
- edje_object_part_unswallow(eke->gui.edje.edje, part);
- esmart_container_empty(part);
- evas_object_hide(part);
- }
- edje_object_part_swallow(eke->gui.edje.edje, "feed.body", disp->body);
- edje_object_part_geometry_get(eke->gui.edje.edje, "feed.body",
- NULL, NULL, &w, &h);
- edje_object_signal_callback_del(eke->gui.edje.edje, "drag",
- "feed.body.scroll",
- eke_gui_edje_feed_container_scroll_cb);
- edje_object_signal_callback_add(eke->gui.edje.edje, "drag",
- "feed.body.scroll",
- eke_gui_edje_feed_container_scroll_cb,
- disp->body);
+ /* if there is no current feed displayed, then show this one */
+ if ((!edje_object_part_swallow_get(eke->gui.edje.edje, "feed.body")))
+ eke_gui_edje_feed_swap(eke, feed);
esmart_container_empty(disp->body);
ecore_list_goto_first(feed->items);
@@ -190,6 +171,35 @@
}
void
+eke_gui_edje_feed_swap(Eke *eke, Eke_Feed *feed)
+{
+ char buf[128];
+ Evas_Object *part;
+ Eke_Gui_Edje_Feed *disp;
+
+ snprintf(buf, sizeof(buf), PACKAGE " -- %s", feed->title);
+ ecore_evas_title_set(eke->gui.edje.ee, buf);
+
+ if ((part = edje_object_part_swallow_get(eke->gui.edje.edje,
+ "feed.body"))) {
+ edje_object_part_unswallow(eke->gui.edje.edje, part);
+ evas_object_hide(part);
+ }
+
+ disp = ecore_hash_get(eke->feeds, feed);
+ edje_object_part_swallow(eke->gui.edje.edje, "feed.body", disp->body);
+ evas_object_show(disp->body);
+
+ edje_object_signal_callback_del(eke->gui.edje.edje, "drag",
+ "feed.body.scroll",
+ eke_gui_edje_feed_container_scroll_cb);
+ edje_object_signal_callback_add(eke->gui.edje.edje, "drag",
+ "feed.body.scroll",
+ eke_gui_edje_feed_container_scroll_cb,
+ disp->body);
+}
+
+void
eke_gui_edje_feed_error(Eke *eke, Eke_Feed *feed)
{
@@ -235,7 +245,7 @@
if((eke = (Eke*)data)) {
if((feed = evas_object_data_get(o, "feed"))) {
- eke_gui_edje_feed_change(eke, feed);
+ eke_gui_edje_feed_swap(eke, feed);
}
}
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs