summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Bernhard R. Link <brl+git@mail.brlink.eu>2012-01-30 21:09:43 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-02-01 12:52:49 -0800
commit40efa22309458546a3ea861689034acf9fbf9d1a (patch)
tree50efc4938943debb59d9ff8dd7b2a2a51dfb584e
parentgitweb: limit links to alternate forms of project_list to active project_filter (diff)
downloadtgif-40efa22309458546a3ea861689034acf9fbf9d1a.tar.xz
gitweb: show active project_filter in project_list page header
In the page header of a project_list view with a project_filter given show breadcrumbs in the page headers showing which directory it is currently limited to and also containing links to the parent directories. Signed-off-by: Bernhard R. Link <brlink@debian.org> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgitweb/gitweb.perl14
1 files changed, 14 insertions, 0 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index ecd4a39d22..7d36f563e4 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -3839,6 +3839,18 @@ sub print_header_links {
}
}
+sub print_nav_breadcrumbs_path {
+ my $dirprefix = undef;
+ while (my $part = shift) {
+ $dirprefix .= "/" if defined $dirprefix;
+ $dirprefix .= $part;
+ print $cgi->a({-href => href(project => undef,
+ project_filter => $dirprefix,
+ action => "project_list")},
+ esc_html($part)) . " / ";
+ }
+}
+
sub print_nav_breadcrumbs {
my %opts = @_;
@@ -3857,6 +3869,8 @@ sub print_nav_breadcrumbs {
print " / $opts{-action_extra}";
}
print "\n";
+ } elsif (defined $project_filter) {
+ print_nav_breadcrumbs_path(split '/', $project_filter);
}
}