Enlightenment CVS committal
Author : titan
Project : e17
Module : proto
Dir : e17/proto/ephoto/src
Modified Files:
ephoto_slideshow.c
Log Message:
Get some parsing going.
===================================================================
RCS file: /cvs/e/e17/proto/ephoto/src/ephoto_slideshow.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- ephoto_slideshow.c 8 Sep 2006 17:41:42 -0000 1.5
+++ ephoto_slideshow.c 8 Sep 2006 21:48:02 -0000 1.6
@@ -2,6 +2,7 @@
Ecore_Timer *timer;
typedef struct _Slide_Config Slide_Config;
+Slide_Config *parse_slideshow_config(void);
struct _Slide_Config
{
@@ -30,7 +31,7 @@
int length;
int name_show;
int zoom;
- int keep_apsect;
+ int keep_aspect;
int random_order;
int loop_slide;
int w_size;
@@ -68,13 +69,20 @@
Ewl_Widget *cell;
Ewl_Widget *image;
char *image_path;
+ Slide_Config *sc;
+ sc = parse_slideshow_config();
image_path = ecore_dlist_goto_first(current_thumbs);
if (!image_path) return;
window = ewl_window_new();
- ewl_window_fullscreen_set(EWL_WINDOW(window), 1);
+ ewl_window_title_set(EWL_WINDOW(window), "Ephoto Slideshow");
+ ewl_window_name_set(EWL_WINDOW(window), "Ephoto Slideshow");
+ if (sc->full_size)
+ ewl_window_fullscreen_set(EWL_WINDOW(window), 1);
+ if (sc->custom_size)
+ ewl_object_maximum_size_set(EWL_OBJECT(window), sc->w_size, sc->h_size);
ewl_callback_append(window, EWL_CALLBACK_DELETE_WINDOW, destroy_slideshow,
NULL);
ewl_callback_append(window, EWL_CALLBACK_CLICKED, destroy_slideshow, NULL);
ewl_widget_show(window);
@@ -86,13 +94,93 @@
image = ewl_image_new();
ewl_image_file_set(EWL_IMAGE(image), image_path, NULL);
- ewl_object_fill_policy_set(EWL_OBJECT(image), EWL_FLAG_FILL_ALL);
+ if (sc->zoom)
+ ewl_object_fill_policy_set(EWL_OBJECT(image), EWL_FLAG_FILL_ALL);
+ else
+ ewl_object_fill_policy_set(EWL_OBJECT(image), EWL_FLAG_FILL_SHRINK);
+ if (sc->keep_aspect)
+ ewl_image_proportional_set(EWL_IMAGE(image), TRUE);
ewl_container_child_append(EWL_CONTAINER(cell), image);
ewl_widget_show(image);
- timer = ecore_timer_add(3, change_picture, image);
+ timer = ecore_timer_add(sc->length, change_picture, image);
}
+Slide_Config *parse_slideshow_config()
+{
+ char path[PATH_MAX];
+ FILE *file;
+ char text[PATH_MAX];
+ char *temp;
+ Slide_Config *sc;
+
+ sc = calloc(1, sizeof(Slide_Config));
+ snprintf(path, PATH_MAX, "%s/.ephoto/slideshow_config", getenv("HOME"));
+
+ if (!ecore_file_exists(path)) return;
+
+ file = fopen(path, "r");
+
+ if (file != NULL)
+ {
+ while(fgets(text,PATH_MAX,file)!=NULL)
+ {
+ if(!strncmp(text, "Fullscreen", 10))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->full_size = atoi(temp);
+ }
+ if(!strncmp(text, "Custom", 6))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->custom_size = atoi(temp);
+ }
+ if(!strncmp(text, "Width", 5))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->w_size = atoi(temp);
+ }
+ if(!strncmp(text, "Height", 6))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->h_size = atoi(temp);
+ }
+ if(!strncmp(text, "Random", 6))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->random_order = atoi(temp);
+ }
+ if(!strncmp(text, "Loop", 4))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->loop_slide = atoi(temp);
+ }
+ if(!strncmp(text, "Zoom", 4))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->zoom = atoi(temp);
+ }
+ if(!strncmp(text, "Aspect", 6))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->keep_aspect = atoi(temp);
+ }
+ if(!strncmp(text, "Length", 6))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->length = atoi(temp);
+ }
+ if(!strncmp(text, "FileName", 8))
+ {
+ temp = strrchr(text, '=')+1;
+ sc->name_show = atoi(temp);
+ }
+ }
+ fclose(file);
+ }
+ return(sc);
+}
+
void config_cancel(Ewl_Widget *w, void *event, void *data)
{
Ewl_Widget *win;
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs