00001 #include "dEvian.h"
00002
00003 typedef struct _MainCFData MainCFData;
00004 typedef struct _dEvianCFData dEvianCFData;
00005
00006 static void *_main_create_data(E_Config_Dialog *cfd);
00007 static void _main_free_data(E_Config_Dialog *cfd, MainCFData *cfdata);
00008 static int _main_basic_apply_data(E_Config_Dialog *cfd, MainCFData *cfdata);
00009 static int _main_advanced_apply_data(E_Config_Dialog *cfd, MainCFData *cfdata);
00010 static Evas_Object *_main_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, MainCFData *cfdata);
00011 static Evas_Object *_main_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, MainCFData *cfdata);
00012
00013 static void *_devian_create_data(E_Config_Dialog *cfd);
00014 static void _devian_free_data(E_Config_Dialog *cfd, dEvianCFData *cfdata);
00015 static int _devian_basic_apply_data(E_Config_Dialog *cfd, dEvianCFData *cfdata);
00016 static int _devian_advanced_apply_data(E_Config_Dialog *cfd, dEvianCFData *cfdata);
00017 static Evas_Object *_devian_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, dEvianCFData *cfdata);
00018 static Evas_Object *_devian_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, dEvianCFData *cfdata);
00019
00020
00021 struct _MainCFData
00022 {
00023
00024 int nb_devian;
00025 int boxs_always_number;
00026 int boxs_always_infos;
00027 const char *sources_picture_data_import_dir;
00028 int sources_picture_data_import_recursive;
00029
00030 int boxs_nice_resize;
00031 int boxs_nice_trans;
00032 int boxs_default_max_size;
00033 int boxs_default_anim;
00034 int boxs_anim_ghost_timer;
00035 int data_picture_thumb_default_size;
00036 int sources_picture_set_bg_purge;
00037 };
00038 struct _dEvianCFData
00039 {
00040 Config_dEvian *d_conf;
00041 Container_Box *c_box;
00042 Source_Picture *s_picture;
00043
00044 int container_box_size;
00045 int container_box_animation;
00046
00047 int container_box_speed;
00048 int container_box_auto_resize;
00049 int source_picture_timer;
00050 int source_picture_timer_yn;
00051 };
00052
00053
00054
00055 E_Config_Dialog *
00056 devian_config_dialog_main(E_Container *con)
00057 {
00058 E_Config_Dialog *cfd;
00059 E_Config_Dialog_View v;
00060
00061
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
00069 cfd = e_config_dialog_new(con, _("dEvian Module Configuration"), NULL, 0, &v, NULL);
00070 return cfd;
00071 }
00072
00073 void devian_config_dialog_main_shutdown(void)
00074 {
00075 if (dEvianM->dialog_conf)
00076 while ( e_object_unref(E_OBJECT(dEvianM->dialog_conf)) > 0 );
00077 }
00078
00079 E_Config_Dialog *
00080 devian_config_dialog_devian(E_Container *con, dEvian *devian)
00081 {
00082 E_Config_Dialog *cfd;
00083 E_Config_Dialog_View v;
00084
00085
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
00093 cfd = e_config_dialog_new(con, _("dEvian Module Configuration"), NULL, 0, &v, devian);
00094 return cfd;
00095 }
00096
00097 void devian_config_dialog_devian_shutdown(dEvian *devian)
00098 {
00099 if(devian->dialog_conf)
00100 while ( e_object_unref(E_OBJECT(devian->dialog_conf)) > 0 );
00101 }
00102
00103
00104
00105
00106
00107
00109 static void
00110 _main_fill_data(MainCFData *cfdata)
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 }
00134
00135 static void *
00136 _main_create_data(E_Config_Dialog *cfd)
00137 {
00138
00139
00140
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 }
00150
00151 static void
00152 _main_free_data(E_Config_Dialog *cfd, MainCFData *cfdata)
00153 {
00154
00155 evas_stringshare_del(cfdata->sources_picture_data_import_dir);
00156 free(cfdata);
00157 }
00158
00160 static int
00161 _main_basic_apply_data(E_Config_Dialog *cfd, MainCFData *cfdata)
00162 {
00163
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
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;
00204 }
00205
00206 static int
00207 _main_advanced_apply_data(E_Config_Dialog *cfd, MainCFData *cfdata)
00208 {
00209
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
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
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;
00271 }
00272
00274 static Evas_Object *
00275 _main_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, MainCFData *cfdata)
00276 {
00277
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 }
00335
00336 static Evas_Object *
00337 _main_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, MainCFData *cfdata)
00338 {
00339
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 }
00459
00460
00461
00462
00464 static void
00465 _devian_fill_data(dEvianCFData *cfdata)
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 }
00484
00485 static void *
00486 _devian_create_data(E_Config_Dialog *cfd)
00487 {
00488
00489
00490
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 }
00510
00511 static void
00512 _devian_free_data(E_Config_Dialog *cfd, dEvianCFData *cfdata)
00513 {
00514
00515 free(cfdata);
00516 }
00517
00519 static int
00520 _devian_basic_apply_data(E_Config_Dialog *cfd, dEvianCFData *cfdata)
00521 {
00522
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;
00541 }
00542
00543 static int
00544 _devian_advanced_apply_data(E_Config_Dialog *cfd, dEvianCFData *cfdata)
00545 {
00546
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;
00587 }
00588
00590 static Evas_Object *
00591 _devian_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, dEvianCFData *cfdata)
00592 {
00593
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 }
00647
00648 static Evas_Object *
00649 _devian_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, dEvianCFData *cfdata)
00650 {
00651
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 }