Enlightenment CVS committal

Author  : lordchaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/plugins


Modified Files:
        etk_list_viewer.c etk_structure_viewer.c 


Log Message:
* Click headers to sort for filename and size (date modified coming soon)
* Only go to dir on right mouse button click

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/proto/entropy/src/plugins/etk_list_viewer.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- etk_list_viewer.c   26 Feb 2006 05:56:06 -0000      1.21
+++ etk_list_viewer.c   27 Feb 2006 08:01:59 -0000      1.22
@@ -80,6 +80,44 @@
 }
 
 
+/* Compares two rows of the tree */
+static int _entropy_etk_list_filename_compare_cb(Etk_Tree *tree, Etk_Tree_Row 
*row1, Etk_Tree_Row *row2, Etk_Tree_Col *col, void *data)
+{
+   char *row1_value, *row2_value;
+   
+   if (!tree || !row1 || !row2 || !col)
+      return 0;
+   
+   etk_tree_row_fields_get(row1, col, &row1_value, NULL);
+   etk_tree_row_fields_get(row2, col, &row2_value, NULL);
+
+   return strcmp(row1_value, row2_value);
+}
+
+/* Compares two rows of the tree */
+static int _entropy_etk_list_size_compare_cb(Etk_Tree *tree, Etk_Tree_Row 
*row1, Etk_Tree_Row *row2, Etk_Tree_Col *col, void *data)
+{
+   gui_file *file1, *file2;
+   
+   if (!tree || !row1 || !row2 || !col)
+      return 0;
+   
+   file1 = ecore_hash_get(row_hash, row1);
+   file2 = ecore_hash_get(row_hash, row2);
+   
+   if (file1 && file2) {
+          if (file1->file->properties.st_size > 
file2->file->properties.st_size) {
+                  return 1;
+          } else if (file1->file->properties.st_size < 
file2->file->properties.st_size) {
+                  return -1;
+          } else return 0;
+   } else {
+          printf("Could not locate file!\n");
+          return 0;
+   }
+}
+
+
 
 static void _entropy_etk_list_viewer_drag_begin_cb(Etk_Object *object, void 
*data)
 {
@@ -249,7 +287,7 @@
   } else {
         // time_t stime = file->properties.st_mtime
          
-         snprintf(buffer,50, "%d Kb", file->properties.st_size / 1024);
+         snprintf(buffer,50, "%lld Kb", file->properties.st_size / 1024);
          new_row = etk_tree_append(ETK_TREE(viewer->tree), 
                  col1, PACKAGE_DATA_DIR "/icons/default.png", 
                  col2,   file->filename,
@@ -365,7 +403,7 @@
                col4 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 3);
                col5 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 4);
                
-               snprintf(buffer,50, "%d Kb", file_stat->stat_obj->st_size / 
1024);
+               snprintf(buffer,50, "%lld Kb", file_stat->stat_obj->st_size / 
1024);
 
                etk_tree_freeze(ETK_TREE(viewer->tree));
                etk_tree_row_fields_set((Etk_Tree_Row*)obj->icon, 
@@ -468,10 +506,12 @@
   viewer->tree_col1 = etk_tree_col_new(ETK_TREE(viewer->tree), _("Filename"), 
                  etk_tree_model_text_new(ETK_TREE(viewer->tree)), 100);
   etk_tree_col_expand_set(viewer->tree_col1, ETK_TRUE);
+  etk_tree_col_sort_func_set(viewer->tree_col1, 
_entropy_etk_list_filename_compare_cb, ETK_TRUE, NULL);
 
   viewer->tree_col1 = etk_tree_col_new(ETK_TREE(viewer->tree), _("Size"), 
                  etk_tree_model_text_new(ETK_TREE(viewer->tree)),40);
   etk_tree_col_expand_set(viewer->tree_col1, ETK_TRUE);
+  etk_tree_col_sort_func_set(viewer->tree_col1, 
_entropy_etk_list_size_compare_cb, ETK_TRUE, NULL);
 
   viewer->tree_col1 = etk_tree_col_new(ETK_TREE(viewer->tree), _("Type"), 
                  etk_tree_model_text_new(ETK_TREE(viewer->tree)),40);
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/proto/entropy/src/plugins/etk_structure_viewer.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- etk_structure_viewer.c      22 Feb 2006 14:25:54 -0000      1.9
+++ etk_structure_viewer.c      27 Feb 2006 08:01:59 -0000      1.10
@@ -115,7 +115,9 @@
    entropy_etk_file_structure_viewer* viewer;
    entropy_gui_event *gui_event;
    event_file_core* e_event;
-   
+
+   if (!(event->button == 1))
+          return;
    
    instance = ecore_hash_get(instance_map_hash, row);
    if (instance) {




-------------------------------------------------------
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