Enlightenment CVS committal Author : chaos Project : e17 Module : proto
Dir : e17/proto/entropy/src/plugins Modified Files: etk_icon_viewer.c etk_list_viewer.c Log Message: * Event updates =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/plugins/etk_icon_viewer.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- etk_icon_viewer.c 5 Sep 2006 06:27:40 -0000 1.18 +++ etk_icon_viewer.c 5 Sep 2006 08:10:10 -0000 1.19 @@ -47,6 +47,8 @@ void icon_viewer_add_row (entropy_gui_component_instance * instance, entropy_generic_file * file); +void icon_viewer_remove_row(entropy_gui_component_instance * instance, + entropy_generic_file * file); int @@ -87,6 +89,16 @@ } +void +gui_file_remove_destroy_single(entropy_gui_component_instance * comp, + gui_file* file) +{ + entropy_etk_iconbox_viewer *view = comp->data; + ecore_hash_remove(view->gui_hash, file->file); + entropy_free(file); + +} + Ecore_List* gui_object_destroy_and_free (entropy_gui_component_instance * comp, Ecore_Hash * gui_hash) @@ -202,6 +214,8 @@ entropy_gui_component_instance *instance; entropy_etk_iconbox_viewer *viewer; entropy_generic_file* file; + Ecore_List* selected; + int selected_count =0; Etk_Iconbox_Icon* icon; Etk_Event_Mouse_Down *event; Etk_Bool ctrl_pressed; @@ -209,6 +223,7 @@ instance = data; viewer = instance->data; event = event_info; + selected_count = 0; if (!(icon = etk_iconbox_icon_get_at_xy(ETK_ICONBOX(viewer->iconbox), event->canvas.x, event->canvas.y, ETK_FALSE, ETK_TRUE, ETK_TRUE))) @@ -225,10 +240,24 @@ } } } else if (event->button == 3) { - if (ctrl_pressed != ETK_TRUE) etk_iconbox_unselect_all(icon->iconbox); + if (ctrl_pressed != ETK_TRUE) etk_iconbox_unselect_all(ETK_ICONBOX(viewer->iconbox)); etk_iconbox_icon_select(icon); - entropy_etk_context_menu_popup(instance, file); + selected = ecore_list_new(); + for (icon = ETK_ICONBOX(viewer->iconbox)->first_icon; icon ; icon = icon->next ) { + if (etk_iconbox_is_selected(icon)) { + file = etk_iconbox_icon_data_get(icon); + ecore_list_append(selected, file); + selected_count++; + } + } + + if (selected_count > 1) { + entropy_etk_context_menu_popup_multi(instance,selected); + } else { + entropy_etk_context_menu_popup(instance, file); + } + ecore_list_destroy(selected); } } @@ -275,9 +304,8 @@ if (el && comp) { gui_file *obj; entropy_thumbnail *thumb = (entropy_thumbnail *) el; - entropy_etk_iconbox_viewer *view = comp->data; - obj = ecore_hash_get (view->gui_hash, thumb->parent); + obj = ecore_hash_get (viewer->gui_hash, thumb->parent); if (obj) { etk_iconbox_icon_file_set(obj->icon, thumb->thumbnail_filename, NULL); @@ -288,6 +316,12 @@ } } //End case break; + + case ENTROPY_NOTIFY_FILE_REMOVE_DIRECTORY: + case ENTROPY_NOTIFY_FILE_REMOVE:{ + icon_viewer_remove_row(comp, (entropy_generic_file*)el); + } + break; } } @@ -312,6 +346,24 @@ } entropy_core_file_cache_add_reference (file->md5); +} + +void icon_viewer_remove_row(entropy_gui_component_instance * instance, + entropy_generic_file * file) +{ + entropy_etk_iconbox_viewer* viewer; + Etk_Iconbox_Icon* icon; + gui_file* event_file = NULL; + + viewer = instance->data; + + if (file) { + event_file = ecore_hash_get(viewer->gui_hash,file); + if (event_file) { + etk_iconbox_icon_del(event_file->icon); + gui_file_remove_destroy_single(instance,event_file); + } + } } static void _entropy_etk_icon_viewer_drag_begin_cb(Etk_Object *object, void *data) =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/plugins/etk_list_viewer.c,v retrieving revision 1.71 retrieving revision 1.72 diff -u -3 -r1.71 -r1.72 --- etk_list_viewer.c 1 Sep 2006 12:12:50 -0000 1.71 +++ etk_list_viewer.c 5 Sep 2006 08:10:11 -0000 1.72 @@ -22,7 +22,6 @@ Etk_Tree_Col* tree_col1; Etk_Widget* parent_visual; - Ecore_Hash* etk_list_viewer_row_hash; Ecore_Hash* gui_hash; Ecore_List *gui_events; @@ -235,7 +234,7 @@ Etk_Tree *tree; const char **types; unsigned int num_types; - Etk_Drag *drag; + Etk_Widget *drag; Etk_Widget *image; entropy_gui_component_instance* instance; entropy_etk_file_list_viewer* viewer; @@ -319,8 +318,8 @@ printf("Drag buffer: %s\n", buffer); - etk_drag_types_set(drag, types, num_types); - etk_drag_data_set(drag, buffer, strlen(buffer)+1); + etk_drag_types_set(ETK_DRAG(drag), types, num_types); + etk_drag_data_set(ETK_DRAG(drag), buffer, strlen(buffer)+1); ------------------------------------------------------------------------- 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