Enlightenment CVS committal Author : kiwi Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_entry.c Log Message: show the e_entry menu entries only when they are needed =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_entry.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- e_entry.c 19 Apr 2007 00:45:34 -0000 1.35 +++ e_entry.c 20 Apr 2007 07:23:37 -0000 1.36 @@ -343,36 +343,48 @@ E_Menu_Item *mi; E_Manager *man; E_Container *con; + int selection_length; int x, y; - - if (!sd->enabled) return; - + + selection_length = e_editable_cursor_pos_get(sd->editable_object) - e_editable_selection_pos_get(sd->editable_object); + if (!selection_length && !sd->enabled) return; + man = e_manager_current_get(); con = e_container_current_get(man); ecore_x_pointer_xy_get(con->win, &x, &y); - + /* Popup a menu */ sd->popup = e_menu_new(); e_menu_post_deactivate_callback_set(sd->popup, _e_entry_cb_menu_post, sd); - mi = e_menu_item_new(sd->popup); - e_menu_item_label_set(mi, _("Cut")); - e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/fileman", - "e/fileman/button/cut"), - "e/fileman/button/cut"); - e_menu_item_callback_set(mi, _e_entry_cb_cut, sd); - mi = e_menu_item_new(sd->popup); - e_menu_item_label_set(mi, _("Copy")); - e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/fileman", - "e/fileman/button/copy"), - "e/fileman/button/copy"); - e_menu_item_callback_set(mi, _e_entry_cb_copy, sd); - mi = e_menu_item_new(sd->popup); - e_menu_item_label_set(mi, _("Paste")); - e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/fileman", - "e/fileman/button/paste"), - "e/fileman/button/paste"); - e_menu_item_callback_set(mi, _e_entry_cb_paste, sd); + if (selection_length > 0) + { + if (sd->enabled) + { + mi = e_menu_item_new(sd->popup); + e_menu_item_label_set(mi, _("Cut")); + e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/fileman", + "e/fileman/button/cut"), + "e/fileman/button/cut"); + e_menu_item_callback_set(mi, _e_entry_cb_cut, sd); + } + + mi = e_menu_item_new(sd->popup); + e_menu_item_label_set(mi, _("Copy")); + e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/fileman", + "e/fileman/button/copy"), + "e/fileman/button/copy"); + e_menu_item_callback_set(mi, _e_entry_cb_copy, sd); + } + if (sd->enabled) + { + mi = e_menu_item_new(sd->popup); + e_menu_item_label_set(mi, _("Paste")); + e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/fileman", + "e/fileman/button/paste"), + "e/fileman/button/paste"); + e_menu_item_callback_set(mi, _e_entry_cb_paste, sd); + } e_menu_activate_mouse(sd->popup, e_util_zone_current_get(man), x, y, 1, 1, ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs