Enlightenment CVS committal

Author  : devilhorns
Project : e_modules
Module  : slideshow

Dir     : e_modules/slideshow


Modified Files:
        e_mod_main.h e_mod_main.c e_mod_config.c 


Log Message:
Add an option to slideshow module for setting wallpaper on all desktops, or
just the current one.

===================================================================
RCS file: /cvs/e/e_modules/slideshow/e_mod_main.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- e_mod_main.h        28 Jul 2006 00:02:17 -0000      1.18
+++ e_mod_main.h        10 Dec 2006 01:00:07 -0000      1.19
@@ -21,6 +21,7 @@
 
    int disable_timer;
    int random_order;
+   int all_desks;
    double poll_time;
    const char *dir;
 };
===================================================================
RCS file: /cvs/e/e_modules/slideshow/e_mod_main.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- e_mod_main.c        17 Sep 2006 16:15:35 -0000      1.38
+++ e_mod_main.c        10 Dec 2006 01:00:07 -0000      1.39
@@ -271,6 +271,7 @@
    ci->id = evas_stringshare_add(id);
    ci->poll_time = 60.0;
    ci->disable_timer = 0;
+   ci->all_desks = 0;
    ci->dir = evas_stringshare_add(buf);
 
    slide_config->items = evas_list_append(slide_config->items, ci);
@@ -298,7 +299,8 @@
    E_CONFIG_VAL(D, T, poll_time, DOUBLE);
    E_CONFIG_VAL(D, T, disable_timer, INT);
    E_CONFIG_VAL(D, T, random_order, INT);
-
+   E_CONFIG_VAL(D, T, all_desks, INT);
+   
    conf_edd = E_CONFIG_DD_NEW("Slideshow_Config", Config);
 #undef T
 #undef D
@@ -321,6 +323,7 @@
        ci->poll_time = 60.0;
        ci->disable_timer = 0;
        ci->random_order = 0;
+       ci->all_desks = 0;
        slide_config->items = evas_list_append(slide_config->items, ci);
      }
    slide_config->module = m;
@@ -400,8 +403,7 @@
 
    ss->slide_obj = edje_object_add(evas);
    if (!e_theme_edje_object_set
-       (ss->slide_obj, "base/theme/modules/slideshow",
-       "modules/slideshow/main"))
+       (ss->slide_obj, "base/theme/modules/slideshow", 
"modules/slideshow/main"))
      edje_object_file_set(ss->slide_obj, buf, "modules/slideshow/main");
    evas_object_show(ss->slide_obj);
 
@@ -531,13 +533,36 @@
 {
    Instance *inst;
    Config_Item *ci;
+   E_Container *con;
+   E_Desk *d;
+   E_Zone *z;
    char buf[4096];
 
    inst = data;
    ci = _slide_config_item_get(inst->gcc->id);
-   snprintf (buf, sizeof (buf), "enlightenment_remote -default-bg-set %s/%s",
-            ci->dir, bg);
-   system(buf);
+   snprintf (buf, sizeof (buf), "%s/%s", ci->dir, bg);
+
+   if (ci->all_desks == 0) 
+     {
+       con = e_container_current_get(e_manager_current_get());
+       z = e_zone_current_get(con);
+       d = e_desk_current_get(z);
+       e_bg_del(con->num, z->num, d->x, d->y);
+       e_bg_add(con->num, z->num, d->x, d->y, buf);
+     }
+   else if (ci->all_desks == 1) 
+     {
+       while (e_config->desktop_backgrounds) 
+         {
+            E_Config_Desktop_Background *cfbg;
+            
+            cfbg = e_config->desktop_backgrounds->data;
+            e_bg_del(cfbg->container, cfbg->zone, cfbg->desk_x, cfbg->desk_y);
+         }
+       e_bg_default_set(buf);
+     }
+   
+   e_bg_update();
 }
 
 static void
@@ -555,9 +580,9 @@
 
    bg = ecore_list_goto_index(inst->bg_list, inst->index);
    snprintf(buf, sizeof (buf), "%s/%s", ci->dir, bg);
-   if (!e_util_edje_collection_exists (buf, "desktop/background")) return;
+   if (!e_util_edje_collection_exists (buf, "e/desktop/background")) return;
    if (ss->bg_obj) evas_object_del(ss->bg_obj);
    ss->bg_obj = edje_object_add(e_livethumb_evas_get (ss->img_obj));
-   edje_object_file_set(ss->bg_obj, buf, "desktop/background");
+   edje_object_file_set(ss->bg_obj, buf, "e/desktop/background");
    e_livethumb_thumb_set(ss->img_obj, ss->bg_obj);
 }
===================================================================
RCS file: /cvs/e/e_modules/slideshow/e_mod_config.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- e_mod_config.c      17 Sep 2006 16:15:35 -0000      1.29
+++ e_mod_config.c      10 Dec 2006 01:00:07 -0000      1.30
@@ -3,143 +3,145 @@
 
 struct _E_Config_Dialog_Data
 {
-  int disable_timer;
-  int random_order;
-  double poll_time;
-  char *dir;
+   int disable_timer;
+   int random_order;
+   int all_desks;
+   double poll_time;
+   char *dir;
 };
 
 /* Protos */
