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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs