diff options
-rwxr-xr-x | buglist.cgi | 42 | ||||
-rwxr-xr-x | colchange.cgi | 16 |
2 files changed, 50 insertions, 8 deletions
diff --git a/buglist.cgi b/buglist.cgi index fc213137b..18d8c5c4a 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -943,26 +943,52 @@ if ($dotweak) { pnl "<FORM NAME=changeform METHOD=POST ACTION=\"process_bug.cgi\">"; } -my $tablestart = "<TABLE CELLSPACING=0 CELLPADDING=4 WIDTH=100%> -<TR ALIGN=LEFT><TH> -<A HREF=\"buglist.cgi?$fields&order=bugs.bug_id\">ID</A>"; - +my @th; foreach my $c (@collist) { if (exists $::needquote{$c}) { + my $h = ""; if ($::needquote{$c}) { - $tablestart .= "<TH WIDTH=100% valign=left>"; + $h .= "<TH WIDTH=100%>"; } else { - $tablestart .= "<TH valign=left>"; + $h .= "<TH>"; } if (defined $::sortkey{$c}) { - $tablestart .= "<A HREF=\"buglist.cgi?$fields&order=" . url_quote($::sortkey{$c}) . "$oldorder\">$::title{$c}</A>"; + $h .= "<A HREF=\"buglist.cgi?$fields&order=" . url_quote($::sortkey{$c}) . "$oldorder\">$::title{$c}</A>"; } else { - $tablestart .= $::title{$c}; + $h .= $::title{$c}; } + $h .= "</TH>"; + push(@th, $h); } } +my $tablestart = "<TABLE CELLSPACING=0 CELLPADDING=4 WIDTH=100%> +<TR ALIGN=LEFT><TH> +<A HREF=\"buglist.cgi?$fields&order=bugs.bug_id\">ID</A>"; + +my $splitheader = 0; +if ($::COOKIE{'SPLITHEADER'}) { + $splitheader = 1; +} + +if ($splitheader) { + $tablestart =~ s/<TH/<TH COLSPAN="2"/; + for (my $pass=0 ; $pass<2 ; $pass++) { + if ($pass == 1) { + $tablestart .= "</TR>\n<TR><TD></TD>"; + } + for (my $i=1-$pass ; $i<@th ; $i += 2) { + my $h = @th[$i]; + $h =~ s/TH/TH COLSPAN="2" ALIGN="left"/; + $tablestart .= $h; + } + } +} else { + $tablestart .= join("", @th); +} + + $tablestart .= "\n"; diff --git a/colchange.cgi b/colchange.cgi index 0cedd515e..2d145955b 100755 --- a/colchange.cgi +++ b/colchange.cgi @@ -56,6 +56,7 @@ push(@masterlist, ("summary", "summaryfull")); my @collist; if (defined $::FORM{'rememberedquery'}) { + my $splitheader = 0; if (defined $::FORM{'resetit'}) { @collist = @::default_column_list; } else { @@ -64,9 +65,13 @@ if (defined $::FORM{'rememberedquery'}) { push @collist, $i; } } + if (exists $::FORM{'splitheader'}) { + $splitheader = $::FORM{'splitheader'}; + } } my $list = join(" ", @collist); print "Set-Cookie: COLUMNLIST=$list ; path=/ ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n"; + print "Set-Cookie: SPLITHEADER=$::FORM{'splitheader'} ; path=/ ; expires=Sun, 30-Jun-2029 00:00:00 GMT\n"; print "Refresh: 0; URL=buglist.cgi?$::FORM{'rememberedquery'}\n"; print "\n"; print "<TITLE>What a hack.</TITLE>\n"; @@ -81,6 +86,11 @@ if (defined $::COOKIE{'COLUMNLIST'}) { @collist = @::default_column_list; } +my $splitheader = 0; +if ($::COOKIE{'SPLITHEADER'}) { + $splitheader = 1; +} + my %desc; foreach my $i (@masterlist) { @@ -109,6 +119,12 @@ foreach my $i (@masterlist) { print "<INPUT TYPE=checkbox NAME=column_$i $c>$desc{$i}<br>\n"; } print "<P>\n"; +print BuildPulldown("splitheader", + [["0", "Normal headers (prettier)"], + ["1", "Stagger headers (often makes list more compact)"]], + $splitheader); +print "<P>\n"; + print "<INPUT TYPE=\"submit\" VALUE=\"Submit\">\n"; print "</FORM>\n"; print "<FORM ACTION=colchange.cgi>\n"; |