-static void *_create_data (E_Config_Dialog * cfd);
-static void _free_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 int _basic_apply_data (E_Config_Dialog * cfd,
-                             E_Config_Dialog_Data * cfdata);
+static void        *_create_data          (E_Config_Dialog * cfd);
+static void         _free_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 int          _basic_apply_data     (E_Config_Dialog * cfd, 
E_Config_Dialog_Data * cfdata);
 
 void
-_config_slideshow_module (Config_Item * ci)
+_config_slideshow_module(Config_Item * ci)
 {
-  E_Config_Dialog *cfd;
-  E_Config_Dialog_View *v;
-  E_Container *con;
-  char buf[4096];
-
-  v = E_NEW (E_Config_Dialog_View, 1);
-
-  v->create_cfdata = _create_data;
-  v->free_cfdata = _free_data;
-  v->basic.apply_cfdata = _basic_apply_data;
-  v->basic.create_widgets = _basic_create_widgets;
-
-  snprintf (buf, sizeof (buf), "%s/module.edj",
-           e_module_dir_get (slide_config->module));
-  con = e_container_current_get (e_manager_current_get ());
-  cfd =
-    e_config_dialog_new (con, D_ ("Slideshow Configuration"), "SlideShow", 
"_e_modules_slideshow_config_dialog", buf, 0, v, ci);
-  slide_config->config_dialog = cfd;
+   E_Config_Dialog *cfd;
+   E_Config_Dialog_View *v;
+   E_Container *con;
+   char buf[4096];
+
+   v = E_NEW (E_Config_Dialog_View, 1);
+
+   v->create_cfdata = _create_data;
+   v->free_cfdata = _free_data;
+   v->basic.apply_cfdata = _basic_apply_data;
+   v->basic.create_widgets = _basic_create_widgets;
+
+   snprintf (buf, sizeof (buf), "%s/module.edj", 
e_module_dir_get(slide_config->module));
+   con = e_container_current_get (e_manager_current_get ());
+   cfd =
+     e_config_dialog_new (con, D_ ("Slideshow Configuration"), "SlideShow", 
"_e_modules_slideshow_config_dialog", buf, 0, v, ci);
+   slide_config->config_dialog = cfd;
 }
 
 static void
-_fill_data (Config_Item * ci, E_Config_Dialog_Data * cfdata)
+_fill_data(Config_Item * ci, E_Config_Dialog_Data * cfdata)
 {
-  char buf[PATH_MAX];
+   char buf[PATH_MAX];
 
-  cfdata->poll_time = ci->poll_time;
-  cfdata->disable_timer = ci->disable_timer;
-  cfdata->random_order = ci->random_order;
-  if (ci->dir)
-    cfdata->dir = strdup (ci->dir);
-  else
-    {
-      snprintf (buf, sizeof (buf), "%s/.e/e/backgrounds",
-               e_user_homedir_get ());
-      cfdata->dir = strdup (buf);
-    }
+   cfdata->poll_time = ci->poll_time;
+   cfdata->disable_timer = ci->disable_timer;
+   cfdata->random_order = ci->random_order;
+   cfdata->all_desks = ci->all_desks;
+   if (ci->dir)
+     cfdata->dir = strdup(ci->dir);
+   else
+     {
+       snprintf(buf, sizeof (buf), "%s/.e/e/backgrounds", 
e_user_homedir_get());
+       cfdata->dir = strdup(buf);
+     }
 }
 
 static void *
-_create_data (E_Config_Dialog * cfd)
+_create_data(E_Config_Dialog * cfd)
 {
-  E_Config_Dialog_Data *cfdata;
-  Config_Item *ci;
+   E_Config_Dialog_Data *cfdata;
+   Config_Item *ci;
 
-  ci = cfd->data;
-  cfdata = E_NEW (E_Config_Dialog_Data, 1);
+   ci = cfd->data;
+   cfdata = E_NEW (E_Config_Dialog_Data, 1);
 
-  _fill_data (ci, cfdata);
-  return cfdata;
+   _fill_data (ci, cfdata);
+   return cfdata;
 }
 
 static void
-_free_data (E_Config_Dialog * cfd, E_Config_Dialog_Data * cfdata)
+_free_data(E_Config_Dialog * cfd, E_Config_Dialog_Data * cfdata)
 {
-  if (!slide_config)
-    return;
-
-  slide_config->config_dialog = NULL;
-  free (cfdata);
+   if (!slide_config) return;
+   slide_config->config_dialog = NULL;
+   free(cfdata);
 }
 
 static Evas_Object *
