Fossil SCM
Add "Hide/Show Files" button to Parents and children/Ascendants and Descendants /timeline pages. Add "20 Entries"/"200 Entries" buttons to Ascendants and Descendants /timeline page.
Commit
df3ada575c9e3f0cda7566c31772466b7dd22be7
Parent
6728a8bd0898123…
1 file changed
+28
-12
+28
-12
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -1222,21 +1222,32 @@ | ||
| 1222 | 1222 | } |
| 1223 | 1223 | if( d_rid==0 && useDividers ) timeline_add_dividers(0, p_rid); |
| 1224 | 1224 | } |
| 1225 | 1225 | blob_appendf(&desc, " of %z[%.10s]</a>", |
| 1226 | 1226 | href("%R/info/%s", zUuid), zUuid); |
| 1227 | - if( (tmFlags & TIMELINE_UNHIDE)==0 ){ | |
| 1228 | - if( p_rid ){ | |
| 1229 | - url_add_parameter(&url, "p", zUuid); | |
| 1230 | - } | |
| 1231 | - if( d_rid ){ | |
| 1232 | - if( p_rid ){ | |
| 1233 | - /* If both p= and d= are set, we don't have the uuid of d yet. */ | |
| 1234 | - zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", d_rid); | |
| 1235 | - } | |
| 1236 | - url_add_parameter(&url, "d", zUuid); | |
| 1237 | - } | |
| 1227 | + if( p_rid ){ | |
| 1228 | + url_add_parameter(&url, "p", zUuid); | |
| 1229 | + } | |
| 1230 | + if( d_rid ){ | |
| 1231 | + if( p_rid ){ | |
| 1232 | + /* If both p= and d= are set, we don't have the uuid of d yet. */ | |
| 1233 | + zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", d_rid); | |
| 1234 | + } | |
| 1235 | + url_add_parameter(&url, "d", zUuid); | |
| 1236 | + } | |
| 1237 | + if( nEntry>20 ){ | |
| 1238 | + timeline_submenu(&url, "20 Entries", "n", "20", 0); | |
| 1239 | + } | |
| 1240 | + if( nEntry<200 ){ | |
| 1241 | + timeline_submenu(&url, "200 Entries", "n", "200", 0); | |
| 1242 | + } | |
| 1243 | + if( tmFlags & TIMELINE_FCHANGES ){ | |
| 1244 | + timeline_submenu(&url, "Hide Files", "v", 0, 0); | |
| 1245 | + }else{ | |
| 1246 | + timeline_submenu(&url, "Show Files", "v", "", 0); | |
| 1247 | + } | |
| 1248 | + if( (tmFlags & TIMELINE_UNHIDE)==0 ){ | |
| 1238 | 1249 | timeline_submenu(&url, "Unhide", "unhide", "", 0); |
| 1239 | 1250 | } |
| 1240 | 1251 | }else if( f_rid && g.perm.Read ){ |
| 1241 | 1252 | /* If f= is present, ignore all other parameters other than n= */ |
| 1242 | 1253 | char *zUuid; |
| @@ -1252,12 +1263,17 @@ | ||
| 1252 | 1263 | if( useDividers ) timeline_add_dividers(0, f_rid); |
| 1253 | 1264 | blob_appendf(&desc, "Parents and children of check-in "); |
| 1254 | 1265 | zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", f_rid); |
| 1255 | 1266 | blob_appendf(&desc, "%z[%.10s]</a>", href("%R/info/%s", zUuid), zUuid); |
| 1256 | 1267 | tmFlags |= TIMELINE_DISJOINT; |
| 1268 | + url_add_parameter(&url, "f", zUuid); | |
| 1269 | + if( tmFlags & TIMELINE_FCHANGES ){ | |
| 1270 | + timeline_submenu(&url, "Hide Files", "v", 0, 0); | |
| 1271 | + }else{ | |
| 1272 | + timeline_submenu(&url, "Show Files", "v", "", 0); | |
| 1273 | + } | |
| 1257 | 1274 | if( (tmFlags & TIMELINE_UNHIDE)==0 ){ |
| 1258 | - url_add_parameter(&url, "f", zUuid); | |
| 1259 | 1275 | timeline_submenu(&url, "Unhide", "unhide", "", 0); |
| 1260 | 1276 | } |
| 1261 | 1277 | }else{ |
| 1262 | 1278 | /* Otherwise, a timeline based on a span of time */ |
| 1263 | 1279 | int n; |
| 1264 | 1280 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1222,21 +1222,32 @@ | |
| 1222 | } |
| 1223 | if( d_rid==0 && useDividers ) timeline_add_dividers(0, p_rid); |
| 1224 | } |
| 1225 | blob_appendf(&desc, " of %z[%.10s]</a>", |
| 1226 | href("%R/info/%s", zUuid), zUuid); |
| 1227 | if( (tmFlags & TIMELINE_UNHIDE)==0 ){ |
| 1228 | if( p_rid ){ |
| 1229 | url_add_parameter(&url, "p", zUuid); |
| 1230 | } |
| 1231 | if( d_rid ){ |
| 1232 | if( p_rid ){ |
| 1233 | /* If both p= and d= are set, we don't have the uuid of d yet. */ |
| 1234 | zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", d_rid); |
| 1235 | } |
| 1236 | url_add_parameter(&url, "d", zUuid); |
| 1237 | } |
| 1238 | timeline_submenu(&url, "Unhide", "unhide", "", 0); |
| 1239 | } |
| 1240 | }else if( f_rid && g.perm.Read ){ |
| 1241 | /* If f= is present, ignore all other parameters other than n= */ |
| 1242 | char *zUuid; |
| @@ -1252,12 +1263,17 @@ | |
| 1252 | if( useDividers ) timeline_add_dividers(0, f_rid); |
| 1253 | blob_appendf(&desc, "Parents and children of check-in "); |
| 1254 | zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", f_rid); |
| 1255 | blob_appendf(&desc, "%z[%.10s]</a>", href("%R/info/%s", zUuid), zUuid); |
| 1256 | tmFlags |= TIMELINE_DISJOINT; |
| 1257 | if( (tmFlags & TIMELINE_UNHIDE)==0 ){ |
| 1258 | url_add_parameter(&url, "f", zUuid); |
| 1259 | timeline_submenu(&url, "Unhide", "unhide", "", 0); |
| 1260 | } |
| 1261 | }else{ |
| 1262 | /* Otherwise, a timeline based on a span of time */ |
| 1263 | int n; |
| 1264 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1222,21 +1222,32 @@ | |
| 1222 | } |
| 1223 | if( d_rid==0 && useDividers ) timeline_add_dividers(0, p_rid); |
| 1224 | } |
| 1225 | blob_appendf(&desc, " of %z[%.10s]</a>", |
| 1226 | href("%R/info/%s", zUuid), zUuid); |
| 1227 | if( p_rid ){ |
| 1228 | url_add_parameter(&url, "p", zUuid); |
| 1229 | } |
| 1230 | if( d_rid ){ |
| 1231 | if( p_rid ){ |
| 1232 | /* If both p= and d= are set, we don't have the uuid of d yet. */ |
| 1233 | zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", d_rid); |
| 1234 | } |
| 1235 | url_add_parameter(&url, "d", zUuid); |
| 1236 | } |
| 1237 | if( nEntry>20 ){ |
| 1238 | timeline_submenu(&url, "20 Entries", "n", "20", 0); |
| 1239 | } |
| 1240 | if( nEntry<200 ){ |
| 1241 | timeline_submenu(&url, "200 Entries", "n", "200", 0); |
| 1242 | } |
| 1243 | if( tmFlags & TIMELINE_FCHANGES ){ |
| 1244 | timeline_submenu(&url, "Hide Files", "v", 0, 0); |
| 1245 | }else{ |
| 1246 | timeline_submenu(&url, "Show Files", "v", "", 0); |
| 1247 | } |
| 1248 | if( (tmFlags & TIMELINE_UNHIDE)==0 ){ |
| 1249 | timeline_submenu(&url, "Unhide", "unhide", "", 0); |
| 1250 | } |
| 1251 | }else if( f_rid && g.perm.Read ){ |
| 1252 | /* If f= is present, ignore all other parameters other than n= */ |
| 1253 | char *zUuid; |
| @@ -1252,12 +1263,17 @@ | |
| 1263 | if( useDividers ) timeline_add_dividers(0, f_rid); |
| 1264 | blob_appendf(&desc, "Parents and children of check-in "); |
| 1265 | zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", f_rid); |
| 1266 | blob_appendf(&desc, "%z[%.10s]</a>", href("%R/info/%s", zUuid), zUuid); |
| 1267 | tmFlags |= TIMELINE_DISJOINT; |
| 1268 | url_add_parameter(&url, "f", zUuid); |
| 1269 | if( tmFlags & TIMELINE_FCHANGES ){ |
| 1270 | timeline_submenu(&url, "Hide Files", "v", 0, 0); |
| 1271 | }else{ |
| 1272 | timeline_submenu(&url, "Show Files", "v", "", 0); |
| 1273 | } |
| 1274 | if( (tmFlags & TIMELINE_UNHIDE)==0 ){ |
| 1275 | timeline_submenu(&url, "Unhide", "unhide", "", 0); |
| 1276 | } |
| 1277 | }else{ |
| 1278 | /* Otherwise, a timeline based on a span of time */ |
| 1279 | int n; |
| 1280 |