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

Reply via email to