Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/dialogs


Modified Files:
        etk_file_context_menu.c 


Log Message:
* Squash warnings (my rule: one warning, per day - shouldn't take long)
* 'Cut' support! Finally!
* File create notify for icon view

===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/dialogs/etk_file_context_menu.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- etk_file_context_menu.c     28 Aug 2006 10:47:12 -0000      1.17
+++ etk_file_context_menu.c     6 Sep 2006 11:09:22 -0000       1.18
@@ -164,8 +164,11 @@
 static void
 _entropy_etk_context_menu_group_file_paste_cb(Etk_Object *object, void *data)
 {
+       Entropy_Selection_Type stype;
        Ecore_List* files = entropy_core_selected_files_get();
 
+       stype = entropy_core_selection_type_get();
+
        if (_entropy_etk_context_menu_current_file) {
                if (!strcmp(_entropy_etk_context_menu_current_file->mime_type, 
"file/folder"))
                        _entropy_etk_context_menu_current_folder = 
_entropy_etk_context_menu_current_file;
@@ -175,21 +178,50 @@
        
                if (_entropy_etk_context_menu_current_folder) {
                        char* f_uri =   
_entropy_etk_context_menu_current_folder->uri;
-                       if (f_uri)
-                               
entropy_plugin_filesystem_file_copy_multi(files, f_uri, 
-                                               
_entropy_etk_context_menu_current_instance);            
+                       if (f_uri) {
+                               if (stype == ENTROPY_SELECTION_COPY) {
+                                       
entropy_plugin_filesystem_file_copy_multi(files, f_uri, 
+                                               
_entropy_etk_context_menu_current_instance);
+                               } else if (stype == ENTROPY_SELECTION_CUT) {
+                                       
entropy_plugin_filesystem_file_move_multi(files, f_uri, 
+                                               
_entropy_etk_context_menu_current_instance);                                    
+                               } else {
+                                       printf("Unsupported copy type at 
context menu paste\n");
+                               }
+                       }
                } else {
                        printf("Current folder is NULL at context menu\n");
                }
        }
        
-       }
+}
 
 static void
 _entropy_etk_context_menu_group_file_copy_cb(Etk_Object *object, void *data)
 {
        entropy_core_selected_files_clear();
 
+       entropy_core_selection_type_set(ENTROPY_SELECTION_COPY);
+       if (_entropy_etk_context_menu_mode == 0) {
+               
entropy_core_selected_file_add(_entropy_etk_context_menu_current_file);
+       } else {
+               entropy_generic_file* file;
+
+               ecore_list_goto_first(_entropy_etk_context_menu_selected_files);
+               while ( (file = 
ecore_list_next(_entropy_etk_context_menu_selected_files))) {
+                       entropy_core_selected_file_add(file);
+               }
+               
+       }
+}
+
+/*No code reuse here - we may want to use special behaviour*/
+static void
+_entropy_etk_context_menu_group_file_cut_cb(Etk_Object *object, void *data)
+{
+       entropy_core_selected_files_clear();
+
+       entropy_core_selection_type_set(ENTROPY_SELECTION_CUT);
        if (_entropy_etk_context_menu_mode == 0) {
                
entropy_core_selected_file_add(_entropy_etk_context_menu_current_file);
        } else {
@@ -442,8 +474,12 @@
                etk_signal_connect("activated", ETK_OBJECT(menu_item),
                
ETK_CALLBACK(_entropy_etk_context_menu_group_file_copy_cb),NULL);
                
+               menu_item =
                _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Cut 
(Ctrl-x)"), 
                ETK_STOCK_EDIT_CUT, ETK_MENU_SHELL(menu),NULL);
+               etk_signal_connect("activated", ETK_OBJECT(menu_item),
+               ETK_CALLBACK(_entropy_etk_context_menu_group_file_cut_cb),NULL);
+
                
                menu_item =
                   _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Paste 
(Ctrl-v)"), 



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

Reply via email to