--- trunk/lib/Frey/SVN.pm 2009/04/28 17:04:24 1072 +++ trunk/lib/Frey/SVN.pm 2009/04/28 22:36:26 1073 @@ -216,6 +216,7 @@ my $max_path_len = 0; my $path_count; + my $stats; $self->iterator( sub { my $e = shift; @@ -248,6 +249,14 @@ $max_path_len = length $path if length $path > $max_path_len; $path_count->{$path}++; + + if ( my $added = $e->{diff_paths}->{$path}->{added} ) { + $stats->{total_added} += $added; + } + + if ( my $removed = $e->{diff_paths}->{$path}->{removed} ) { + $stats->{total_removed} += $removed; + } } my $diff = $self->html_diff( $e->{diff} ) if $e->{diff}; @@ -299,6 +308,13 @@ }); + $max_path_len += + length( $stats->{total_added} ) + + length( $stats->{total_removed} ) + ; + + $max_path_len += int( $max_path_len / 10 ); # we are using ex, so we add 10% + $self->add_css(qq| .files { width: ${max_path_len}ex; @@ -307,6 +323,8 @@ $html =~ s[title="(\S+) ##"]['title="' . $path_count->{$1} . '"']gse; + $html .= $self->dump( 'stats', $stats ); + return $html; } @@ -328,8 +346,6 @@ my ($action,$path) = ($p->{'action'},$p->{'content'}); my $weight = ''; if ( my $s = $e->{diff_paths}->{$path} ) { - - warn $self->dump( $s ); $weight = $s->{removed} if defined $s->{removed}; $weight += $s->{added} * 2 if defined $s->{added}; $weight = qq| weight="$weight" |;