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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs