Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : proto

Dir     : e17/proto/exhibit/src/bin


Modified Files:
        exhibit.h exhibit_file.h exhibit_image.c exhibit_main.c 
        exhibit_main.h exhibit_tab.c exhibit_thumb.c 


Log Message:
exhibit:
- cleanup(s)
- allow exhit /path/to/file to directly select and display that file.


===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- exhibit.h   26 Dec 2005 14:28:55 -0000      1.8
+++ exhibit.h   1 Jan 2006 23:49:22 -0000       1.9
@@ -117,9 +117,10 @@
 struct _Ex_Thumb
 {
    Exhibit  *e;
-   char    *name;
-   char    *image;
-   Epsilon *ep;
+   char     *name;
+   char     *image;
+   Etk_Bool  selected;
+   Epsilon  *ep;
 };
 
 #define WINDOW_TITLE "Exhibit"
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_file.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- exhibit_file.h      23 Dec 2005 09:46:14 -0000      1.3
+++ exhibit_file.h      1 Jan 2006 23:49:22 -0000       1.4
@@ -4,5 +4,6 @@
 int         _ex_file_is_ebg(char *file);
 int         _ex_file_is_viewable(char *file);
 char       *_ex_file_strip_extention(char *path);
-
+char       *_ex_file_get(char *path);
+    
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_image.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- exhibit_image.c     28 Dec 2005 11:14:17 -0000      1.16
+++ exhibit_image.c     1 Jan 2006 23:49:22 -0000       1.17
@@ -41,7 +41,7 @@
        if (ev->z > 0)
          {
             row = etk_tree_next_row_get(
-                      etk_tree_selected_row_get(e->cur_tab->itree), 
+                      etk_tree_selected_row_get(ETK_TREE(e->cur_tab->itree)),
                       FALSE, FALSE);
             etk_tree_row_select(row);
             etk_tree_row_scroll_to(row, FALSE);
@@ -49,7 +49,7 @@
        else
          {
             row = etk_tree_prev_row_get(
-                      etk_tree_selected_row_get(e->cur_tab->itree), 
+                      etk_tree_selected_row_get(ETK_TREE(e->cur_tab->itree)),
                       FALSE, FALSE);
             etk_tree_row_select(row);       
             etk_tree_row_scroll_to(row, FALSE);             
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_main.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- exhibit_main.c      1 Jan 2006 13:23:50 -0000       1.27
+++ exhibit_main.c      1 Jan 2006 23:49:22 -0000       1.28
@@ -220,7 +220,7 @@
    e->cur_tab->dir = strdup(dcol_string);
    etk_tree_clear(ETK_TREE(e->cur_tab->itree));
    etk_tree_clear(ETK_TREE(e->cur_tab->dtree));
-   _ex_main_populate_files(e);
+   _ex_main_populate_files(e, NULL);
    etk_notebook_page_tab_label_set(ETK_NOTEBOOK(e->notebook), e->cur_tab->num, 
_ex_file_get(e->cur_tab->cur_path));
 }
 
@@ -364,15 +364,14 @@
 }
 
 void
-_ex_main_populate_files(Exhibit *e)
+_ex_main_populate_files(Exhibit *e, char *selected_file)
 {
    char back[PATH_MAX];
    DIR *dir;
    struct dirent *dir_entry;
+   Etk_Tree_Row *row, *selected_row;
 
-//   etk_tree_freeze(ETK_TREE(e->cur_tab->itree));
-//   etk_tree_freeze(ETK_TREE(e->cur_tab->dtree));
-
+   selected_row = NULL;
    snprintf(back, PATH_MAX, "..");
    etk_tree_append(ETK_TREE(e->cur_tab->dtree), e->cur_tab->dcol, 
                   ETK_DEFAULT_ICON_SET_FILE, "actions/go-up", back, NULL);
@@ -431,7 +430,10 @@
             char *thumb;
 
             thumb = (char*)epsilon_thumb_file_get(ep);
-            etk_tree_append(ETK_TREE(e->cur_tab->itree), e->cur_tab->icol, 
thumb, dir_entry->d_name, NULL);
+            row = etk_tree_append(ETK_TREE(e->cur_tab->itree), 
e->cur_tab->icol, thumb, dir_entry->d_name, NULL);
+            if(selected_file)                                    
+              if(!strcmp(selected_file, dir_entry->d_name))
+                selected_row = row;                         
             free(thumb);
          }
        else {
@@ -442,6 +444,10 @@
           thumb->e = e;
           thumb->name = strdup(dir_entry->d_name);
           thumb_list = evas_list_append(thumb_list, thumb);
+          if(!strcmp(selected_file, dir_entry->d_name))
+            thumb->selected = TRUE;
+          else
+            thumb->selected = FALSE;
           if(pid == -1) _ex_thumb_generate();
        }
      }
