| | @@ -746,10 +746,17 @@ |
| 746 | 746 | "%s/info/%s", g.zTop, zUuid); |
| 747 | 747 | style_submenu_element("Check-ins", "Check-ins", |
| 748 | 748 | "%s/tkttimeline?name=%s&y=ci", g.zTop, zUuid); |
| 749 | 749 | style_submenu_element("Timeline", "Timeline", |
| 750 | 750 | "%s/tkttimeline?name=%s", g.zTop, zUuid); |
| 751 | + if( P("plaintext")!=0 ){ |
| 752 | + style_submenu_element("Formatted", "Formatted", |
| 753 | + "%R/tkthistory/%S", zUuid); |
| 754 | + }else{ |
| 755 | + style_submenu_element("Plaintext", "Plaintext", |
| 756 | + "%R/tkthistory/%S?plaintext", zUuid); |
| 757 | + } |
| 751 | 758 | style_header(zTitle); |
| 752 | 759 | free(zTitle); |
| 753 | 760 | |
| 754 | 761 | tagid = db_int(0, "SELECT tagid FROM tag WHERE tagname GLOB 'tkt-%q*'",zUuid); |
| 755 | 762 | if( tagid==0 ){ |
| | @@ -828,24 +835,32 @@ |
| 828 | 835 | ** The pTkt object is a ticket change artifact. Output a detailed |
| 829 | 836 | ** description of this object. |
| 830 | 837 | */ |
| 831 | 838 | void ticket_output_change_artifact(Manifest *pTkt){ |
| 832 | 839 | int i; |
| 840 | + int wikiFlags = WIKI_NOBADLINKS; |
| 841 | + const char *zBlock = "<blockquote>"; |
| 842 | + const char *zEnd = "</blockquote>"; |
| 843 | + if( P("plaintext")!=0 ){ |
| 844 | + wikiFlags |= WIKI_LINKSONLY; |
| 845 | + zBlock = "<blockquote><pre class='verbatim'>"; |
| 846 | + zEnd = "</pre></blockquote>"; |
| 847 | + } |
| 833 | 848 | @ <ol> |
| 834 | 849 | for(i=0; i<pTkt->nField; i++){ |
| 835 | 850 | Blob val; |
| 836 | 851 | const char *z; |
| 837 | 852 | z = pTkt->aField[i].zName; |
| 838 | 853 | blob_set(&val, pTkt->aField[i].zValue); |
| 839 | 854 | if( z[0]=='+' ){ |
| 840 | | - @ <li>Appended to %h(&z[1]):<blockquote> |
| 841 | | - wiki_convert(&val, 0, WIKI_NOBADLINKS); |
| 842 | | - @ </blockquote></li> |
| 843 | | - }else if( blob_size(&val)<=50 && contains_newline(&val) ){ |
| 844 | | - @ <li>Change %h(z) to:<blockquote> |
| 845 | | - wiki_convert(&val, 0, WIKI_NOBADLINKS); |
| 846 | | - @ </blockquote></li> |
| 855 | + @ <li>Appended to %h(&z[1]):%s(zBlock) |
| 856 | + wiki_convert(&val, 0, wikiFlags); |
| 857 | + @ %s(zEnd)</li> |
| 858 | + }else if( blob_size(&val)>50 || contains_newline(&val) ){ |
| 859 | + @ <li>Change %h(z) to:%s(zBlock) |
| 860 | + wiki_convert(&val, 0, wikiFlags); |
| 861 | + @ %s(zEnd)</li> |
| 847 | 862 | }else{ |
| 848 | 863 | @ <li>Change %h(z) to "%h(blob_str(&val))"</li> |
| 849 | 864 | } |
| 850 | 865 | blob_reset(&val); |
| 851 | 866 | } |
| 852 | 867 | |