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

Reply via email to