@@ -450,6 +456,12 @@
    etk_tree_thaw(ETK_TREE(e->cur_tab->dtree));
    etk_tree_sort(ETK_TREE(e->cur_tab->dtree), _ex_main_dtree_compare_cb, TRUE, 
e->cur_tab->dcol, NULL);
 
+   if(selected_row)
+     {
+       etk_tree_row_select(selected_row);
+       etk_tree_row_scroll_to(selected_row, TRUE);
+     }
+   
    closedir(dir);
 }
 
@@ -467,7 +479,7 @@
         e->cur_tab->dir = 
strdup((char*)etk_entry_text_get(ETK_ENTRY(e->entry[0])));
         etk_tree_clear(ETK_TREE(e->cur_tab->itree));
         etk_tree_clear(ETK_TREE(e->cur_tab->dtree));
-        _ex_main_populate_files(e);
+        _ex_main_populate_files(e, NULL);
      }
 }
 
@@ -488,7 +500,7 @@
        Evas_List *l;
        
        path = etk_entry_text_get(ETK_ENTRY(e->entry[0]));
-       dir = ecore_file_get_dir(path);
+       dir = (const char*)ecore_file_get_dir((char*)path);
        file = ecore_file_get_file(path);
        
        if(!dir || !strcmp(dir, ""))
@@ -549,7 +561,7 @@
         e->cur_tab->dir = 
strdup((char*)etk_entry_text_get(ETK_ENTRY(e->entry[0])));
         etk_tree_clear(ETK_TREE(e->cur_tab->itree));
         etk_tree_clear(ETK_TREE(e->cur_tab->dtree));
-        _ex_main_populate_files(e);
+        _ex_main_populate_files(e, NULL);
      }
 }
 
@@ -563,7 +575,7 @@
    e->cur_tab->dir = strdup((char*)etk_entry_text_get(ETK_ENTRY(e->entry[0])));
    etk_tree_clear(ETK_TREE(e->cur_tab->itree));
    etk_tree_clear(ETK_TREE(e->cur_tab->dtree));
-   _ex_main_populate_files(e);
+   _ex_main_populate_files(e, NULL);
 }
 
 Etk_Bool
@@ -595,7 +607,7 @@
             
             tab = _ex_tab_new(e, e->cur_tab->cur_path);
             _ex_main_window_tab_append(e, tab);
-            _ex_main_populate_files(e);
+            _ex_main_populate_files(e, NULL);
          }
        else if(!strcmp(ev->key, "w"))
          {
@@ -619,7 +631,7 @@
    Ex_Tab  *tab;
    
    e = data;
-   tab = evas_list_nth(e->tabs, 
etk_notebook_current_page_get(ETK_WIDGET(object)));
+   tab = evas_list_nth(e->tabs, 
etk_notebook_current_page_get(ETK_NOTEBOOK(object)));
 
    e->cur_tab = tab;
    _ex_tab_select(tab);
@@ -648,7 +660,7 @@
    e->tabs = evas_list_append(e->tabs, tab);
    e->cur_tab = tab;
    etk_notebook_page_append(ETK_NOTEBOOK(e->notebook), 
_ex_file_get(e->cur_tab->dir), e->cur_tab->scrolled_view);
-   etk_notebook_current_page_set(e->notebook, evas_list_count(e->tabs) - 1);
+   etk_notebook_current_page_set(ETK_NOTEBOOK(e->notebook), 
evas_list_count(e->tabs) - 1);
 }
 
 void
