Changeset 5534


Ignore:
Timestamp:
06/24/09 14:36:23 (3 years ago)
Author:
kaare
Message:

Fix some of the git methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre-Plugin-Git/lib/Padre/Plugin/Git.pm

    r3452 r5534  
    2929cpan install Padre::Plugin::Git 
    3030 
    31 Acces it via Plugin/Git 
     31Access it via Plugin/Git 
    3232 
    3333 
     
    6666sub menu_plugins_simple { 
    6767    my $self = shift; 
     68 
    6869    return $self->plugin_name => [ 
    6970        'About'             => sub { $self->show_about }, 
     
    133134sub git_commit_project { 
    134135    my ($self) = @_; 
    135      
     136 
    136137    my $main = Padre->ide->wx->main; 
    137138    my $doc = $main->current->document; 
     
    144145sub git_status { 
    145146    my ($self, $path) = @_; 
    146      
     147 
    147148    my $main = Padre->ide->wx->main; 
    148149    my $out = capture_merged(sub { system "git status $path" }); 
     
    153154sub git_status_of_file { 
    154155    my ($self) = @_; 
    155      
    156     my $main = Padre->ide->wx->main; 
    157     my $doc = $main->current->document; 
    158     return $main->error("No document found") if not $doc; 
    159     $self->git_status($doc->filename); 
     156 
     157#   return $main->error("No document found") if not $doc; 
     158    $self->git_status(_get_current_filename()); 
    160159    return; 
    161160} 
     
    163162sub git_status_of_dir { 
    164163    my ($self) = @_; 
    165      
     164 
    166165    my $main = Padre->ide->wx->main; 
    167166    my $doc = $main->current->document; 
     
    176175sub git_status_of_project { 
    177176    my ($self) = @_; 
    178      
     177 
    179178    my $main = Padre->ide->wx->main; 
    180179    my $doc = $main->current->document; 
     
    192191sub git_diff { 
    193192    my ($self, $path) = @_; 
    194      
    195     my $main = Padre->ide->wx->main; 
     193 
     194    use Cwd qw/cwd chdir/; 
     195    my $cwd = cwd; 
     196    chdir File::Basename::dirname($path); 
    196197    my $out = capture_merged(sub { system "git diff $path" }); 
    197     use Padre::Wx::Dialog::Text; 
     198    chdir $cwd; 
     199    require Padre::Wx::Dialog::Text; 
     200    my $main = Padre->ide->wx->main; 
    198201    Padre::Wx::Dialog::Text->show($main, "Git Diff of $path", $out); 
    199202#   $main->message($out, "Git Diff of $path"); 
     203 
    200204    return; 
    201205} 
    202206 
    203207sub git_diff_of_file { 
     208    my ($self) = @_; 
     209 
     210    $self->git_diff(_get_current_filename()); 
     211 
     212    return; 
     213} 
     214 
     215sub git_diff_of_dir { 
    204216    my ($self, $path) = @_; 
    205217 
    206218    $self->git_diff($path); 
    207219 
    208     return; 
    209 } 
    210  
    211 sub git_diff_of_dir { 
    212     my ($self, $path) = @_; 
    213  
    214     $self->git_diff($path); 
    215  
    216220    return; 
    217221} 
     
    231235 
    232236    return; 
     237} 
     238 
     239sub _get_current_filename { 
     240    my $main = Padre->ide->wx->main; 
     241    my $doc = $main->current->document; 
     242 
     243    return $doc->filename; 
     244} 
     245 
     246 
     247sub _get_current_filedir { 
     248    my $main = Padre->ide->wx->main; 
     249    my $doc = $main->current->document; 
     250    return $main->error("No document found") if not $doc; 
     251 
     252    return File::Basename::dirname($doc->filename); 
    233253} 
    234254 
Note: See TracChangeset for help on using the changeset viewer.