Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/plugins


Modified Files:
        Makefile.am etk_list_viewer.c layout_etk_simple.c 


Log Message:
* Shift responsibility for displaying the properties dialog to the layout, and 
create a new event to indicate that it's an 'extended stat', to differentiate 
between general stat events, and ones we want to show more detail for.  

===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/plugins/Makefile.am,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- Makefile.am 19 Apr 2006 04:52:44 -0000      1.36
+++ Makefile.am 19 Apr 2006 06:38:22 -0000      1.37
@@ -102,6 +102,7 @@
                                 
$(top_srcdir)/src/dialogs/etk_interaction_dialog.c \
                                
$(top_srcdir)/src/dialogs/etk_location_add_dialog.c \
                                
$(top_srcdir)/src/dialogs/etk_mime_dialog_main.c \
+                                
$(top_srcdir)/src/dialogs/etk_properties_dialog.c \
                                
$(top_srcdir)/src/dialogs/etk_file_cache_debug_dialog.c
 layout_etk_simple_la_CFLAGS   = @ETK_CFLAGS@
 layout_etk_simple_la_LDFLAGS  = -module -avoid-version
===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/plugins/etk_list_viewer.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -3 -r1.63 -r1.64
--- etk_list_viewer.c   16 Apr 2006 11:37:03 -0000      1.63
+++ etk_list_viewer.c   19 Apr 2006 06:38:22 -0000      1.64
@@ -31,8 +31,6 @@
   /*Current folder - TODO - move to core - per layout API*/
   entropy_generic_file* current_folder;
 
-  /*A file we're waiting on for passback properties*/
-  Ecore_Hash* properties_request_hash;  
 };
 
 typedef struct event_file_core event_file_core;
@@ -59,7 +57,6 @@
                    void *el, entropy_gui_component_instance * comp);
 void gui_file_destroy (gui_file * file);
 int entropy_plugin_type_get ();
-void entropy_etk_list_viewer_stat_callback(void* data, entropy_generic_file* 
file);
 
 /*-------------*/
 
@@ -412,7 +409,6 @@
        file = ecore_hash_get(etk_list_viewer_row_hash, row);
 
        entropy_etk_context_menu_popup(instance, file->file);
-       
entropy_etk_context_menu_stat_cb_register(entropy_etk_list_viewer_stat_callback,
 viewer);
    }
 }
 
@@ -528,13 +524,6 @@
 
 
 
-void entropy_etk_list_viewer_stat_callback(void* data, entropy_generic_file* 
file)
-{
-       entropy_etk_file_list_viewer* viewer = data;
-       
-       ecore_hash_set(viewer->properties_request_hash, file, (int*)1);
-}
-
 void
 gui_event_callback (entropy_notify_event * eevent, void *requestor,
                    void *el, entropy_gui_component_instance * comp)
@@ -597,12 +586,6 @@
        /*If !obj, it has been deleted - fail silently*/
        if (obj) {
                
-               if ( (ecore_hash_get(viewer->properties_request_hash, 
file_stat->file))) {
-                       ecore_hash_remove(viewer->properties_request_hash, 
file_stat->file);
-
-                       /*Lauch a properties window*/
-                       etk_properties_dialog_new(file_stat->file);
-               } else {
                        col1 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 0);
                        col2 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 1);
                        col3 = etk_tree_nth_col_get(ETK_TREE(viewer->tree), 2);
@@ -619,7 +602,6 @@
                                        col5, date_buffer,
                                        NULL);
                        etk_tree_thaw(ETK_TREE(viewer->tree));
-               }
        }
      }
      break;                                     
@@ -722,7 +704,6 @@
 
   viewer->files = ecore_list_new();
   viewer->gui_hash = ecore_hash_new(ecore_direct_hash, ecore_direct_compare);
-  viewer->properties_request_hash = ecore_hash_new(ecore_direct_hash, 
ecore_direct_compare);
   
   viewer->tree = etk_tree_new(); 
   etk_tree_mode_set(ETK_TREE(viewer->tree), ETK_TREE_MODE_LIST);
===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/plugins/layout_etk_simple.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -3 -r1.42 -r1.43
--- layout_etk_simple.c 12 Apr 2006 11:47:04 -0000      1.42
+++ layout_etk_simple.c 19 Apr 2006 06:38:22 -0000      1.43
@@ -42,6 +42,8 @@
   Etk_Widget* localshell;
   Ecore_Hash* progress_hash; /*Track progress events->dialogs*/
 
+  Ecore_Hash* properties_request_hash; 
+
 };
 
 typedef enum _Etk_Menu_Item_Type
@@ -422,6 +424,22 @@
                
entropy_etk_user_interaction_dialog_new((entropy_file_operation*)el);
             }
             break;
+
+            case ENTROPY_NOTIFY_EXTENDED_STAT: {
+                printf("**** Extended stat at layout\n");
+                ecore_hash_set(view->properties_request_hash, 
(entropy_generic_file*)el, (int*)1);
+            };
+            break;
+
+            case ENTROPY_NOTIFY_FILE_STAT_AVAILABLE:{
+               entropy_file_stat *file_stat = (entropy_file_stat *) 
eevent->return_struct;                                                          
+               
+               ecore_hash_remove(view->properties_request_hash, 
file_stat->file);      
+               /*Lauch a properties window*/
+               etk_properties_dialog_new(file_stat->file);
+            }
+            break;
+
      }
 }
 
@@ -472,6 +490,7 @@
   layout->data = gui;
   layout->core = core;
   gui->progress_hash = ecore_hash_new(ecore_direct_hash, ecore_direct_compare);
+  gui->properties_request_hash = ecore_hash_new(ecore_direct_hash, 
ecore_direct_compare);
 
   /*Register this layout container with the core, so our children can get 
events */
   entropy_core_layout_register (core, layout);
@@ -490,6 +509,18 @@
   entropy_core_component_event_register (layout,
                                         entropy_core_gui_event_get
                                         
(ENTROPY_GUI_EVENT_USER_INTERACTION_YES_NO_ABORT));
+
+    /*We want to know if a stat is an 'extended stat' - e.g. a properties 
dialog etc */
+  entropy_core_component_event_register (layout,
+                                        entropy_core_gui_event_get
+                                        (ENTROPY_GUI_EVENT_EXTENDED_STAT));
+
+  entropy_core_component_event_register (layout,
+                                        entropy_core_gui_event_get
+                                        (ENTROPY_GUI_EVENT_FILE_STAT));
+  entropy_core_component_event_register (layout,
+                                        entropy_core_gui_event_get
+                                        
(ENTROPY_GUI_EVENT_FILE_STAT_AVAILABLE));
 
 
   /*Etk related init */




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