@@ -656,11 +668,15 @@
 {
    Exhibit *e;
    Ex_Tab  *tab;
+   char    *file;
 
    e = calloc(1, sizeof(Exhibit));
    e->mouse.down = 0;
    e->menu = NULL;
    e->tabs = NULL;
+
+   file = NULL;
+   tab = NULL;
    
    e->win = etk_window_new();
    etk_window_title_set(ETK_WINDOW(e->win), WINDOW_TITLE " - Image Viewing the 
Kewl Way!");
@@ -806,12 +822,25 @@
    etk_signal_connect("clicked", ETK_OBJECT(e->entry[1]), 
ETK_CALLBACK(_ex_main_goto_dir_clicked_cb), e);
    
    /* create first tab but dont place it in notebook */
-   tab = _ex_tab_new(e, dir);   
+   if(ecore_file_is_dir(dir))               
+     tab = _ex_tab_new(e, dir);   
+   else if(ecore_file_exists(dir))
+     {      
+       char *dir2;
+       
+       dir2 = ecore_file_get_dir(dir);
+       tab = _ex_tab_new(e, dir2);
+       free(dir2);
+       file = (const char*)ecore_file_get_file((const char*)dir);
+     }   
+   else     
+     tab = _ex_tab_new(e, ".");
+       
    e->cur_tab = tab;   
    e->tabs = evas_list_append(e->tabs, tab);   
    _ex_tab_select(tab);
    etk_paned_add2(ETK_PANED(tab->e->hpaned), tab->scrolled_view, TRUE);   
-   _ex_main_populate_files(e);
+   _ex_main_populate_files(e, file);
       
    e->hbox = etk_hbox_new(TRUE, 0);   
    etk_box_pack_end(ETK_BOX(e->vbox), e->hbox, FALSE, FALSE, 0);
@@ -868,12 +897,7 @@
    
    epsilon_init();
    if(argc > 1)
-     {
-       if(ecore_file_is_dir(argv[1]))
-         _ex_main_window_show(argv[1]);
-       else
-         _ex_main_window_show(NULL);
-     }
+     _ex_main_window_show(argv[1]);     
    else
      _ex_main_window_show(NULL);   
      
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_main.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- exhibit_main.h      26 Dec 2005 12:17:29 -0000      1.4
+++ exhibit_main.h      1 Jan 2006 23:49:22 -0000       1.5
@@ -14,7 +14,7 @@
 int          _ex_main_itree_resol_compare_cb(Etk_Tree *tree, Etk_Tree_Row 
*row1, Etk_Tree_Row *row2, Etk_Tree_Col *col, void *data);
 void         _ex_main_dtree_item_clicked_cb(Etk_Object *object, Etk_Tree_Row 
*row, void *data);
 int          _ex_main_dtree_compare_cb(Etk_Tree *tree, Etk_Tree_Row *row1, 
Etk_Tree_Row *row2, Etk_Tree_Col *col, void *data);
-void         _ex_main_populate_files(Exhibit *e);
+void         _ex_main_populate_files(Exhibit *e, char *selected_file);
 void         _ex_main_entry_dir_key_down_cb(Etk_Object *object, void *event, 
void *data);
 void         _ex_main_goto_dir_clicked_cb(Etk_Object *object, void *data);
 Etk_Bool     _ex_main_window_deleted_cb(void *data);
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_tab.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- exhibit_tab.c       28 Dec 2005 11:14:18 -0000      1.4
+++ exhibit_tab.c       1 Jan 2006 23:49:22 -0000       1.5
@@ -4,8 +4,10 @@
 _ex_tab_new(Exhibit *e, char *dir)
 {
    Ex_Tab *tab;
-   Etk_Tree_Model *imodel;   
+   Etk_Tree_Model *imodel;
+   char *file;
    
+   file = NULL;
    tab = calloc(1, sizeof(Ex_Tab));   
    tab->num = evas_list_count(e->tabs);
    tab->dirs = NULL;
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_thumb.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- exhibit_thumb.c     26 Dec 2005 12:17:30 -0000      1.4
+++ exhibit_thumb.c     1 Jan 2006 23:49:22 -0000       1.5
@@ -22,8 +22,15 @@
 
    if (ext)
      {
+       Etk_Tree_Row *row;
+       
        thumb->image = (char*)epsilon_thumb_file_get(thumb->ep);
-       etk_tree_append(ETK_TREE(thumb->e->cur_tab->itree), 
thumb->e->cur_tab->icol, thumb->image, thumb->name, NULL);
+       row = etk_tree_append(ETK_TREE(thumb->e->cur_tab->itree), 
thumb->e->cur_tab->icol, thumb->image, thumb->name, NULL);
+       if(thumb->selected)
+         {
+            etk_tree_row_select(row);
+            etk_tree_row_scroll_to(row, TRUE);      
+         }
        free(thumb->image);
        free(thumb->name);
        epsilon_free(thumb->ep);




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to