Changeset 1390


Ignore:
Timestamp:
09/04/09 17:48:51 (15 years ago)
Author:
alexandrecorreia
Message:

Ticket #512 - Problema ao deletar mensagem com tecla de atalho habilitada

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/shortcut.js

    r790 r1390  
    2222                        } 
    2323                } 
    24  
     24                 
    2525                var ele = opt.target 
    2626                if(typeof opt.target == 'string') ele = document.getElementById(opt.target); 
     
    226226var shift_up_count = 0; 
    227227var shift_down_count = 0; 
     228var selMessageShortcut = ""; 
     229 
    228230shortcut.add("N",function(){ new_message("new","null"); },{'disable_in_input':true}); 
    229231 
     
    245247shortcut.add("E",function(){ exec_msg_action('forward'); },{'disable_in_input':true}); 
    246248shortcut.add("R",function(){ exec_msg_action('reply'); },{'disable_in_input':true}); 
     249 
    247250shortcut.add("Delete",function(){ 
     251         
     252        var selected_shortcut_msgs = ''; 
     253        var tbody_box = Element('tbody_box'); 
     254        all_messages = Element('tbody_box').childNodes; 
     255         
     256        for ( var i=0; i < all_messages.length; i++ ) 
     257        { 
     258                if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
     259                { 
     260                        selected_shortcut_msgs += all_messages[i].id + ','; 
     261                         
     262                        if( all_messages[i].nextSibling ) 
     263                                selMessageShortcut = all_messages[i].nextSibling.id + "-" + "down"; 
     264                        else if(all_messages[i].previousSibling) 
     265                                selMessageShortcut = all_messages[i].previousSibling.id + "-" + "up"; 
     266                } 
     267        } 
     268        selected_shortcut_msgs = selected_shortcut_msgs.substring(0,(selected_shortcut_msgs.length-1)); 
     269         
    248270        if ( Element('border_id_0').className==='menu-sel' ) 
    249271        { 
    250                 var selected_shortcut_msgs = ''; 
    251                 var tbody_box = Element('tbody_box'); 
    252                 all_messages = Element('tbody_box').childNodes; 
    253                  
    254                 for (var i=0; i < all_messages.length; i++) 
    255                 { 
    256                         if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
    257                         { 
    258                                 selected_shortcut_msgs += all_messages[i].id + ','; 
    259                         } 
    260                 } 
    261                  
    262                 selected_shortcut_msgs = selected_shortcut_msgs.substring(0,(selected_shortcut_msgs.length-1)); 
    263272                proxy_mensagens.delete_msgs(current_folder, selected_shortcut_msgs, 'null'); 
    264273        } 
    265274        else 
     275        { 
    266276                exec_msg_action('delete'); 
     277                select_msg(selMessageShortcut.substring(0, selMessageShortcut.indexOf("-")), 
     278                                   selMessageShortcut.substring(selMessageShortcut.indexOf("-")), true ); 
     279        } 
    267280} 
    268281,{'disable_in_input':true}); 
     
    299312{ 
    300313        shortcut.add("down",function(){ select_msg('null', 'down');},{'type':'keypress', 'disable_in_input':false}); 
    301         shortcut.add("up",function(){ select_msg('null', 'up'); },{'type':'keypress', 'disable_in_input':false}); 
     314        shortcut.add("up",function(){ select_msg('null', 'up');},{'type':'keypress', 'disable_in_input':false}); 
    302315         
    303316        shortcut.add("Shift+down",function(){ 
     
    387400        else 
    388401        { 
    389                 all_messages = Element('tbody_box').childNodes; 
    390                 if (keyboard_action == 'down') 
    391                 { 
    392                         // Ultimo elemento ja esta selecionado 
    393                         if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') ) 
    394                         { 
    395                                 unselect_all_msgs(); 
    396                                 add_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') 
    397                                 return false; 
    398                         } 
    399                          
     402                if( keyboard_action == 'down') 
     403                { 
    400404                        for (var i=all_messages.length-1; i >=0; i--) 
    401405                        { 
     
    407411                                } 
    408412                        } 
     413                         
    409414                        for (; i>=0; i--) 
    410415                        { 
    411                                 remove_className(all_messages[i], 'selected_shortcut_msg'); 
    412                         } 
    413                 var scrollMain = Element('divScrollMain_0'); 
    414 //              var selection_size = all_messages[1].offsetTop;  
    415                 var selection_size = parseInt(preferences.line_height) + 10; 
    416                  
    417                 if ((mailPos) && (parseInt(scrollMain.style.height.substr(0,scrollMain.style.height.length-2)) + scrollMain.scrollTop < all_messages[mailPos].offsetTop + selection_size)) 
    418                         scrollMain.scrollTop += selection_size; 
    419                 } 
    420                 else 
    421                 { 
    422                         if ( exist_className(all_messages[0], 'selected_shortcut_msg') ) 
    423                         { 
    424                                 unselect_all_msgs(); 
    425                                 add_className(all_messages[0], 'selected_shortcut_msg') 
    426                                 return false; 
    427                         } 
    428                          
     416                                if( all_messages[i].nextSibling ) 
     417                                        remove_className(all_messages[i], 'selected_shortcut_msg'); 
     418                        } 
     419                } 
     420                else if( keyboard_action == 'up') 
     421                { 
    429422                        for (var i=0; i < all_messages.length; i++) 
    430423                        { 
    431424                                if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 
    432425                                { 
    433                                         add_className(all_messages[i-1], 'selected_shortcut_msg') 
    434                                         var mailPos = i; 
    435                                         break; 
     426                                        if( all_messages[i].previousSibling ) 
     427                                        { 
     428                                                add_className(all_messages[i-1], 'selected_shortcut_msg') 
     429                                                var mailPos = i; 
     430                                                break; 
     431                                        } 
    436432                                } 
    437433                        } 
     434                         
    438435                        for (; i< all_messages.length; i++) 
    439436                        { 
    440437                                remove_className(all_messages[i], 'selected_shortcut_msg') 
    441438                        } 
    442                 var scrollMain = Element('divScrollMain_0'); 
    443                 var selection_size = parseInt(preferences.line_height) + 10; 
    444                 if (all_messages[mailPos].offsetTop <= scrollMain.scrollTop) 
    445                         scrollMain.scrollTop -= selection_size+10; 
    446                 } 
    447                         return true; 
    448                 } 
    449         } 
     439                } 
     440 
     441                return true; 
     442        } 
     443} 
    450444 
    451445function select_bottom_msg() 
Note: See TracChangeset for help on using the changeset viewer.