Changeset 12396


Ignore:
Timestamp:
08/29/10 15:30:20 (18 months ago)
Author:
zenogantner
Message:

key bindings: i18n

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre/lib/Padre/Wx/Dialog/KeyBindings.pm

    r12395 r12396  
    66use Padre::Constant       (); 
    77use Padre::Config         (); 
     8use Padre::Util           ('_T'); 
    89use Padre::Wx             (); 
    910use Padre::Wx::Role::Main (); 
     
    8889 
    8990    # key choice list 
    90     $self->{keys} = [ 
    91         qw(None Backspace Tab Space Up Down Left Right Insert Delete Home 
    92             End PageUp PageDown Enter Escape F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 
    93             ), 'A' .. 'Z', '0' .. '9', '~', '-', '=', '[', ']', ';', '\'', ',', '.', '/' 
    94     ]; 
    95  
     91    my @keys = ( 
     92        _T('None'),   _T('Backspace'), _T('Tab'),    _T('Space'),  _T('Up'),   _T('Down'), 
     93        _T('Left'),   _T('Right'),     _T('Insert'), _T('Delete'), _T('Home'), _T('End'), 
     94        _T('PageUp'), _T('PageDown'),  _T('Enter'),  _T('Escape'), 
     95        'F1',       'F2',       'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12', 
     96        'A' .. 'Z', '0' .. '9', '~',  '-',  '=',  '[',  ']',  ';',  '\'', ',',   '.',   '/' 
     97    ); 
     98    $self->{keys} = \@keys; 
     99 
     100    my @translated_keys = map { Wx::gettext($_) } @keys; 
    96101    $self->{key} = Wx::Choice->new( 
    97102        $self, -1, 
    98103        Wx::wxDefaultPosition, 
    99104        Wx::wxDefaultSize, 
    100         $self->{keys}, # TODO translate 
     105        \@translated_keys, 
    101106    ); 
    102107    $self->{key}->SetSelection(0); 
     
    271276} 
    272277 
     278sub translate_shortcut { 
     279    my ($shortcut) = @_; 
     280 
     281    my @parts = split /-/, $shortcut; 
     282    my $regular_key = @parts ? $parts[-1] : ''; 
     283 
     284    return join '-', map { Wx::gettext($_) } @parts; 
     285} 
     286 
    273287# Private method to handle the selection of a key binding item 
    274288sub _on_list_item_selected { 
     
    288302    $self->{button_delete}->Enable( $shortcut ne '' ); 
    289303 
    290     # Get the regular (i.e. non-modifier) key in the shortcut 
    291304    my @parts = split /-/, $shortcut; 
    292305    my $regular_key = @parts ? $parts[-1] : ''; 
     
    327340        push @key_list, $regular_key if $self->{ lc $regular_key }->GetValue; 
    328341    } 
    329     my $regular_key = $self->{keys}->[ $self->{key}->GetSelection ]; 
     342    my $key_index   = $self->{key}->GetSelection; 
     343    my $regular_key = $self->{keys}->[$key_index]; 
    330344    push @key_list, $regular_key if not $regular_key eq 'None'; 
    331345    my $shortcut = join '-', @key_list; 
     
    403417    my $index       = $self->{list}->GetFirstSelected; 
    404418    my $action_name = $self->{list}->GetItemText($index); 
    405     my $action      = Padre->ide->actions($action_name); 
    406  
    407     $self->try_to_set_binding( $action_name, $self->config->default( $action->shortcut_setting ) ); 
     419    my $action      = Padre->ide->actions->{$action_name}; 
     420 
     421    $self->try_to_set_binding( 
     422        $action_name, 
     423        $self->config->default( $action->shortcut_setting ) 
     424    ); 
    408425 
    409426    return; 
     
    450467        $list->InsertStringItem( $index, $action_name ); 
    451468        $list->SetItem( $index, 1, $action->label_text ); 
    452         $list->SetItem( $index, 2, $shortcut ); 
     469        $list->SetItem( $index, 2, translate_shortcut($shortcut) ); 
    453470 
    454471        # Alternating table colors 
Note: See TracChangeset for help on using the changeset viewer.