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