Main Page | Data Structures | Directories | File List | Data Fields | Globals

e_mod_config_dialog.c File Reference

#include "dEvian.h"

Go to the source code of this file.

Typedefs

typedef _MainCFData MainCFData
typedef _dEvianCFData dEvianCFData

Functions

static void * _main_create_data (E_Config_Dialog *cfd)
static void _main_free_data (E_Config_Dialog *cfd, MainCFData *cfdata)
static int _main_basic_apply_data (E_Config_Dialog *cfd, MainCFData *cfdata)
 --APPLY--
static int _main_advanced_apply_data (E_Config_Dialog *cfd, MainCFData *cfdata)
static Evas_Object * _main_basic_create_widgets (E_Config_Dialog *cfd, Evas *evas, MainCFData *cfdata)
 --GUI--
static Evas_Object * _main_advanced_create_widgets (E_Config_Dialog *cfd, Evas *evas, MainCFData *cfdata)
static void * _devian_create_data (E_Config_Dialog *cfd)
static void _devian_free_data (E_Config_Dialog *cfd, dEvianCFData *cfdata)
static int _devian_basic_apply_data (E_Config_Dialog *cfd, dEvianCFData *cfdata)
 --APPLY--
static int _devian_advanced_apply_data (E_Config_Dialog *cfd, dEvianCFData *cfdata)
static Evas_Object * _devian_basic_create_widgets (E_Config_Dialog *cfd, Evas *evas, dEvianCFData *cfdata)
 --GUI--
static Evas_Object * _devian_advanced_create_widgets (E_Config_Dialog *cfd, Evas *evas, dEvianCFData *cfdata)
E_Config_Dialog * devian_config_dialog_main (E_Container *con)
void devian_config_dialog_main_shutdown (void)
E_Config_Dialog * devian_config_dialog_devian (E_Container *con, dEvian *devian)
void devian_config_dialog_devian_shutdown (dEvian *devian)
static void _main_fill_data (MainCFData *cfdata)
 --CREATE--
static void _devian_fill_data (dEvianCFData *cfdata)
 --CREATE--


Typedef Documentation

typedef struct _dEvianCFData dEvianCFData
 

Definition at line 4 of file e_mod_config_dialog.c.

typedef struct _MainCFData MainCFData
 

Definition at line 3 of file e_mod_config_dialog.c.


Function Documentation

static int _devian_advanced_apply_data E_Config_Dialog *  cfd,
dEvianCFData cfdata
[static]
 

Definition at line 544 of file e_mod_config_dialog.c.

References DCONTAINER, devian_container_box_animation_start(), devian_container_box_resize_auto(), and devian_source_picture_timer_change_set().

Referenced by devian_config_dialog_devian().

00545 {
00546   /* Actually take our cfdata settings and apply them in real life */
00547   dEvian *devian;
00548   devian = cfd->data;
00549 
00550   if (cfdata->c_box)
00551     {
00552       if (devian->conf->box_max_size != cfdata->container_box_size)
00553   {
00554     DCONTAINER(("CALLING MAX SIZE"));
00555     devian->conf->box_max_size = cfdata->container_box_size;
00556     devian_container_box_resize_auto(devian->container);
00557   }
00558       if (devian->conf->box_auto_resize != cfdata->container_box_auto_resize)
00559   {
00560     DCONTAINER(("CALLING RESIZE AUTO"));
00561     devian->conf->box_auto_resize = cfdata->container_box_auto_resize;
00562     devian_container_box_resize_auto(devian->container);
00563   }
00564       if (devian->conf->box_anim != cfdata->container_box_animation)
00565   {
00566     DCONTAINER(("CALLING ANIM START"));
00567     devian->conf->box_anim = cfdata->container_box_animation;
00568     devian_container_box_animation_start(devian->container, devian->conf->box_anim);
00569   }
00570       devian->conf->box_speed = cfdata->container_box_speed;
00571     }
00572 
00573   if (cfdata->s_picture)
00574     {
00575       if (devian->conf->picture_timer_active != cfdata->source_picture_timer_yn)
00576   devian_source_picture_timer_change_set(devian->source,
00577                  cfdata->source_picture_timer_yn,
00578                  cfdata->source_picture_timer);
00579       else
00580   if (devian->conf->picture_timer_s != cfdata->source_picture_timer )
00581     devian_source_picture_timer_change_set(devian->source,
00582              devian->conf->picture_timer_active,
00583              cfdata->source_picture_timer);
00584     }
00585 
00586   return 1; /* Apply was OK */
00587 }

static Evas_Object * _devian_advanced_create_widgets E_Config_Dialog *  cfd,
Evas *  evas,
dEvianCFData cfdata
[static]
 