-_basic_create_widgets (E_Config_Dialog * cfd, Evas * evas,
-                      E_Config_Dialog_Data * cfdata)
+_basic_create_widgets(E_Config_Dialog * cfd, Evas * evas, E_Config_Dialog_Data 
* cfdata)
 {
-  Evas_Object *o, *ob, *of, *ot;
-
-  o = e_widget_list_add (evas, 0, 0);
-  of = e_widget_framelist_add (evas, D_ ("Cycle Time"), 0);
-  ob =
-    e_widget_check_add (evas, D_ ("Disable Timer"), &(cfdata->disable_timer));
-  e_widget_framelist_object_append (of, ob);
-  ob =
- e_widget_slider_add (evas, 1, 0, D_ ("%3.0f seconds"), 5.0, 300.0, 1.0, 0,
-                        &(cfdata->poll_time), NULL, 200);
-  e_widget_framelist_object_append (of, ob);
-  e_widget_list_object_append (o, of, 1, 1, 0.5);
-
-  of = e_widget_framelist_add (evas, D_ ("Directory"), 0);
-  ot = e_widget_table_add (evas, 1);
-  ob = e_widget_label_add (evas, D_ ("Sub-directory to use for backgrounds"));
-  e_widget_table_object_append (ot, ob, 0, 0, 1, 1, 0, 0, 1, 0);
-  ob = e_widget_entry_add (evas, &cfdata->dir);
-  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);
-
-  of = e_widget_framelist_add (evas, D_ ("Extra"), 0);
-  ob = e_widget_check_add (evas, D_ ("Randomize order"), 
&(cfdata->random_order));
-  e_widget_framelist_object_append (of, ob);
-  e_widget_list_object_append (o, of, 1, 1, 0.5);
+   Evas_Object *o, *ob, *of, *ot;
+   E_Radio_Group *rg;
+   
+   o = e_widget_list_add (evas, 0, 0);
+   of = e_widget_framelist_add (evas, D_ ("Cycle Time"), 0);
+   ob =
+     e_widget_check_add (evas, D_ ("Disable Timer"), &(cfdata->disable_timer));
+   e_widget_framelist_object_append (of, ob);
+   ob =
+     e_widget_slider_add (evas, 1, 0, D_ ("%3.0f seconds"), 5.0, 300.0, 1.0, 0,
+                         &(cfdata->poll_time), NULL, 200);
+   e_widget_framelist_object_append (of, ob);
+   e_widget_list_object_append (o, of, 1, 1, 0.5);
+
+   of = e_widget_framelist_add (evas, D_ ("Directory"), 0);
+   ot = e_widget_table_add (evas, 1);
+   ob = e_widget_label_add (evas, D_ ("Sub-directory to use for backgrounds"));
+   e_widget_table_object_append (ot, ob, 0, 0, 1, 1, 0, 0, 1, 0);
+   ob = e_widget_entry_add (evas, &cfdata->dir);
+   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);
+
+   of = e_widget_framelist_add (evas, D_ ("Extra"), 0);
+   ob = e_widget_check_add (evas, D_ ("Randomize order"), 
&(cfdata->random_order));
+   e_widget_framelist_object_append (of, ob);
+   rg = e_widget_radio_group_new(&(cfdata->all_desks));
+   ob = e_widget_radio_add(evas, _("Set wallpaper on all desktops"), 1, rg);
+   e_widget_framelist_object_append (of, ob);
+   ob = e_widget_radio_add(evas, _("Set wallpaper on current desktop"), 0, rg);
+   e_widget_framelist_object_append (of, ob);
+   e_widget_list_object_append (o, of, 1, 1, 0.5);
 
-  return o;
+   return o;
 }
 
 static int
-_basic_apply_data (E_Config_Dialog * cfd, E_Config_Dialog_Data * cfdata)
+_basic_apply_data(E_Config_Dialog * cfd, E_Config_Dialog_Data * cfdata)
 {
-  Config_Item *ci;
-  char buf[4096];
+   Config_Item *ci;
+   char buf[4096];
 
-  ci = cfd->data;
-  ci->poll_time = cfdata->poll_time;
-  ci->disable_timer = cfdata->disable_timer;
-ci->random_order = cfdata->random_order;
-
-  if (ci->dir)
-    evas_stringshare_del (ci->dir);
-
-  if (cfdata->dir != NULL)
-    ci->dir = evas_stringshare_add (cfdata->dir);
-  else
-    {
-      snprintf (buf, sizeof (buf), "%s/.e/e/backgrounds",
-               e_user_homedir_get ());
-      ci->dir = evas_stringshare_add (buf);
-    }
+   ci = cfd->data;
+   ci->poll_time = cfdata->poll_time;
+   ci->disable_timer = cfdata->disable_timer;
+   ci->random_order = cfdata->random_order;
+   ci->all_desks = cfdata->all_desks;
+   
+   if (ci->dir)
+     evas_stringshare_del (ci->dir);
+
+   if (cfdata->dir != NULL)
+     ci->dir = evas_stringshare_add (cfdata->dir);
+   else
+     {
+       snprintf (buf, sizeof (buf), "%s/.e/e/backgrounds",
+                 e_user_homedir_get ());
+       ci->dir = evas_stringshare_add (buf);
+     }
 
-  e_config_save_queue ();
+   e_config_save_queue ();
 
-  _slide_config_updated (ci->id);
-  return 1;
+   _slide_config_updated (ci->id);
+   return 1;
 }



-------------------------------------------------------------------------
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