Enlightenment CVS committal

Author  : rephorm
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        Makefile.am e_bg.c e_bg.h e_includes.h e_int_config_desks.c 
Added Files:
        e_widget_aspect.c e_widget_aspect.h e_widget_desk_preview.c 
        e_widget_desk_preview.h 


Log Message:

add preview widget to Virtual Desktops dialog

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.156
retrieving revision 1.157
diff -u -3 -r1.156 -r1.157
--- Makefile.am 8 Oct 2006 13:16:45 -0000       1.156
+++ Makefile.am 9 Oct 2006 19:06:43 -0000       1.157
@@ -172,7 +172,9 @@
 e_sys.h \
 e_obj_dialog.h \
 e_int_config_transitions.h \
-e_fwin.h
+e_fwin.h \
+e_widget_aspect.h \
+e_widget_desk_preview.h
  
 enlightenment_src = \
 e_user.c \
@@ -321,6 +323,8 @@
 e_int_config_transitions.c \
 e_obj_dialog.c \
 e_fwin.c \
+e_widget_aspect.c \
+e_widget_desk_preview.c \
 $(ENLIGHTENMENTHEADERS)
 
 enlightenment_SOURCES = \
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_bg.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- e_bg.c      8 Oct 2006 21:15:21 -0000       1.19
+++ e_bg.c      9 Oct 2006 19:06:43 -0000       1.20
@@ -10,22 +10,24 @@
 
 /* externally accessible functions */
 EAPI const char *
-e_bg_file_get(E_Zone *zone)
+e_bg_file_get(E_Zone *zone, E_Desk *desk)
 {
    Evas_List *l, *ll, *entries;
    int ok;
    const char *bgfile = "";
+
+
+   if (!zone) zone = 
e_zone_current_get(e_container_current_get(e_manager_current_get()));
+
    ok = 0;
-   for (l = e_config->desktop_backgrounds; l; l = l->next)
+   /* look for desk specific background. if desk is NULL this is skipped */
+   for (l = e_config->desktop_backgrounds; desk && l; l = l->next)
      {
        E_Config_Desktop_Background *cfbg;
-       E_Desk *desk;
        
        cfbg = l->data;
        if ((cfbg->container >= 0) && (zone->container->num != 
cfbg->container)) continue;
        if ((cfbg->zone >= 0) && (zone->num != cfbg->zone)) continue;
-       desk = e_desk_current_get(zone);
-       if (!desk) continue;
        if ((cfbg->desk_x >= 0) && (cfbg->desk_x != desk->x)) continue;
        if ((cfbg->desk_y >= 0) && (cfbg->desk_y != desk->y)) continue;
        entries = edje_file_collection_list(cfbg->file);
@@ -44,6 +46,7 @@
          }
        break;
      }
+   /* fall back to default bg for zone */
    if (!ok)
      {
        entries = 
edje_file_collection_list(e_config->desktop_default_background);
@@ -80,7 +83,7 @@
    else if (transition == E_BG_TRANSITION_CHANGE) trans = 
e_config->transition_change;
    if ((!trans) || (strlen(trans) < 1)) transition = E_BG_TRANSITION_NONE;
 
-   bgfile = e_bg_file_get(zone);
+   bgfile = e_bg_file_get(zone, e_desk_current_get(zone));
 
    if (zone->bg_object)
      {
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_bg.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_bg.h      8 Oct 2006 21:15:21 -0000       1.5
+++ e_bg.h      9 Oct 2006 19:06:43 -0000       1.6
@@ -14,7 +14,7 @@
 #ifndef E_BG_H
 #define E_BG_H
 
-EAPI const char *e_bg_file_get(E_Zone *zone);
+EAPI const char *e_bg_file_get(E_Zone *zone, E_Desk *desk);
 EAPI void e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition);
 EAPI void e_bg_add(int container, int zone, int desk_x, int desk_y, char 
*file);
 EAPI void e_bg_del(int container, int zone, int desk_x, int desk_y);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -3 -r1.133 -r1.134
--- e_includes.h        3 Oct 2006 05:49:31 -0000       1.133
+++ e_includes.h        9 Oct 2006 19:06:43 -0000       1.134
@@ -149,3 +149,5 @@
 #include "e_int_config_transitions.h"
 #include "e_obj_dialog.h"
 #include "e_fwin.h"
+#include "e_widget_aspect.h"
+#include "e_widget_desk_preview.h"
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_desks.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- e_int_config_desks.c        8 Oct 2006 08:04:17 -0000       1.23
+++ e_int_config_desks.c        9 Oct 2006 19:06:43 -0000       1.24
@@ -10,6 +10,7 @@
 static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data 
*cfdata);
 static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata);
 static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata);
+static void _cb_slider_change(void *data, Evas_Object *obj);
 
 /* Actual config data we will be playing with whil the dialog is active */
 struct _E_Config_Dialog_Data
@@ -28,6 +29,9 @@
    int flip_mode;
    int flip_interp;
    double flip_speed;
+
+   /*- GUI -*/
+   Evas_Object *preview;
 };
 
 /* a nice easy setup function that does the dirty work */
@@ -186,11 +190,19 @@
    of = e_widget_framelist_add(evas, _("Number of Desktops"), 0);
    
    ot = e_widget_table_add(evas, 0);
+
+   ob = e_widget_desk_preview_add(evas, cfdata->x, cfdata->y);
+   e_widget_table_object_append(ot, ob, 0, 0, 1, 1, 1, 1, 1, 1);
+   cfdata->preview = ob;
+
    ob = e_widget_slider_add(evas, 0, 0, _("%1.0f"), 1.0, 12.0, 1.0, 0, NULL, 
&(cfdata->y), 150);
+   e_widget_on_change_hook_set(ob, _cb_slider_change, cfdata);
    e_widget_table_object_append(ot, ob, 1, 0, 1, 1, 0, 1, 0, 1);
-   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 1.0, 12.0, 1.0, 0, NULL, 
&(cfdata->x), 200);
 
+   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 1.0, 12.0, 1.0, 0, NULL, 
&(cfdata->x), 200);
+   e_widget_on_change_hook_set(ob, _cb_slider_change, cfdata);
    e_widget_table_object_append(ot, ob, 0, 1, 1, 1, 1, 0, 1, 0);
+
    e_widget_framelist_object_append(of, ot);
    e_widget_list_object_append(o, of, 1, 1, 0.5);
     
@@ -252,4 +264,13 @@
    e_widget_list_object_append(o, ott, 1, 1, 0.5);
    
    return o;
+}
+
+static void
+_cb_slider_change(void *data, Evas_Object *obj)
+{
+   E_Config_Dialog_Data *cfdata = data;
+
+   e_widget_desk_preview_num_desks_set(cfdata->preview, cfdata->x, cfdata->y);
+
 }



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to