Definition at line 649 of file e_mod_config_dialog.c.

References _devian_fill_data(), CONTAINER_BOX_ANIM_GHOST, CONTAINER_BOX_ANIM_GOULOUM, CONTAINER_BOX_ANIM_LINE, and CONTAINER_BOX_ANIM_NO.

Referenced by devian_config_dialog_devian().

00650 {
00651   /* generate the core widget layout for an advanced dialog */
00652   Evas_Object *o, *of, *ob;
00653   E_Radio_Group *rg;
00654 
00655   _devian_fill_data(cfdata);
00656    
00657   o = e_widget_table_add(evas, 0);
00658    
00659 
00660   if (cfdata->c_box)
00661     { 
00662       of = e_widget_frametable_add(evas, _("Box"), 0);
00663       ob = e_widget_label_add(evas, _("Size"));
00664       e_widget_frametable_object_append(of, ob,
00665           0, 0, 1, 1,
00666           1, 1, 1, 1);
00667       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f pixels"), 100.0, 500.0, 1.0, 0,
00668              NULL, &(cfdata->container_box_size), 100);
00669       e_widget_frametable_object_append(of, ob,
00670           1, 0, 1, 1,
00671           1, 0, 1, 0);
00672       ob = e_widget_label_add(evas, _("Speed"));
00673       e_widget_frametable_object_append(of, ob,
00674           0, 1, 1, 1,
00675           1, 1, 1, 1);
00676       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 1.0, 3.0, 1.0, 0,
00677              NULL, &(cfdata->container_box_speed), 100);
00678       e_widget_frametable_object_append(of, ob,
00679           1, 1, 1, 1,
00680           1, 0, 1, 0);
00681       ob = e_widget_label_add(evas, _("Animation"));
00682       e_widget_frametable_object_append(of, ob,
00683           0, 2, 1, 1,
00684           1, 1, 1, 1);
00685       rg = e_widget_radio_group_new(&(cfdata->container_box_animation));
00686       ob = e_widget_radio_add(evas, _("No"), CONTAINER_BOX_ANIM_NO, rg);
00687       e_widget_frametable_object_append(of, ob,
00688           1, 2, 1, 1,
00689           1, 1, 1, 1);
00690       ob = e_widget_radio_add(evas, _("Line"), CONTAINER_BOX_ANIM_LINE, rg);
00691       e_widget_frametable_object_append(of, ob,
00692           1, 3, 1, 1,
00693           1, 1, 1, 1);
00694       ob = e_widget_radio_add(evas, _("Gouloum"), CONTAINER_BOX_ANIM_GOULOUM, rg);
00695       e_widget_frametable_object_append(of, ob,
00696           1, 4, 1, 1,
00697           1, 1, 1, 1);
00698       ob = e_widget_radio_add(evas, _("Ghost"), CONTAINER_BOX_ANIM_GHOST, rg);
00699       e_widget_frametable_object_append(of, ob,
00700           1, 5, 1, 1,
00701           1, 1, 1, 1);
00702       ob = e_widget_check_add(evas, _("Auto Resize"), &(cfdata->container_box_auto_resize));
00703       e_widget_frametable_object_append(of, ob,
00704           0, 6, 1, 1,
00705           1, 1, 1, 1);
00706       e_widget_table_object_append(o, of,
00707            0, 0, 1, 1,
00708            1, 1, 1, 1);
00709     }
00710 
00711   if(cfdata->s_picture)
00712     {
00713       of = e_widget_frametable_add(evas, _("Picture"), 0);
00714       ob = e_widget_check_add(evas, _("Change pictures"), &(cfdata->source_picture_timer_yn));
00715       e_widget_frametable_object_append(of, ob,
00716           0, 0, 1, 1,
00717           1, 1, 1, 1);
00718       ob = e_widget_label_add(evas, _("Timer"));
00719       e_widget_frametable_object_append(of, ob,
00720           0, 1, 1, 1,
00721           1, 1, 1, 1);
00722       ob = e_widget_slider_add(evas, 1, 0, _("%1.0fs"), 3.0, 300.0, 5.0, 0,
00723              NULL, &(cfdata->source_picture_timer), 200);
00724       e_widget_frametable_object_append(of, ob,
00725           0, 2, 1, 1,
00726           1, 0, 1, 0);
00727       e_widget_table_object_append(o, of,
00728            1, 0, 1, 1,
00729            1, 1, 1, 1);
00730     }
00731 
00732   return o;
00733 }

static int _devian_basic_apply_data E_Config_Dialog *  cfd,
dEvianCFData cfdata
[static]
 

--APPLY--

Definition at line 520 of file e_mod_config_dialog.c.

References devian_container_box_animation_start(), and devian_container_box_resize_auto().

Referenced by devian_config_dialog_devian().

00521 {
00522   /* Actually take our cfdata settings and apply them in real life */
00523   dEvian *devian;
00524   devian = cfd->data;
00525 
00526   if (cfdata->c_box)
00527     {
00528       if (devian->conf->box_max_size != cfdata->container_box_size)
00529   {
00530     devian->conf->box_max_size = cfdata->container_box_size;
00531     devian_container_box_resize_auto(devian->container);
00532   }
00533       if (devian->conf->box_anim != cfdata->container_box_animation)
00534   {
00535     devian->conf->box_anim = cfdata->container_box_animation;
00536     devian_container_box_animation_start(devian->container, devian->conf->box_anim);
00537   }
00538     }
00539 
00540   return 1; /* Apply was OK */
00541 }

static Evas_Object * _devian_basic_create_widgets E_Config_Dialog *  cfd,
Evas *  evas,
dEvianCFData cfdata
[static]
 

--GUI--

Definition at line 591 of file e_mod_config_dialog.c.

References _devian_fill_data(), CONTAINER_BOX_ANIM_GHOST, CONTAINER_BOX_ANIM_GOULOUM, CONTAINER_BOX_ANIM_LINE, and CONTAINER_BOX_ANIM_NO.

Referenced by devian_config_dialog_devian().

00592 {
00593   /* generate the core widget layout for a basic dialog */
00594   Evas_Object *o, *of, *ob;
00595   E_Radio_Group *rg;
00596    
00597   _devian_fill_data(cfdata);
00598    
00599   o = e_widget_table_add(evas, 0);
00600 
00601   if (cfdata->c_box)
00602     { 
00603       of = e_widget_frametable_add(evas, _("Box"), 0);
00604       ob = e_widget_label_add(evas, _("Size"));
00605       e_widget_frametable_object_append(of, ob,
00606           0, 0, 1, 1,
00607           1, 1, 1, 1);
00608       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f pixels"), 100.0, 500.0, 1.0, 0,
00609              NULL, &(cfdata->container_box_size), 100);
00610       e_widget_frametable_object_append(of, ob,
00611           1, 0, 1, 1,
00612           1, 0, 1, 0);
00613       ob = e_widget_label_add(evas, _("Animation"));
00614       e_widget_frametable_object_append(of, ob,
00615           0, 2, 1, 1,
00616           1, 1, 1, 1);
00617       rg = e_widget_radio_group_new(&(cfdata->container_box_animation));
00618       ob = e_widget_radio_add(evas, _("No"), CONTAINER_BOX_ANIM_NO, rg);
00619       e_widget_frametable_object_append(of, ob,
00620           1, 2, 1, 1,
00621           1, 1, 1, 1);
00622       ob = e_widget_radio_add(evas, _("Line"), CONTAINER_BOX_ANIM_LINE, rg);
00623       e_widget_frametable_object_append(of, ob,
00624           1, 3, 1, 1,
00625           1, 1, 1, 1);
00626       ob = e_widget_radio_add(evas, _("Gouloum"), CONTAINER_BOX_ANIM_GOULOUM, rg);
00627       e_widget_frametable_object_append(of, ob,
00628           1, 4, 1, 1,
00629           1, 1, 1, 1);
00630       ob = e_widget_radio_add(evas, _("Ghost"), CONTAINER_BOX_ANIM_GHOST, rg);
00631       e_widget_frametable_object_append(of, ob,
00632           1, 5, 1, 1,
00633           1, 1, 1, 1);
00634       e_widget_table_object_append(o, of,
00635            0, 0, 1, 1,
00636            1, 1, 1, 1);
00637     }
00638 
00639   if(cfdata->s_picture)
00640     {
00641 
00642 
00643     }
00644 
00645   return o;
00646 }

static void * _devian_create_data E_Config_Dialog *  cfd  )  [static]
 

Definition at line 486 of file e_mod_config_dialog.c.

References _devian_fill_data(), CONTAINER_BOX, and SOURCE_PICTURE.

Referenced by devian_config_dialog_devian().

00487 {
00488   /* Create cfdata - cfdata is a temporary block of config data that this
00489    * dialog will be dealing with while configuring. it will be applied to
00490    * the running systems/config in the apply methods
00491    */
00492   dEvianCFData *cfdata;
00493   dEvian *devian;
00494   
00495   devian = cfd->data;
00496   cfdata = E_NEW(dEvianCFData, 1);
00497 
00498   cfdata->d_conf = devian->conf;
00499   cfdata->c_box = NULL;
00500   cfdata->s_picture = NULL;
00501   
00502   if (devian->conf->container_type == CONTAINER_BOX)
00503     cfdata->c_box = devian->container;
00504   if (devian->conf->source_type == SOURCE_PICTURE)
00505     cfdata->s_picture = devian->source;
00506   
00507   _devian_fill_data(cfdata);
00508   return cfdata;
00509 }

