Enlightenment CVS committal

Author  : devilhorns
Project : e_modules
Module  : efm_nav

Dir     : e_modules/efm_nav/src


Modified Files:
        e_mod_main.c 


Log Message:
Modified patch from Toma to add a favorites button to efm_nav. Thanks Toma :)

===================================================================
RCS file: /cvs/e/e_modules/efm_nav/src/e_mod_main.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_mod_main.c        19 Mar 2008 21:42:19 -0000      1.5
+++ e_mod_main.c        15 Jul 2008 15:00:58 -0000      1.6
@@ -6,7 +6,7 @@
 {
    E_Gadcon_Client *gcc;
    Evas_Object *o_base, *o_list;
-   Evas_Object *o_back, *o_up, *o_forward, *o_refresh;
+   Evas_Object *o_back, *o_up, *o_forward, *o_refresh, *o_favorites;
    E_Toolbar *tbar;
 
    Ecore_List *history;
@@ -35,6 +35,9 @@
 static void             _cb_refresh_click (void *data, Evas_Object *obj, 
                                           const char *emission, 
                                           const char *source);
+static void             _cb_favorites_click (void *data, Evas_Object *obj, 
+                                             const char *emission, 
+                                             const char *source);
 static void             _cb_changed       (void *data, Evas_Object *obj, 
                                           void *event_info);
 static void             _cb_dir_changed   (void *data, Evas_Object *obj, 
@@ -93,6 +96,15 @@
    evas_object_show(inst->o_forward);
    e_widget_list_object_append(inst->o_list, inst->o_forward, 1, 1, 0.5);
 
+   inst->o_up = edje_object_add(gc->evas);
+   if (!e_theme_edje_object_set(inst->o_up, "base/theme/modules/efm_nav", 
+                               "modules/efm_nav/up"))
+     edje_object_file_set(inst->o_up, buf, "modules/efm_nav/up");
+   edje_object_signal_callback_add(inst->o_up, "e,action,click", "", 
+                                  _cb_up_click, inst);
+   evas_object_show(inst->o_up);
+   e_widget_list_object_append(inst->o_list, inst->o_up, 1, 1, 0.5);
+
    inst->o_refresh = edje_object_add(gc->evas);
    if (!e_theme_edje_object_set(inst->o_refresh, "base/theme/modules/efm_nav", 
                                "modules/efm_nav/refresh"))
@@ -102,15 +114,14 @@
    evas_object_show(inst->o_refresh);
    e_widget_list_object_append(inst->o_list, inst->o_refresh, 1, 1, 0.5);
 
-
-   inst->o_up = edje_object_add(gc->evas);
-   if (!e_theme_edje_object_set(inst->o_up, "base/theme/modules/efm_nav", 
-                               "modules/efm_nav/up"))
-     edje_object_file_set(inst->o_up, buf, "modules/efm_nav/up");
-   edje_object_signal_callback_add(inst->o_up, "e,action,click", "", 
-                                  _cb_up_click, inst);
-   evas_object_show(inst->o_up);
-   e_widget_list_object_append(inst->o_list, inst->o_up, 1, 1, 0.5);
+   inst->o_favorites = edje_object_add(gc->evas);
+   if (!e_theme_edje_object_set(inst->o_favorites, 
"base/theme/modules/efm_nav", 
+                               "modules/efm_nav/favorites"))
+     edje_object_file_set(inst->o_favorites, buf, "modules/efm_nav/favorites");
+   edje_object_signal_callback_add(inst->o_favorites, "e,action,click", "", 
+                                  _cb_favorites_click, inst);
+   evas_object_show(inst->o_favorites);
+   e_widget_list_object_append(inst->o_list, inst->o_favorites, 1, 1, 0.5);
 
    /* add the hooks to get signals from efm */
    evas_object_smart_callback_add(inst->o_base, "changed", 
@@ -143,10 +154,12 @@
    if (!inst) return;
    instances = evas_list_remove(instances, inst);
    if (inst->history) ecore_list_destroy(inst->history);
+   if (inst->o_favorites) evas_object_del(inst->o_favorites);
    if (inst->o_back) evas_object_del(inst->o_back);
    if (inst->o_up) evas_object_del(inst->o_up);
    if (inst->o_forward) evas_object_del(inst->o_forward);
    if (inst->o_refresh) evas_object_del(inst->o_refresh);
+   if (inst->o_favorites) evas_object_del(inst->o_favorites);
    if (inst->o_list) evas_object_del(inst->o_list);
    if (inst->o_base) evas_object_del(inst->o_base);
    E_FREE(inst);
@@ -341,6 +354,19 @@
    else 
      edje_object_signal_emit(inst->o_up, "e,state,disabled", "e");
    edje_object_message_signal_process(inst->o_up);
+}
+
+static void 
+_cb_favorites_click(void *data, Evas_Object *obj, const char *emission, const 
char *source) 
+{
+   Instance *inst;
+   Evas_Object *o_fm;
+
+   inst = data;
+   if ((!inst) || (!inst->tbar)) return;
+   o_fm = e_toolbar_fm2_get(inst->tbar);
+   if (!o_fm) return;
+   e_fm2_path_set(o_fm, "favorites", "/");
 }
 
 static void 



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to