Enlightenment CVS committal

Author  : titansoccer15
Project : e17
Module  : proto

Dir     : e17/proto/ephoto/src


Modified Files:
        ephoto.c ephoto.h ephoto_browsing.c ephoto_presentation.c 


Log Message:

This adds an image viewer to ephoto. You can view images and add them to the 
slideshow while viewing them. look++ functionality++.

===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/ephoto/src/ephoto.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ephoto.c    25 Feb 2006 06:53:55 -0000      1.4
+++ ephoto.c    15 Mar 2006 04:22:37 -0000      1.5
@@ -1,4 +1,3 @@
-
 #include "ephoto.h"
 
 /***Global Defs***/
@@ -103,12 +102,46 @@
        ewl_object_maximum_size_set(EWL_OBJECT(m->audiotree), 200, 160);
        ewl_widget_show(m->audiotree);
        
+       m->notebook = ewl_notebook_new();
+       ewl_notebook_tabbar_position_set(EWL_NOTEBOOK(m->notebook), 
EWL_POSITION_TOP);
+       ewl_container_child_append(EWL_CONTAINER(m->hbox), m->notebook);
+       ewl_object_alignment_set(EWL_OBJECT(m->notebook), 
EWL_FLAG_ALIGN_CENTER);
+       ewl_object_fill_policy_set(EWL_OBJECT(m->notebook), EWL_FLAG_FILL_ALL);
+       ewl_widget_show(m->notebook);
+       
+       m->viewbox = ewl_vbox_new();
+       ewl_container_child_append(EWL_CONTAINER(m->notebook), m->viewbox);
+       ewl_object_alignment_set(EWL_OBJECT(m->viewbox), EWL_FLAG_ALIGN_CENTER);
+       ewl_box_spacing_set(EWL_BOX(m->viewbox), 10);
+       ewl_object_fill_policy_set(EWL_OBJECT(m->viewbox), EWL_FLAG_FILL_ALL);
+       ewl_widget_show(m->viewbox);
+       
+       m->vimage = ewl_image_new();
+       ewl_object_fill_policy_set(EWL_OBJECT(m->vimage), EWL_FLAG_FILL_ALL);
+       ewl_image_proportional_set(EWL_IMAGE(m->vimage), TRUE);
+       ewl_container_child_append(EWL_CONTAINER(m->viewbox), m->vimage);
+       ewl_widget_show(m->vimage);
+       
+       m->vbutton = ewl_button_new();
+       ewl_button_label_set(EWL_BUTTON(m->vbutton), "Add image to slideshow");
+       ewl_container_child_append(EWL_CONTAINER(m->viewbox), m->vbutton);
+       ewl_object_maximum_size_set(EWL_OBJECT(m->vbutton), 150 , 25);
+       ewl_object_alignment_set(EWL_OBJECT(m->vbutton), EWL_FLAG_ALIGN_CENTER);
+       ewl_callback_append(m->vbutton, EWL_CALLBACK_CLICKED, images_cb, NULL);
+       ewl_widget_disable(m->vbutton);
+       ewl_widget_state_set(m->vbutton, "disabled");
+       ewl_widget_show(m->vbutton);
+       
+       ewl_notebook_page_tab_text_set(EWL_NOTEBOOK(m->notebook), m->viewbox, 
"View Image");    
+       
        m->vbox2 = ewl_vbox_new();
-       ewl_container_child_append(EWL_CONTAINER(m->hbox), m->vbox2);
+       ewl_container_child_append(EWL_CONTAINER(m->notebook), m->vbox2);
        ewl_object_alignment_set(EWL_OBJECT(m->vbox2), EWL_FLAG_ALIGN_CENTER);
        ewl_box_spacing_set(EWL_BOX(m->vbox2), 10);
        ewl_object_size_request(EWL_OBJECT(m->vbox2), 20, 400);
        ewl_widget_show(m->vbox2);
+       
+       ewl_notebook_page_tab_text_set(EWL_NOTEBOOK(m->notebook), m->vbox2, 
"Slideshow/Presentation");
 
        m->content = ewl_border_new();
        ewl_border_text_set(EWL_BORDER(m->content), "Content");
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/ephoto/src/ephoto.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ephoto.h    22 Feb 2006 06:30:25 -0000      1.4
+++ ephoto.h    15 Mar 2006 04:22:37 -0000      1.5
@@ -21,11 +21,11 @@
 void previous_cb(Ewl_Widget *w, void *event, void *data);
 void next_cb(Ewl_Widget *w, void *event, void *data);
 void first_cb(Ewl_Widget *w, void *event, void *data);
- void slideshow_cb(Ewl_Widget *w, void *event, void *data);
+void slideshow_cb(Ewl_Widget *w, void *event, void *data);
 int _change_picture_cb(void *data);
 void destroyp_cb(Ewl_Widget *w, void *event, void *data);
 void destroys_cb(Ewl_Widget *w, void *event, void *data);
- void destroy_cb(Ewl_Widget *w, void *event, void *data);
+void destroy_cb(Ewl_Widget *w, void *event, void *data);
 void populatei_cb(Ewl_Widget *w, void *event, void *data);
 void populatea_cb(Ewl_Widget *w, void *event, void *data);
 void images_cb(Ewl_Widget *w, void *event, void *data);
@@ -78,6 +78,10 @@
        Ewl_Widget  *audiolen;
        Ewl_Widget  *loopcheck;
        Ewl_Widget  *i;