static void _devian_fill_data dEvianCFData cfdata  )  [static]
 

--CREATE--

Definition at line 465 of file e_mod_config_dialog.c.

Referenced by _devian_advanced_create_widgets(), _devian_basic_create_widgets(), and _devian_create_data().

00466 {
00467   Config_dEvian *d_conf;
00468   d_conf = cfdata->d_conf;
00469   
00470   if (cfdata->c_box)
00471     {
00472       cfdata->container_box_size = d_conf->box_max_size;
00473       cfdata->container_box_auto_resize = d_conf->box_auto_resize;
00474       cfdata->container_box_animation = d_conf->box_anim;
00475       cfdata->container_box_speed = d_conf->box_speed;
00476     }
00477 
00478   if (cfdata->s_picture)
00479     {
00480       cfdata->source_picture_timer_yn = d_conf->picture_timer_active;
00481       cfdata->source_picture_timer = d_conf->picture_timer_s;
00482     }
00483 }

static void _devian_free_data E_Config_Dialog *  cfd,
dEvianCFData cfdata
[static]
 

Definition at line 512 of file e_mod_config_dialog.c.

Referenced by devian_config_dialog_devian().

00513 {
00514   /* Free the cfdata */
00515   free(cfdata);
00516 }

static int _main_advanced_apply_data E_Config_Dialog *  cfd,
MainCFData cfdata
[static]
 

Definition at line 207 of file e_mod_config_dialog.c.

References CONTAINER_BOX, CONTAINER_BOX_ANIM_GHOST, devian_container_box_animation_start(), devian_container_box_infos_display_set(), devian_devian_add(), devian_devian_del(), and dEvianM.

Referenced by devian_config_dialog_main().

00208 {
00209   /* Actually take our cfdata settings and apply them in real life */
00210   int i, j;
00211   Evas_List *l;
00212   dEvian *devian;
00213 
00214   evas_stringshare_del(dEvianM->conf->sources_picture_data_import_dir);
00215   dEvianM->conf->sources_picture_data_import_dir = 
00216     (char *)evas_stringshare_add(cfdata->sources_picture_data_import_dir);
00217   dEvianM->conf->sources_picture_data_import_recursive =
00218     cfdata->sources_picture_data_import_recursive;
00219 
00220   if ((dEvianM->conf->boxs_always_number != cfdata->boxs_always_number) ||
00221       (dEvianM->conf->boxs_always_infos != cfdata->boxs_always_infos))
00222     {
00223       dEvianM->conf->boxs_always_number = cfdata->boxs_always_number;
00224       dEvianM->conf->boxs_always_infos = cfdata->boxs_always_infos;
00225       for(l = dEvianM->devians; l; l=evas_list_next(l))
00226   {
00227     devian = evas_list_data(l);
00228     if (devian->conf->container_type == CONTAINER_BOX)
00229       {
00230         devian_container_box_infos_display_set(devian->container);
00231       }
00232   }
00233     }
00234 
00235   /* Advanced only */
00236   dEvianM->conf->boxs_nice_resize = cfdata->boxs_nice_resize;
00237   dEvianM->conf->boxs_nice_trans = cfdata->boxs_nice_trans;
00238   dEvianM->conf->boxs_default_max_size = cfdata->boxs_default_max_size;
00239   dEvianM->conf->boxs_default_anim = cfdata->boxs_default_anim;
00240   if (dEvianM->conf->boxs_anim_ghost_timer != cfdata->boxs_anim_ghost_timer)
00241     {
00242       dEvianM->conf->boxs_anim_ghost_timer = cfdata->boxs_anim_ghost_timer;
00243       for(l = dEvianM->devians; l; l=evas_list_next(l))
00244   {
00245     devian = evas_list_data(l);
00246     if (devian->conf->container_type == CONTAINER_BOX)
00247       {
00248         devian_container_box_animation_start(devian->container,
00249                CONTAINER_BOX_ANIM_GHOST);
00250       }
00251   }
00252     }
00253   dEvianM->conf->data_picture_thumb_default_size = cfdata->data_picture_thumb_default_size;
00254   dEvianM->conf->sources_picture_set_bg_purge = cfdata->sources_picture_set_bg_purge;
00255 
00256   /* dEvians creation (last) */
00257   i = evas_list_count(dEvianM->devians) - cfdata->nb_devian;
00258   if (i<0)
00259     for(j=i; j<0; j++)
00260       devian_devian_add(NULL);
00261   if (i>0)
00262     {
00263       l = evas_list_last(dEvianM->devians);
00264       for (j=i; j>0; j--)
00265   {
00266     devian_devian_del( evas_list_nth(dEvianM->devians, j-1), 0 );
00267   }
00268     }
00269 
00270   return 1; /* Apply was OK */
00271 }

static Evas_Object * _main_advanced_create_widgets E_Config_Dialog *  cfd,
Evas *  evas,
MainCFData cfdata
[static]
 

Definition at line 337 of file e_mod_config_dialog.c.

References _main_fill_data(), CONTAINER_BOX_ANIM_GHOST, CONTAINER_BOX_ANIM_GOULOUM, CONTAINER_BOX_ANIM_LINE, CONTAINER_BOX_ANIM_NO, and devian_data_picture_list_local_regen().

Referenced by devian_config_dialog_main().

00338 {
00339   /* generate the core widget layout for an advanced dialog */
00340   Evas_Object *o, *of, *ob;
00341   E_Radio_Group *rg;
00342    
00343   _main_fill_data(cfdata);
00344    
00345 
00346   o = e_widget_table_add(evas, 0);
00347    
00348   of = e_widget_frametable_add(evas, _("dEvians"), 0);
00349   ob = e_widget_label_add(evas, _("Number"));
00350   e_widget_frametable_object_append(of, ob,
00351             0, 0, 1, 1,
00352             1, 1, 1, 1);
00353   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 0.0, 15.0, 1.0, 0,
00354          NULL, &(cfdata->nb_devian), 150);
00355   e_widget_frametable_object_append(of, ob,
00356             0, 1, 1, 1,
00357             1, 0, 1, 0);
00358   e_widget_table_object_append(o, of,
00359              0, 0, 1, 1,
00360              1, 1, 1, 1);
00361 
00362   of = e_widget_frametable_add(evas, _("Boxs"), 0);
00363   ob = e_widget_check_add(evas, _("Always number"), &(cfdata->boxs_always_number));
00364   e_widget_frametable_object_append(of, ob,
00365             0, 0, 1, 1,
00366             1, 1, 1, 1);
00367   ob = e_widget_check_add(evas, _("Always infos"), &(cfdata->boxs_always_infos));
00368   e_widget_frametable_object_append(of, ob,
00369             1, 0, 1, 1,
00370             1, 1, 1, 1);
00371   ob = e_widget_check_add(evas, _("Nice resizes"), &(cfdata->boxs_nice_resize));
00372   e_widget_frametable_object_append(of, ob,
00373             0, 1, 1, 1,
00374             1, 1, 1, 1);
00375   ob = e_widget_check_add(evas, _("Nice transitions"), &(cfdata->boxs_nice_trans));
00376   e_widget_frametable_object_append(of, ob,
00377             1, 1, 1, 1,
00378             1, 1, 1, 1);
00379   ob = e_widget_label_add(evas, _("Creation size"));
00380   e_widget_frametable_object_append(of, ob,
00381             0, 2, 1, 1,
00382             1, 1, 1, 1);
00383   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f pixels"), 100.0, 500.0, 1.0, 0,
00384          NULL, &(cfdata->boxs_default_max_size), 100);
00385   e_widget_frametable_object_append(of, ob,
00386             1, 2, 1, 1,
00387             1, 0, 1, 0);
00388   ob = e_widget_label_add(evas, _("Creation anim"));
00389   e_widget_frametable_object_append(of, ob,
00390             0, 3, 1, 1,
00391             1, 1, 1, 1);
00392   rg = e_widget_radio_group_new(&(cfdata->boxs_default_anim));
00393   ob = e_widget_radio_add(evas, _("No"), CONTAINER_BOX_ANIM_NO, rg);
00394   e_widget_frametable_object_append(of, ob,
00395             1, 3, 1, 1,
00396             1, 1, 1, 1);
00397   ob = e_widget_radio_add(evas, _("Line"), CONTAINER_BOX_ANIM_LINE, rg);
00398   e_widget_frametable_object_append(of, ob,
00399             1, 4, 1, 1,
00400             1, 1, 1, 1);
00401   ob = e_widget_radio_add(evas, _("Gouloum"), CONTAINER_BOX_ANIM_GOULOUM, rg);
00402   e_widget_frametable_object_append(of, ob,
00403             1, 5, 1, 1,
00404             1, 1, 1, 1);
00405   ob = e_widget_radio_add(evas, _("Ghost"), CONTAINER_BOX_ANIM_GHOST, rg);
00406   e_widget_frametable_object_append(of, ob,
00407             1, 6, 1, 1,
00408             1, 1, 1, 1);
00409   ob = e_widget_label_add(evas, _("Ghost anim timer"));
00410   e_widget_frametable_object_append(of, ob,
00411             0, 7, 1, 1,
00412             1, 1, 1, 1);
00413   ob = e_widget_slider_add(evas, 1, 0, _("%1.0fs"), 7.0, 120.0, 1.0, 0,
00414          NULL, &(cfdata->boxs_anim_ghost_timer), 150);
00415   e_widget_frametable_object_append(of, ob,
00416             1, 7, 1, 1,
00417             1, 0, 1, 0);
00418   e_widget_table_object_append(o, of,
00419              0, 1, 1, 1,
00420              1, 1, 1, 1);
00421 
00422   of = e_widget_frametable_add(evas, _("Pictures"), 0);
00423   ob = e_widget_label_add(evas, _("Import dir"));
00424   e_widget_frametable_object_append(of, ob,
00425             0, 0, 1, 1,
00426             1, 1, 1, 1);
00427   ob = e_widget_entry_add(evas, &(cfdata->sources_picture_data_import_dir));
00428   e_widget_min_size_set(ob, 100, 1);
00429   e_widget_frametable_object_append(of, ob,
00430             1, 0, 1, 1,
00431             1, 1, 1, 1);
00432   ob = e_widget_check_add(evas, _("Load sub-directories"), &(cfdata->sources_picture_data_import_recursive));
00433   e_widget_frametable_object_append(of, ob,
00434             0, 1, 2, 1,
00435             1, 1, 1, 1);
00436   ob = e_widget_label_add(evas, _("Quality"));
00437   e_widget_frametable_object_append(of, ob,
00438             0, 2, 1, 1,
00439             1, 1, 1, 1);
00440   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 100.0, 500.0, 1.0, 0,
00441          NULL, &(cfdata->data_picture_thumb_default_size), 80);
00442   e_widget_frametable_object_append(of, ob,
00443             1, 2, 1, 1,
00444             1, 0, 1, 0);
00445   ob = e_widget_check_add(evas, _("Remove created .e/e/backgrounds/"), &(cfdata->sources_picture_set_bg_purge));
00446   e_widget_frametable_object_append(of, ob,
00447             0, 3, 2, 1,
00448             1, 1, 1, 1);
00449   ob = e_widget_button_add(evas, "Regenerate pictures list", NULL, devian_data_picture_list_local_regen, NULL, NULL);
00450   e_widget_frametable_object_append(of, ob,
00451             0, 4, 2, 1,
00452             1, 1, 1, 1);
00453   e_widget_table_object_append(o, of,
00454              1, 1, 1, 1,
00455              1, 1, 1, 1);
00456 
00457   return o;
00458 }

static int _main_basic_apply_data E_Config_Dialog *  cfd,
MainCFData cfdata
[static]
 

--APPLY--

Definition at line 161 of file e_mod_config_dialog.c.

References CONTAINER_BOX, devian_container_box_infos_display_set(), devian_devian_add(), devian_devian_del(), and dEvianM.

Referenced by devian_config_dialog_main().

00162 {
00163   /* Actually take our cfdata settings and apply them in real life */
00164   int i, j;
00165   Evas_List *l;
00166   dEvian *devian;
00167   
00168   evas_stringshare_del(dEvianM->conf->sources_picture_data_import_dir);
00169   dEvianM->conf->sources_picture_data_import_dir = 
00170     (char *)evas_stringshare_add(cfdata->sources_picture_data_import_dir);
00171 dEvianM->conf->sources_picture_data_import_recursive =
00172   cfdata->sources_picture_data_import_recursive;
00173 
00174   if ((dEvianM->conf->boxs_always_number != cfdata->boxs_always_number) ||
00175       (dEvianM->conf->boxs_always_infos != cfdata->boxs_always_infos))
00176     {
00177       dEvianM->conf->boxs_always_number = cfdata->boxs_always_number;
00178       dEvianM->conf->boxs_always_infos = cfdata->boxs_always_infos;
00179       for(l = dEvianM->devians; l; l=evas_list_next(l))
00180   {
00181     devian = evas_list_data(l);
00182     if (devian->conf->container_type == CONTAINER_BOX)
00183       {
00184         devian_container_box_infos_display_set(devian->container);
00185       }
00186   }
00187     }
00188   
00189   /* dEvian creation (last) */
00190   i = evas_list_count(dEvianM->devians) - cfdata->nb_devian;
00191   if (i<0)
00192     for(j=i; j<0; j++)
00193       devian_devian_add(NULL);
00194   if (i>0)
00195     {
00196       l = evas_list_last(dEvianM->devians);
00197       for (j=i; j>0; j--)
00198   {
00199     devian_devian_del( evas_list_nth(dEvianM->devians, j-1), 0 );
00200   }
00201     }
00202 
00203   return 1; /* Apply was OK */
00204 }

static Evas_Object * _main_basic_create_widgets E_Config_Dialog *  cfd,
Evas *  evas,
MainCFData cfdata
[static]
 

--GUI--

Definition at line 275 of file e_mod_config_dialog.c.

References _main_fill_data(), and devian_data_picture_list_local_regen().

Referenced by devian_config_dialog_main().

00276 {
00277   /* generate the core widget layout for a basic dialog */
00278   Evas_Object *o, *of, *ob;
00279    
00280   _main_fill_data(cfdata);
00281    
00282   o = e_widget_table_add(evas, 0);
00283    
00284   of = e_widget_frametable_add(evas, _("dEvians"), 0);
00285   ob = e_widget_label_add(evas, _("Number"));
00286   e_widget_frametable_object_append(of, ob,
00287             0, 0, 1, 1,
00288             1, 1, 1, 1);
00289   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 0.0, 15.0, 1.0, 0,
00290          NULL, &(cfdata->nb_devian), 150);
00291   e_widget_frametable_object_append(of, ob,
00292             0, 1, 1, 1,
00293             1, 0, 1, 0);
00294   e_widget_table_object_append(o, of,
00295              0, 0, 1, 1,
00296              1, 1, 1, 1);
00297 
00298   of = e_widget_frametable_add(evas, _("Boxs"), 0);
00299   ob = e_widget_check_add(evas, _("Always number"), &(cfdata->boxs_always_number));
00300   e_widget_frametable_object_append(of, ob,
00301             0, 0, 1, 1,
00302             1, 1, 1, 1);
00303   ob = e_widget_check_add(evas, _("Always infos"), &(cfdata->boxs_always_infos));
00304   e_widget_frametable_object_append(of, ob,
00305             1, 0, 1, 1,
00306             1, 1, 1, 1);
00307   e_widget_table_object_append(o, of,
00308              0, 1, 1, 1,
00309              1, 1, 1, 1);
00310 
00311   of = e_widget_frametable_add(evas, _("Pictures"), 0);
00312   ob = e_widget_label_add(evas, _("Import dir"));
00313   e_widget_frametable_object_append(of, ob,
00314             0, 0, 1, 1,
00315             1, 1, 1, 1);
00316   ob = e_widget_entry_add(evas, &(cfdata->sources_picture_data_import_dir));
00317   e_widget_min_size_set(ob, 100, 1);
00318   e_widget_frametable_object_append(of, ob,
00319             1, 0, 1, 1,
00320             1, 1, 1, 1);
00321   ob = e_widget_check_add(evas, _("Load sub-directories"), &(cfdata->sources_picture_data_import_recursive));
00322   e_widget_frametable_object_append(of, ob,
00323             0, 1, 2, 1,
00324             1, 1, 1, 1);
00325   ob = e_widget_button_add(evas, "Regenerate pictures list", NULL, devian_data_picture_list_local_regen, NULL, NULL);
00326   e_widget_frametable_object_append(of, ob,
00327             0, 2, 2, 1,
00328             1, 1, 1, 1);
00329   e_widget_table_object_append(o, of,
00330              1, 1, 1, 1,
00331              1, 1, 1, 1);
00332 
00333   return o;
00334 }

static void * _main_create_data E_Config_Dialog *  cfd  )  [static]
 

Definition at line 136 of file e_mod_config_dialog.c.

References _main_fill_data().

Referenced by devian_config_dialog_main().

00137 {
00138   /* Create cfdata - cfdata is a temporary block of config data that this
00139    * dialog will be dealing with while configuring. it will be applied to
00140    * the running systems/config in the apply methods
00141    */
00142   MainCFData *cfdata;
00143    
00144   cfdata = E_NEW(MainCFData, 1);
00145   cfdata->sources_picture_data_import_dir = NULL;
00146   
00147   _main_fill_data(cfdata);
00148   return cfdata;
00149 }

static void _main_fill_data MainCFData cfdata  )  [static]
 

--CREATE--

Definition at line 110 of file e_mod_config_dialog.c.

References dEvianM.

Referenced by _main_advanced_create_widgets(), _main_basic_create_widgets(), and _main_create_data().

00111 {
00112   Config_dEvian_Main *conf;
00113   conf = dEvianM->conf;
00114 
00115   cfdata->nb_devian = evas_list_count(dEvianM->devians);
00116   if (!cfdata->sources_picture_data_import_dir)
00117     cfdata->sources_picture_data_import_dir =
00118       evas_stringshare_add(conf->sources_picture_data_import_dir);
00119   cfdata->sources_picture_data_import_recursive =
00120     conf->sources_picture_data_import_recursive;
00121 
00122   cfdata->boxs_always_number = conf->boxs_always_number;
00123   cfdata->boxs_always_infos = conf->boxs_always_infos;
00124   cfdata->boxs_nice_resize = conf->boxs_nice_resize;
00125   cfdata->boxs_nice_trans = conf->boxs_nice_trans;
00126   cfdata->boxs_default_max_size = conf->boxs_default_max_size;
00127   cfdata->boxs_default_anim = conf->boxs_default_anim;
00128   cfdata->boxs_anim_ghost_timer = conf->boxs_anim_ghost_timer;
00129   cfdata->data_picture_thumb_default_size =
00130     conf->data_picture_thumb_default_size;
00131   cfdata->sources_picture_set_bg_purge =
00132     conf->sources_picture_set_bg_purge;
00133 }

static void _main_free_data E_Config_Dialog *  cfd,
MainCFData cfdata
[static]
 

Definition at line 152 of file e_mod_config_dialog.c.

Referenced by devian_config_dialog_main().

00153 {
00154   /* Free the cfdata */
00155   evas_stringshare_del(cfdata->sources_picture_data_import_dir);
00156   free(cfdata);
00157 }

E_Config_Dialog* devian_config_dialog_devian E_Container *  con,
dEvian *  devian
 

Definition at line 80 of file e_mod_config_dialog.c.

References _devian_advanced_apply_data(), _devian_advanced_create_widgets(), _devian_basic_apply_data(), _devian_basic_create_widgets(), _devian_create_data(), and _devian_free_data().

Referenced by _devian_menu_cb_configure().

00081 {
00082   E_Config_Dialog *cfd;
00083   E_Config_Dialog_View v;
00084 
00085   /* methods */
00086   v.create_cfdata           = _devian_create_data;
00087   v.free_cfdata             = _devian_free_data;
00088   v.basic.apply_cfdata      = _devian_basic_apply_data;
00089   v.basic.create_widgets    = _devian_basic_create_widgets;
00090   v.advanced.apply_cfdata   = _devian_advanced_apply_data;
00091   v.advanced.create_widgets = _devian_advanced_create_widgets;
00092   /* create config diaolg for NULL object/data */
00093   cfd = e_config_dialog_new(con, _("dEvian Module Configuration"), NULL, 0, &v, devian);
00094   return cfd;
00095 }

void devian_config_dialog_devian_shutdown dEvian *  devian  ) 
 

Definition at line 97 of file e_mod_config_dialog.c.

Referenced by devian_devian_del().

00098 {
00099   if(devian->dialog_conf)
00100     while ( e_object_unref(E_OBJECT(devian->dialog_conf)) > 0 );
00101 }

E_Config_Dialog* devian_config_dialog_main E_Container *  con  ) 
 

Definition at line 56 of file e_mod_config_dialog.c.

References _main_advanced_apply_data(), _main_advanced_create_widgets(), _main_basic_apply_data(), _main_basic_create_widgets(), _main_create_data(), and _main_free_data().

Referenced by _devian_main_menu_cb_configure(), and e_modapi_config().

00057 {
00058   E_Config_Dialog *cfd;
00059   E_Config_Dialog_View v;
00060 
00061   /* methods */
00062   v.create_cfdata           = _main_create_data;
00063   v.free_cfdata             = _main_free_data;
00064   v.basic.apply_cfdata      = _main_basic_apply_data;
00065   v.basic.create_widgets    = _main_basic_create_widgets;
00066   v.advanced.apply_cfdata   = _main_advanced_apply_data;
00067   v.advanced.create_widgets = _main_advanced_create_widgets;
00068   /* create config diaolg for NULL object/data */
00069   cfd = e_config_dialog_new(con, _("dEvian Module Configuration"), NULL, 0, &v, NULL);
00070   return cfd;
00071 }

void devian_config_dialog_main_shutdown void   ) 
 

Definition at line 73 of file e_mod_config_dialog.c.

References dEvianM.

Referenced by devian_devian_main_shutdown().

00074 {
00075   if (dEvianM->dialog_conf)
00076     while ( e_object_unref(E_OBJECT(dEvianM->dialog_conf)) > 0 );
00077 }


Generated on Fri Jan 6 02:26:26 2006 for dEvian by  doxygen 1.4.4