]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Add an optional ability to stagger the headers in the bug list, which
authorterry%mozilla.org <>
Fri, 4 Feb 2000 22:07:58 +0000 (22:07 +0000)
committerterry%mozilla.org <>
Fri, 4 Feb 2000 22:07:58 +0000 (22:07 +0000)
is uglier, but often squeezes things better horizontally.

buglist.cgi
colchange.cgi

index fc213137b2af93d7d8b221d569080eb572c61176..18d8c5c4aec1285da94700477a5d71c26ef80196 100755 (executable)
@@ -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";
 
 
index 0cedd515e7fd564b98bb9c41ad897953dd7c66af..2d145955bb65b05f9da902698d8bfd839409ef3e 100755 (executable)
@@ -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";