Fossil SCM

Next and Previous submenu buttons on the /wdiff page in order to step through all versions of a wiki page.

drh 2018-12-12 20:43 trunk
Commit 19eaa3cae4d5b30760453eb3ca6d3497d32b9c8a2e1f7169f4b3ca0b118d48fd
2 files changed +1 +6 -1
+1
--- src/info.c
+++ src/info.c
@@ -955,10 +955,11 @@
955955
int i;
956956
@ <tr><th>Parent%s(pWiki->nParent==1?"":"s"):</th><td>
957957
for(i=0; i<pWiki->nParent; i++){
958958
char *zParent = pWiki->azParent[i];
959959
@ %z(href("info/%!S",zParent))%s(zParent)</a>
960
+ @ %z(href("%R/wdiff?id=%!S&pid=%!S",zUuid,zParent))(diff)</a>
960961
}
961962
@ </td></tr>
962963
}
963964
tagid = wiki_tagid(pWiki->zWikiTitle);
964965
if( tagid>0 && (ridNext = wiki_next(tagid, pWiki->rDate))>0 ){
965966
--- src/info.c
+++ src/info.c
@@ -955,10 +955,11 @@
955 int i;
956 @ <tr><th>Parent%s(pWiki->nParent==1?"":"s"):</th><td>
957 for(i=0; i<pWiki->nParent; i++){
958 char *zParent = pWiki->azParent[i];
959 @ %z(href("info/%!S",zParent))%s(zParent)</a>
 
960 }
961 @ </td></tr>
962 }
963 tagid = wiki_tagid(pWiki->zWikiTitle);
964 if( tagid>0 && (ridNext = wiki_next(tagid, pWiki->rDate))>0 ){
965
--- src/info.c
+++ src/info.c
@@ -955,10 +955,11 @@
955 int i;
956 @ <tr><th>Parent%s(pWiki->nParent==1?"":"s"):</th><td>
957 for(i=0; i<pWiki->nParent; i++){
958 char *zParent = pWiki->azParent[i];
959 @ %z(href("info/%!S",zParent))%s(zParent)</a>
960 @ %z(href("%R/wdiff?id=%!S&pid=%!S",zUuid,zParent))(diff)</a>
961 }
962 @ </td></tr>
963 }
964 tagid = wiki_tagid(pWiki->zWikiTitle);
965 if( tagid>0 && (ridNext = wiki_next(tagid, pWiki->rDate))>0 ){
966
+6 -1
--- src/wiki.c
+++ src/wiki.c
@@ -942,11 +942,11 @@
942942
*/
943943
void wdiff_page(void){
944944
const char *zId;
945945
const char *zPid;
946946
Manifest *pW1, *pW2 = 0;
947
- int rid1, rid2;
947
+ int rid1, rid2, nextRid;
948948
Blob w1, w2, d;
949949
u64 diffFlags;
950950
951951
login_check_credentials();
952952
if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
@@ -973,15 +973,20 @@
973973
@ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>" \
974974
zDate = db_text(0, "SELECT datetime(%.16g)",pW2->rDate);
975975
@ between %z(href("%R/info/%s",zPid))%z(zDate)</a> \
976976
zDate = db_text(0, "SELECT datetime(%.16g)",pW1->rDate);
977977
@ and %z(href("%R/info/%s",zId))%z(zDate)</a></h2>
978
+ style_submenu_element("Previous", "%R/wdiff?id=%S", zPid);
978979
}else{
979980
blob_zero(&w2);
980981
@ <h2>Initial version of \
981982
@ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>"\
982983
@ </h2>
984
+ }
985
+ nextRid = wiki_next(wiki_tagid(pW1->zWikiTitle),pW1->rDate);
986
+ if( nextRid ){
987
+ style_submenu_element("Next", "%R/wdiff?rid=%d", nextRid);
983988
}
984989
style_header("Changes To %s", pW1->zWikiTitle);
985990
blob_zero(&d);
986991
diffFlags = construct_diff_flags(1);
987992
text_diff(&w2, &w1, &d, 0, diffFlags | DIFF_HTML | DIFF_LINENO);
988993
--- src/wiki.c
+++ src/wiki.c
@@ -942,11 +942,11 @@
942 */
943 void wdiff_page(void){
944 const char *zId;
945 const char *zPid;
946 Manifest *pW1, *pW2 = 0;
947 int rid1, rid2;
948 Blob w1, w2, d;
949 u64 diffFlags;
950
951 login_check_credentials();
952 if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
@@ -973,15 +973,20 @@
973 @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>" \
974 zDate = db_text(0, "SELECT datetime(%.16g)",pW2->rDate);
975 @ between %z(href("%R/info/%s",zPid))%z(zDate)</a> \
976 zDate = db_text(0, "SELECT datetime(%.16g)",pW1->rDate);
977 @ and %z(href("%R/info/%s",zId))%z(zDate)</a></h2>
 
978 }else{
979 blob_zero(&w2);
980 @ <h2>Initial version of \
981 @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>"\
982 @ </h2>
 
 
 
 
983 }
984 style_header("Changes To %s", pW1->zWikiTitle);
985 blob_zero(&d);
986 diffFlags = construct_diff_flags(1);
987 text_diff(&w2, &w1, &d, 0, diffFlags | DIFF_HTML | DIFF_LINENO);
988
--- src/wiki.c
+++ src/wiki.c
@@ -942,11 +942,11 @@
942 */
943 void wdiff_page(void){
944 const char *zId;
945 const char *zPid;
946 Manifest *pW1, *pW2 = 0;
947 int rid1, rid2, nextRid;
948 Blob w1, w2, d;
949 u64 diffFlags;
950
951 login_check_credentials();
952 if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
@@ -973,15 +973,20 @@
973 @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>" \
974 zDate = db_text(0, "SELECT datetime(%.16g)",pW2->rDate);
975 @ between %z(href("%R/info/%s",zPid))%z(zDate)</a> \
976 zDate = db_text(0, "SELECT datetime(%.16g)",pW1->rDate);
977 @ and %z(href("%R/info/%s",zId))%z(zDate)</a></h2>
978 style_submenu_element("Previous", "%R/wdiff?id=%S", zPid);
979 }else{
980 blob_zero(&w2);
981 @ <h2>Initial version of \
982 @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>"\
983 @ </h2>
984 }
985 nextRid = wiki_next(wiki_tagid(pW1->zWikiTitle),pW1->rDate);
986 if( nextRid ){
987 style_submenu_element("Next", "%R/wdiff?rid=%d", nextRid);
988 }
989 style_header("Changes To %s", pW1->zWikiTitle);
990 blob_zero(&d);
991 diffFlags = construct_diff_flags(1);
992 text_diff(&w2, &w1, &d, 0, diffFlags | DIFF_HTML | DIFF_LINENO);
993

Keyboard Shortcuts

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