+       Ewl_Widget  *notebook;
+       Ewl_Widget  *vimage;
+       Ewl_Widget  *viewbox;
+       Ewl_Widget  *vbutton;
        Ecore_List  *imagelist;
        Ecore_List  *presentlist;
 };
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/ephoto/src/ephoto_browsing.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- ephoto_browsing.c   25 Feb 2006 06:53:55 -0000      1.8
+++ ephoto_browsing.c   15 Mar 2006 04:22:37 -0000      1.9
@@ -434,30 +434,47 @@
        char imagedb[PATH_MAX];
        char tempcheck[PATH_MAX];
        char equiv[PATH_MAX];
+       Ewl_Widget *page;
        /********************************************************/
-       pathi = ewl_widget_name_get(w);
-       name = basename(pathi);
-       
-       /**********Add the images to the iconbox and list**********/
-       m->i = ewl_iconbox_icon_add(EWL_ICONBOX(m->ib), name, pathi);
-       ewl_callback_append(m->i, EWL_CALLBACK_CLICKED, iremove_cb, NULL);
-       ewl_widget_name_set(m->i, pathi);
+       if ( w == m->vbutton ) {
+               pathi = ewl_image_file_path_get(EWL_IMAGE(m->vimage));
+               name = basename(pathi);
+       }
        
-       ewl_iconbox_icon_arrange(EWL_ICONBOX(m->ib));
+       else {
+               pathi = ewl_widget_name_get(w);
+               name = basename(pathi);
+       }
        
-       ecore_dlist_append(m->imagelist, strdup(pathi));
-       slidenum++;
+       page = ewl_notebook_visible_page_get(EWL_NOTEBOOK(m->notebook));
        
-       //home = getenv("HOME");
-       //snprintf(imagedb, PATH_MAX, "%s/ephoto_images", home);
-       //printf("%s\n", imagedb);
-       //snprintf(tempcheck, PATH_MAX, "%s/%s", imagedb, name);
-       //printf("%s\n", tempcheck);
-       //if ( !ecore_file_exists(tempcheck) ) {
-       //      snprintf(equiv, PATH_MAX, "%s", pathi);
-       //      printf("%s\n", equiv);
-       //      ecore_file_cp(equiv, tempcheck);
-       //}
+       /**********Add the images to the iconbox and list**********/
+       if ( page == m->vbox2 || w == m->vbutton ) {
+               m->i = ewl_iconbox_icon_add(EWL_ICONBOX(m->ib), name, pathi);
+               ewl_callback_append(m->i, EWL_CALLBACK_CLICKED, iremove_cb, 
NULL);
+               ewl_widget_name_set(m->i, pathi);
+               
+               ewl_iconbox_icon_arrange(EWL_ICONBOX(m->ib));
+               
+               ecore_dlist_append(m->imagelist, strdup(pathi));
+               slidenum++;
+               
+               //home = getenv("HOME");
+               //snprintf(imagedb, PATH_MAX, "%s/ephoto_images", home);
+               //printf("%s\n", imagedb);
+               //snprintf(tempcheck, PATH_MAX, "%s/%s", imagedb, name);
+               //printf("%s\n", tempcheck);
+               //if ( !ecore_file_exists(tempcheck) ) {
+               //      snprintf(equiv, PATH_MAX, "%s", pathi);
+               //      printf("%s\n", equiv);
+               //      ecore_file_cp(equiv, tempcheck);
+               //}
+       }
+       if ( page == m->viewbox && w != m->vbutton ) {
+               ewl_image_file_set(EWL_IMAGE(m->vimage), pathi, NULL);
+               ewl_widget_enable(m->vbutton);
+               ewl_widget_state_set(m->vbutton, "enabled");
+       }
        /**********************************************************/
 
        /****Enable the slideshow and presentation buttons so we can get to 
work****/
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/ephoto/src/ephoto_presentation.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- ephoto_presentation.c       23 Feb 2006 05:31:54 -0000      1.5
+++ ephoto_presentation.c       15 Mar 2006 04:22:37 -0000      1.6
@@ -37,6 +37,7 @@
                s->text = NULL;
        }
        s->screen = ewl_image_new();
+       ewl_image_proportional_set(EWL_IMAGE(s->screen), TRUE);
        ewl_theme_data_str_set(s->screen, "/image/group", "entry");
        ewl_image_file_set(EWL_IMAGE(s->screen), picture1, NULL);
        ewl_object_alignment_set(EWL_OBJECT(s->screen), EWL_FLAG_ALIGN_CENTER);
@@ -57,6 +58,7 @@
                hsize = ewl_text_text_get(EWL_TEXT(m->hsize));
                h = atoi(hsize);
                s->screen = ewl_image_new();
+               ewl_image_proportional_set(EWL_IMAGE(s->screen), TRUE);
                ewl_theme_data_str_set(s->screen, "/image/group", "entry");
                ewl_object_fill_policy_set(EWL_OBJECT(s->screen), 
EWL_FLAG_FILL_SHRINK);
                ewl_image_file_set(EWL_IMAGE(s->screen), picture2, NULL);
@@ -178,6 +180,7 @@
        /*******************************************************************/
        pic1 = ecore_dlist_goto_first(m->imagelist);
        s->screen = ewl_image_new();
+       ewl_image_proportional_set(EWL_IMAGE(s->screen), TRUE);
        ewl_theme_data_str_set(s->screen, "/image/group", "entry");
        ewl_image_file_set(EWL_IMAGE(s->screen), pic1, NULL);
        ewl_object_alignment_set(EWL_OBJECT(s->screen), EWL_FLAG_ALIGN_CENTER);




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to