Fossil SCM

Fix up and simplify /ci page button generation code.

joel 2014-03-05 00:20 diff-eolws
Commit 0c670599bff5c7080de3ce9e5b4ece1834650142
1 file changed +30 -45
+30 -45
--- src/info.c
+++ src/info.c
@@ -473,11 +473,10 @@
473473
if( PD("noopt",0)!=0 ) diffFlags |= DIFF_NOOPT;
474474
}
475475
return diffFlags;
476476
}
477477
478
-
479478
/*
480479
** WEBPAGE: vinfo
481480
** WEBPAGE: ci
482481
** URL: /ci?name=RID|ARTIFACTID
483482
**
@@ -667,59 +666,45 @@
667666
login_anonymous_available();
668667
}
669668
db_finalize(&q1);
670669
showTags(rid, "");
671670
if( zParent ){
672
- const char *zW;
671
+ const char *zW; /* URL param for hiding whitespace */
672
+ const char *zPage = "vinfo"; /* Page that shows diffs */
673
+ const char *zPageHide = "ci"; /* Page that hides diffs */
673674
@ <div class="section">Changes</div>
674675
@ <div class="sectionmenu">
675676
verboseFlag = g.zPath[0]!='c';
676677
if( db_get_boolean("show-version-diffs", 0)==0 ){
677678
verboseFlag = !verboseFlag;
678
- diffFlags = construct_diff_flags(verboseFlag, sideBySide);
679
- zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":"";
680
- if( verboseFlag ){
681
- @ %z(xhref("class='button'","%R/vinfo/%T%s",zName,zW))
682
- @ hide&nbsp;diffs</a>
683
- if( sideBySide ){
684
- @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW))
685
- @ unified&nbsp;diffs</a>
686
- }else{
687
- @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW))
688
- @ side-by-side&nbsp;diffs</a>
689
- }
690
- if( *zW ){
691
- @ %z(xhref("class='button'","%R/ci/%T?sbs=%s",zName,sideBySide?"1":"0"))
692
- @ show&nbsp;whitespace&nbsp;differences</a>
693
- }else{
694
- @ %z(xhref("class='button'","%R/ci/%T?sbs=%s&w",zName,sideBySide?"1":"0"))
695
- @ ignore&nbsp;whitespace</a>
696
- }
697
- }else{
698
- @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW))
699
- @ show&nbsp;unified&nbsp;diffs</a>
700
- @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW))
701
- @ show&nbsp;side-by-side&nbsp;diffs</a>
702
- }
703
- }else{
704
- diffFlags = construct_diff_flags(verboseFlag, sideBySide);
705
- zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":"";
706
- if( verboseFlag ){
707
- @ %z(xhref("class='button'","%R/ci/%T%s",zName,zW))hide&nbsp;diffs</a>
708
- if( sideBySide ){
709
- @ %z(xhref("class='button'","%R/info/%T?sbs=0",zName))
710
- @ unified&nbsp;diffs</a>
711
- }else{
712
- @ %z(xhref("class='button'","%R/info/%T?sbs=1",zName))
713
- @ side-by-side&nbsp;diffs</a>
714
- }
715
- }else{
716
- @ %z(xhref("class='button'","%R/vinfo/%T?sbs=0",zName))
717
- @ show&nbsp;unified&nbsp;diffs</a>
718
- @ %z(xhref("class='button'","%R/vinfo/%T?sbs=1",zName))
719
- @ show&nbsp;side-by-side&nbsp;diffs</a>
720
- }
679
+ zPage = "ci";
680
+ zPageHide = "vinfo";
681
+ }
682
+ diffFlags = construct_diff_flags(verboseFlag, sideBySide);
683
+ zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":"";
684
+ if( verboseFlag ){
685
+ @ %z(xhref("class='button'","%R/%s/%T",zPageHide,zName))
686
+ @ hide&nbsp;diffs</a>
687
+ if( sideBySide ){
688
+ @ %z(xhref("class='button'","%R/%s/%T?sbs=0%s",zPage,zName,zW))
689
+ @ unified&nbsp;diffs</a>
690
+ }else{
691
+ @ %z(xhref("class='button'","%R/%s/%T?sbs=1%s",zPage,zName,zW))
692
+ @ side-by-side&nbsp;diffs</a>
693
+ }
694
+ if( *zW ){
695
+ @ %z(xhref("class='button'","%R/%s/%T?sbs=%d",zPage,zName,sideBySide))
696
+ @ show&nbsp;whitespace&nbsp;differences</a>
697
+ }else{
698
+ @ %z(xhref("class='button'","%R/%s/%T?sbs=%d&w",zPage,zName,sideBySide))
699
+ @ ignore&nbsp;whitespace</a>
700
+ }
701
+ }else{
702
+ @ %z(xhref("class='button'","%R/%s/%T?sbs=0",zPage,zName))
703
+ @ show&nbsp;unified&nbsp;diffs</a>
704
+ @ %z(xhref("class='button'","%R/%s/%T?sbs=1",zPage,zName))
705
+ @ show&nbsp;side-by-side&nbsp;diffs</a>
721706
}
722707
@ %z(xhref("class='button'","%R/vpatch?from=%S&to=%S",zParent,zUuid))
723708
@ patch</a></div>
724709
if( pRe ){
725710
@ <p><b>Only differences that match regular expression "%h(zRe)"
726711
--- src/info.c
+++ src/info.c
@@ -473,11 +473,10 @@
473 if( PD("noopt",0)!=0 ) diffFlags |= DIFF_NOOPT;
474 }
475 return diffFlags;
476 }
477
478
479 /*
480 ** WEBPAGE: vinfo
481 ** WEBPAGE: ci
482 ** URL: /ci?name=RID|ARTIFACTID
483 **
@@ -667,59 +666,45 @@
667 login_anonymous_available();
668 }
669 db_finalize(&q1);
670 showTags(rid, "");
671 if( zParent ){
672 const char *zW;
 
 
673 @ <div class="section">Changes</div>
674 @ <div class="sectionmenu">
675 verboseFlag = g.zPath[0]!='c';
676 if( db_get_boolean("show-version-diffs", 0)==0 ){
677 verboseFlag = !verboseFlag;
678 diffFlags = construct_diff_flags(verboseFlag, sideBySide);
679 zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":"";
680 if( verboseFlag ){
681 @ %z(xhref("class='button'","%R/vinfo/%T%s",zName,zW))
682 @ hide&nbsp;diffs</a>
683 if( sideBySide ){
684 @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW))
685 @ unified&nbsp;diffs</a>
686 }else{
687 @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW))
688 @ side-by-side&nbsp;diffs</a>
689 }
690 if( *zW ){
691 @ %z(xhref("class='button'","%R/ci/%T?sbs=%s",zName,sideBySide?"1":"0"))
692 @ show&nbsp;whitespace&nbsp;differences</a>
693 }else{
694 @ %z(xhref("class='button'","%R/ci/%T?sbs=%s&w",zName,sideBySide?"1":"0"))
695 @ ignore&nbsp;whitespace</a>
696 }
697 }else{
698 @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW))
699 @ show&nbsp;unified&nbsp;diffs</a>
700 @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW))
701 @ show&nbsp;side-by-side&nbsp;diffs</a>
702 }
703 }else{
704 diffFlags = construct_diff_flags(verboseFlag, sideBySide);
705 zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":"";
706 if( verboseFlag ){
707 @ %z(xhref("class='button'","%R/ci/%T%s",zName,zW))hide&nbsp;diffs</a>
708 if( sideBySide ){
709 @ %z(xhref("class='button'","%R/info/%T?sbs=0",zName))
710 @ unified&nbsp;diffs</a>
711 }else{
712 @ %z(xhref("class='button'","%R/info/%T?sbs=1",zName))
713 @ side-by-side&nbsp;diffs</a>
714 }
715 }else{
716 @ %z(xhref("class='button'","%R/vinfo/%T?sbs=0",zName))
717 @ show&nbsp;unified&nbsp;diffs</a>
718 @ %z(xhref("class='button'","%R/vinfo/%T?sbs=1",zName))
719 @ show&nbsp;side-by-side&nbsp;diffs</a>
720 }
721 }
722 @ %z(xhref("class='button'","%R/vpatch?from=%S&to=%S",zParent,zUuid))
723 @ patch</a></div>
724 if( pRe ){
725 @ <p><b>Only differences that match regular expression "%h(zRe)"
726
--- src/info.c
+++ src/info.c
@@ -473,11 +473,10 @@
473 if( PD("noopt",0)!=0 ) diffFlags |= DIFF_NOOPT;
474 }
475 return diffFlags;
476 }
477
 
478 /*
479 ** WEBPAGE: vinfo
480 ** WEBPAGE: ci
481 ** URL: /ci?name=RID|ARTIFACTID
482 **
@@ -667,59 +666,45 @@
666 login_anonymous_available();
667 }
668 db_finalize(&q1);
669 showTags(rid, "");
670 if( zParent ){
671 const char *zW; /* URL param for hiding whitespace */
672 const char *zPage = "vinfo"; /* Page that shows diffs */
673 const char *zPageHide = "ci"; /* Page that hides diffs */
674 @ <div class="section">Changes</div>
675 @ <div class="sectionmenu">
676 verboseFlag = g.zPath[0]!='c';
677 if( db_get_boolean("show-version-diffs", 0)==0 ){
678 verboseFlag = !verboseFlag;
679 zPage = "ci";
680 zPageHide = "vinfo";
681 }
682 diffFlags = construct_diff_flags(verboseFlag, sideBySide);
683 zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":"";
684 if( verboseFlag ){
685 @ %z(xhref("class='button'","%R/%s/%T",zPageHide,zName))
686 @ hide&nbsp;diffs</a>
687 if( sideBySide ){
688 @ %z(xhref("class='button'","%R/%s/%T?sbs=0%s",zPage,zName,zW))
689 @ unified&nbsp;diffs</a>
690 }else{
691 @ %z(xhref("class='button'","%R/%s/%T?sbs=1%s",zPage,zName,zW))
692 @ side-by-side&nbsp;diffs</a>
693 }
694 if( *zW ){
695 @ %z(xhref("class='button'","%R/%s/%T?sbs=%d",zPage,zName,sideBySide))
696 @ show&nbsp;whitespace&nbsp;differences</a>
697 }else{
698 @ %z(xhref("class='button'","%R/%s/%T?sbs=%d&w",zPage,zName,sideBySide))
699 @ ignore&nbsp;whitespace</a>
700 }
701 }else{
702 @ %z(xhref("class='button'","%R/%s/%T?sbs=0",zPage,zName))
703 @ show&nbsp;unified&nbsp;diffs</a>
704 @ %z(xhref("class='button'","%R/%s/%T?sbs=1",zPage,zName))
705 @ show&nbsp;side-by-side&nbsp;diffs</a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
706 }
707 @ %z(xhref("class='button'","%R/vpatch?from=%S&to=%S",zParent,zUuid))
708 @ patch</a></div>
709 if( pRe ){
710 @ <p><b>Only differences that match regular expression "%h(zRe)"
711

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button