Enlightenment CVS committal Author : titan Project : e17 Module : proto
Dir : e17/proto/ephoto/src Modified Files: ephoto.c ephoto.h ephoto_callbacks.c Log Message: MUCHO GRANDE WORK! New look.. Browser is now completely usable. =================================================================== RCS file: /cvs/e/e17/proto/ephoto/src/ephoto.c,v retrieving revision 1.69 retrieving revision 1.70 diff -u -3 -r1.69 -r1.70 --- ephoto.c 6 Sep 2006 00:48:56 -0000 1.69 +++ ephoto.c 6 Sep 2006 02:34:46 -0000 1.70 @@ -1,5 +1,6 @@ #include "ephoto.h" Main *m; +char *current_directory; int main(int argc, char **argv) @@ -18,6 +19,7 @@ } home = getenv("HOME"); + current_directory = strdup(home); snprintf(ephoto_path, PATH_MAX, "%s/.ephoto", home); snprintf(ephoto_complete, PATH_MAX, "%s/Complete Library", ephoto_path); m = calloc(1, sizeof(Main)); @@ -35,9 +37,9 @@ } m->win = ewl_window_new(); - ewl_window_title_set(EWL_WINDOW(m->win), "ephoto"); - ewl_window_name_set(EWL_WINDOW(m->win), "ephoto"); - ewl_object_size_request(EWL_OBJECT(m->win), 580, 480); + ewl_window_title_set(EWL_WINDOW(m->win), "Ephoto"); + ewl_window_name_set(EWL_WINDOW(m->win), "Ephoto"); + ewl_object_size_request(EWL_OBJECT(m->win), 615, 470); ewl_callback_append(m->win, EWL_CALLBACK_DELETE_WINDOW, destroy_cb, NULL); ewl_widget_show(m->win); @@ -83,7 +85,7 @@ icon_theme_path = ewl_icon_theme_icon_path_get(EWL_ICON_GO_UP, EWL_ICON_SIZE_MEDIUM); ewl_image_file_set(EWL_IMAGE(m->image), icon_theme_path, NULL); - //ewl_callback_append(m->image, EWL_CALLBACK_CLICKED, go_up, NULL); + ewl_callback_append(m->image, EWL_CALLBACK_CLICKED, go_up, NULL); ewl_widget_show(m->image); m->image = ewl_image_new(); @@ -91,7 +93,7 @@ icon_theme_path = ewl_icon_theme_icon_path_get(EWL_ICON_GO_HOME, EWL_ICON_SIZE_MEDIUM); ewl_image_file_set(EWL_IMAGE(m->image), icon_theme_path, NULL); - //ewl_callback_append(m->image, EWL_CALLBACK_CLICKED, go_home, NULL); + ewl_callback_append(m->image, EWL_CALLBACK_CLICKED, go_home, NULL); ewl_widget_show(m->image); m->text = ewl_text_new(); @@ -101,7 +103,7 @@ ewl_widget_show(m->text); m->entry = ewl_entry_new(); - ewl_text_text_set(EWL_TEXT(m->entry), home); + ewl_text_text_set(EWL_TEXT(m->entry), current_directory); ewl_container_child_append(EWL_CONTAINER(m->hbox), m->entry); ewl_widget_show(m->entry); @@ -111,7 +113,7 @@ ewl_object_fill_policy_set(EWL_OBJECT(m->hseparator), EWL_FLAG_FILL_ALL); ewl_widget_show(m->hseparator); - m->hpaned = ewl_hpaned_new(); + m->hpaned = ewl_hbox_new(); ewl_object_alignment_set(EWL_OBJECT(m->hpaned), EWL_FLAG_ALIGN_CENTER); ewl_container_child_append(EWL_CONTAINER(m->vbox), m->hpaned); ewl_object_fill_policy_set(EWL_OBJECT(m->hpaned), EWL_FLAG_FILL_ALL); @@ -120,7 +122,8 @@ m->groups = ewl_vbox_new(); ewl_container_child_append(EWL_CONTAINER(m->hpaned), m->groups); ewl_object_fill_policy_set(EWL_OBJECT(m->groups), EWL_FLAG_FILL_ALL); - ewl_object_size_request(EWL_OBJECT(m->groups), 30, 250); + ewl_object_size_request(EWL_OBJECT(m->groups), 220, 250); + ewl_object_maximum_size_set(EWL_OBJECT(m->groups), 195, 999999); ewl_widget_show(m->groups); m->browser = ewl_tree_new(1); @@ -128,6 +131,7 @@ ewl_object_fill_policy_set(EWL_OBJECT(m->browser), EWL_FLAG_FILL_ALL); ewl_tree_headers_visible_set(EWL_TREE(m->browser), 0); ewl_tree_expandable_rows_set(EWL_TREE(m->browser), FALSE); + ewl_object_size_request(EWL_OBJECT(m->groups), 220, 250); ewl_widget_show(m->browser); m->hseparator = ewl_hseparator_new(); @@ -142,7 +146,7 @@ ewl_container_child_append(EWL_CONTAINER(m->groups), m->albums_border); ewl_object_alignment_set(EWL_OBJECT(m->albums_border), EWL_FLAG_ALIGN_CENTER); ewl_object_fill_policy_set(EWL_OBJECT(m->albums_border), EWL_FLAG_FILL_ALL); - ewl_object_maximum_size_set(EWL_OBJECT(m->albums_border), 999999, 250); + ewl_object_size_request(EWL_OBJECT(m->albums_border), 220, 250); ewl_widget_show(m->albums_border); m->albums = ewl_tree_new(1); @@ -150,9 +154,13 @@ ewl_object_fill_policy_set(EWL_OBJECT(m->albums), EWL_FLAG_FILL_ALL); ewl_tree_headers_visible_set(EWL_TREE(m->albums), 0); ewl_tree_expandable_rows_set(EWL_TREE(m->albums), FALSE); - ewl_object_maximum_size_set(EWL_OBJECT(m->albums), 999999, 250); + ewl_object_size_request(EWL_OBJECT(m->albums), 220, 250); ewl_widget_show(m->albums); + m->vsep = ewl_vseparator_new(); + ewl_container_child_append(EWL_CONTAINER(m->hpaned), m->vsep); + ewl_widget_show(m->vsep); + m->viewer = ewl_scrollpane_new(); ewl_container_child_append(EWL_CONTAINER(m->hpaned), m->viewer); ewl_object_fill_policy_set(EWL_OBJECT(m->viewer), EWL_FLAG_FILL_ALL); @@ -166,6 +174,8 @@ ewl_callback_append(m->albums, EWL_CALLBACK_SHOW, populate_albums, NULL); ewl_callback_append(m->browser, EWL_CALLBACK_SHOW, populate_browser, home); + ewl_widget_name_set(m->browser, current_directory); + populate_images(m->browser, NULL, NULL); ewl_main(); return 0; =================================================================== RCS file: /cvs/e/e17/proto/ephoto/src/ephoto.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- ephoto.h 6 Sep 2006 00:48:56 -0000 1.34 +++ ephoto.h 6 Sep 2006 02:34:46 -0000 1.35 @@ -14,6 +14,8 @@ void populate_albums(Ewl_Widget *w, void *event, void *data); void populate_browser(Ewl_Widget *w, void *event, void *data); void populate_images(Ewl_Widget *w, void *event, void *data); +void go_up(Ewl_Widget *w, void *event, void *data); +void go_home(Ewl_Widget *w, void *event, void *data); typedef struct _Main Main; @@ -35,6 +37,7 @@ Ewl_Widget *viewer; Ewl_Widget *viewer_border; Ewl_Widget *viewer_freebox; + Ewl_Widget *vsep; Ewl_Widget *image; Ewl_Widget *icon; Ewl_Widget *text; @@ -42,5 +45,6 @@ }; extern Main *m; +extern char *current_directory; #endif =================================================================== RCS file: /cvs/e/e17/proto/ephoto/src/ephoto_callbacks.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- ephoto_callbacks.c 6 Sep 2006 00:48:56 -0000 1.13 +++ ephoto_callbacks.c 6 Sep 2006 02:34:46 -0000 1.14 @@ -80,6 +80,8 @@ Ewl_Widget *row; directory = data; + current_directory = strdup(directory); + ewl_text_text_set(EWL_TEXT(m->entry), current_directory); ls = ecore_list_new(); directories = ecore_list_new(); @@ -89,14 +91,17 @@ while (!ecore_list_is_empty(ls)) { file = ecore_list_remove_first(ls); - if (ecore_file_is_dir(file) && strncmp(file, ".", 1)) - ecore_list_append(directories, file); + if (strcmp(directory, "/")) + snprintf(full_path, PATH_MAX, "%s/%s", directory, file); + else + snprintf(full_path, PATH_MAX, "%s%s", directory, file); + if (ecore_file_is_dir(full_path) && strncmp(file, ".", 1)) + ecore_list_append(directories, strdup(full_path)); } while (!ecore_list_is_empty(directories)) { file = ecore_list_remove_first(directories); - snprintf(full_path, PATH_MAX, "%s/%s", directory, file); hbox = ewl_hbox_new(); ewl_object_alignment_set(EWL_OBJECT(hbox), EWL_FLAG_ALIGN_CENTER); @@ -112,7 +117,7 @@ ewl_widget_show(image); text = ewl_text_new(); - ewl_text_text_set(EWL_TEXT(text), file); + ewl_text_text_set(EWL_TEXT(text), basename(file)); ewl_object_fill_policy_set(EWL_OBJECT(text), EWL_FLAG_FILL_ALL); ewl_object_alignment_set(EWL_OBJECT(text), EWL_FLAG_ALIGN_CENTER); ewl_container_child_append(EWL_CONTAINER(hbox), text); @@ -123,7 +128,7 @@ row = ewl_tree_row_add(EWL_TREE(m->browser), NULL, children); ewl_callback_append(row, EWL_CALLBACK_CLICKED, populate_images, NULL); - ewl_widget_name_set(row, full_path); + ewl_widget_name_set(row, file); } } @@ -143,6 +148,10 @@ if (ecore_file_is_dir(dir)) { + ewl_container_reset(EWL_CONTAINER(m->browser)); + ewl_container_reset(EWL_CONTAINER(m->viewer_freebox)); + populate_browser(NULL, NULL, strdup((char *)dir)); + ls = ecore_file_ls(dir); while(!ecore_list_is_empty(ls)) { @@ -171,6 +180,7 @@ } else { + ewl_container_reset(EWL_CONTAINER(m->viewer_freebox)); file_ptr = fopen(dir, "r"); if (file_ptr != NULL) { @@ -195,4 +205,23 @@ ewl_container_child_append(EWL_CONTAINER(m->viewer_freebox), m->icon); ewl_widget_show(m->icon); } +} + +void go_up(Ewl_Widget *w, void *event, void *data) +{ + char *new_dir; + if (strcmp(current_directory, "/")) + { + new_dir = dirname(current_directory); + ewl_widget_name_set(m->viewer_freebox, new_dir); + populate_images(m->viewer_freebox, NULL, NULL); + } +} + +void go_home(Ewl_Widget *w, void *event, void *data) +{ + char *new_dir; + new_dir = getenv("HOME"); + ewl_widget_name_set(m->viewer_freebox, new_dir); + populate_images(m->viewer_freebox, NULL, NULL); } ------------------------------------------------------------------------- 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