Fossil SCM

Add "Unhide" button in more timeline variants.

jan.nijtmans 2013-12-23 10:19 UTC hidden-tag
Commit ef2b77207ad4e484fca21f3347501ce266ce4f27
2 files changed +1 -1 +17 -3
+1 -1
--- src/info.c
+++ src/info.c
@@ -1634,11 +1634,11 @@
16341634
objType = object_description(rid, 0, &downloadName);
16351635
style_submenu_element("Download", "Download",
16361636
"%R/raw/%T?name=%s", blob_str(&downloadName), zUuid);
16371637
if( db_exists("SELECT 1 FROM mlink WHERE fid=%d", rid) ){
16381638
style_submenu_element("Checkins Using", "Checkins Using",
1639
- "%R/timeline?uf=%s&n=200",zUuid);
1639
+ "%R/timeline?n=200&uf=%s&unhide",zUuid);
16401640
}
16411641
asText = P("txt")!=0;
16421642
zMime = mimetype_from_name(blob_str(&downloadName));
16431643
if( zMime ){
16441644
if( fossil_strcmp(zMime, "text/html")==0 ){
16451645
--- src/info.c
+++ src/info.c
@@ -1634,11 +1634,11 @@
1634 objType = object_description(rid, 0, &downloadName);
1635 style_submenu_element("Download", "Download",
1636 "%R/raw/%T?name=%s", blob_str(&downloadName), zUuid);
1637 if( db_exists("SELECT 1 FROM mlink WHERE fid=%d", rid) ){
1638 style_submenu_element("Checkins Using", "Checkins Using",
1639 "%R/timeline?uf=%s&n=200",zUuid);
1640 }
1641 asText = P("txt")!=0;
1642 zMime = mimetype_from_name(blob_str(&downloadName));
1643 if( zMime ){
1644 if( fossil_strcmp(zMime, "text/html")==0 ){
1645
--- src/info.c
+++ src/info.c
@@ -1634,11 +1634,11 @@
1634 objType = object_description(rid, 0, &downloadName);
1635 style_submenu_element("Download", "Download",
1636 "%R/raw/%T?name=%s", blob_str(&downloadName), zUuid);
1637 if( db_exists("SELECT 1 FROM mlink WHERE fid=%d", rid) ){
1638 style_submenu_element("Checkins Using", "Checkins Using",
1639 "%R/timeline?n=200&uf=%s&unhide",zUuid);
1640 }
1641 asText = P("txt")!=0;
1642 zMime = mimetype_from_name(blob_str(&downloadName));
1643 if( zMime ){
1644 if( fossil_strcmp(zMime, "text/html")==0 ){
1645
+17 -3
--- src/timeline.c
+++ src/timeline.c
@@ -1111,10 +1111,11 @@
11111111
if( zType[0]=='a' ){
11121112
tmFlags = TIMELINE_BRIEF | TIMELINE_GRAPH;
11131113
}else{
11141114
tmFlags = TIMELINE_GRAPH;
11151115
}
1116
+ url_add_parameter(&url, "n", mprintf("%d", nEntry));
11161117
if( P("ng")!=0 || zSearch!=0 ){
11171118
tmFlags &= ~TIMELINE_GRAPH;
11181119
url_add_parameter(&url, "ng", 0);
11191120
}
11201121
if( P("brbg")!=0 ){
@@ -1231,10 +1232,21 @@
12311232
}
12321233
if( d_rid==0 && useDividers ) timeline_add_dividers(0, p_rid);
12331234
}
12341235
blob_appendf(&desc, " of %z[%.10s]</a>",
12351236
href("%R/info/%s", zUuid), zUuid);
1237
+ if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1238
+ if( p_rid ){
1239
+ url_add_parameter(&url, "p", zUuid);
1240
+ if( d_rid ){
1241
+ /* If both p= and d= are set, we don't have the uuid of d yet. */
1242
+ zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", d_rid);
1243
+ }
1244
+ }
1245
+ if( d_rid ) url_add_parameter(&url, "d", zUuid);
1246
+ timeline_submenu(&url, "Unhide", "unhide", "", 0);
1247
+ }
12361248
}else if( f_rid && g.perm.Read ){
12371249
/* If f= is present, ignore all other parameters other than n= */
12381250
char *zUuid;
12391251
db_multi_exec(
12401252
"CREATE TEMP TABLE IF NOT EXISTS ok(rid INTEGER PRIMARY KEY);"
@@ -1248,17 +1260,19 @@
12481260
if( useDividers ) timeline_add_dividers(0, f_rid);
12491261
blob_appendf(&desc, "Parents and children of check-in ");
12501262
zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", f_rid);
12511263
blob_appendf(&desc, "%z[%.10s]</a>", href("%R/info/%s", zUuid), zUuid);
12521264
tmFlags |= TIMELINE_DISJOINT;
1265
+ if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1266
+ url_add_parameter(&url, "f", zUuid);
1267
+ timeline_submenu(&url, "Unhide", "unhide", "", 0);
1268
+ }
12531269
}else{
12541270
/* Otherwise, a timeline based on a span of time */
12551271
int n;
12561272
const char *zEType = "timeline item";
12571273
char *zDate;
1258
- char *zNEntry = mprintf("%d", nEntry);
1259
- url_add_parameter(&url, "n", zNEntry);
12601274
if( zUses ){
12611275
blob_appendf(&sql, " AND event.objid IN usesfile ");
12621276
}
12631277
if( renameOnly ){
12641278
blob_appendf(&sql, " AND event.objid IN rnfile ");
@@ -1944,11 +1958,11 @@
19441958
" AND blob.rid=c.cid"
19451959
);
19461960
while( db_step(&q)==SQLITE_ROW ){
19471961
const char *zUuid = db_column_text(&q, 0);
19481962
@ <li>
1949
- @ <a href="%s(g.zTop)/timeline?p=%S(zUuid)&amp;d=%S(zUuid)">%S(zUuid)</a>
1963
+ @ <a href="%s(g.zTop)/timeline?p=%S(zUuid)&amp;d=%S(zUuid)&amp;unhide">%S(zUuid)</a>
19501964
}
19511965
db_finalize(&q);
19521966
style_footer();
19531967
}
19541968
19551969
--- src/timeline.c
+++ src/timeline.c
@@ -1111,10 +1111,11 @@
1111 if( zType[0]=='a' ){
1112 tmFlags = TIMELINE_BRIEF | TIMELINE_GRAPH;
1113 }else{
1114 tmFlags = TIMELINE_GRAPH;
1115 }
 
1116 if( P("ng")!=0 || zSearch!=0 ){
1117 tmFlags &= ~TIMELINE_GRAPH;
1118 url_add_parameter(&url, "ng", 0);
1119 }
1120 if( P("brbg")!=0 ){
@@ -1231,10 +1232,21 @@
1231 }
1232 if( d_rid==0 && useDividers ) timeline_add_dividers(0, p_rid);
1233 }
1234 blob_appendf(&desc, " of %z[%.10s]</a>",
1235 href("%R/info/%s", zUuid), zUuid);
 
 
 
 
 
 
 
 
 
 
 
1236 }else if( f_rid && g.perm.Read ){
1237 /* If f= is present, ignore all other parameters other than n= */
1238 char *zUuid;
1239 db_multi_exec(
1240 "CREATE TEMP TABLE IF NOT EXISTS ok(rid INTEGER PRIMARY KEY);"
@@ -1248,17 +1260,19 @@
1248 if( useDividers ) timeline_add_dividers(0, f_rid);
1249 blob_appendf(&desc, "Parents and children of check-in ");
1250 zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", f_rid);
1251 blob_appendf(&desc, "%z[%.10s]</a>", href("%R/info/%s", zUuid), zUuid);
1252 tmFlags |= TIMELINE_DISJOINT;
 
 
 
 
1253 }else{
1254 /* Otherwise, a timeline based on a span of time */
1255 int n;
1256 const char *zEType = "timeline item";
1257 char *zDate;
1258 char *zNEntry = mprintf("%d", nEntry);
1259 url_add_parameter(&url, "n", zNEntry);
1260 if( zUses ){
1261 blob_appendf(&sql, " AND event.objid IN usesfile ");
1262 }
1263 if( renameOnly ){
1264 blob_appendf(&sql, " AND event.objid IN rnfile ");
@@ -1944,11 +1958,11 @@
1944 " AND blob.rid=c.cid"
1945 );
1946 while( db_step(&q)==SQLITE_ROW ){
1947 const char *zUuid = db_column_text(&q, 0);
1948 @ <li>
1949 @ <a href="%s(g.zTop)/timeline?p=%S(zUuid)&amp;d=%S(zUuid)">%S(zUuid)</a>
1950 }
1951 db_finalize(&q);
1952 style_footer();
1953 }
1954
1955
--- src/timeline.c
+++ src/timeline.c
@@ -1111,10 +1111,11 @@
1111 if( zType[0]=='a' ){
1112 tmFlags = TIMELINE_BRIEF | TIMELINE_GRAPH;
1113 }else{
1114 tmFlags = TIMELINE_GRAPH;
1115 }
1116 url_add_parameter(&url, "n", mprintf("%d", nEntry));
1117 if( P("ng")!=0 || zSearch!=0 ){
1118 tmFlags &= ~TIMELINE_GRAPH;
1119 url_add_parameter(&url, "ng", 0);
1120 }
1121 if( P("brbg")!=0 ){
@@ -1231,10 +1232,21 @@
1232 }
1233 if( d_rid==0 && useDividers ) timeline_add_dividers(0, p_rid);
1234 }
1235 blob_appendf(&desc, " of %z[%.10s]</a>",
1236 href("%R/info/%s", zUuid), zUuid);
1237 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1238 if( p_rid ){
1239 url_add_parameter(&url, "p", zUuid);
1240 if( d_rid ){
1241 /* If both p= and d= are set, we don't have the uuid of d yet. */
1242 zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", d_rid);
1243 }
1244 }
1245 if( d_rid ) url_add_parameter(&url, "d", zUuid);
1246 timeline_submenu(&url, "Unhide", "unhide", "", 0);
1247 }
1248 }else if( f_rid && g.perm.Read ){
1249 /* If f= is present, ignore all other parameters other than n= */
1250 char *zUuid;
1251 db_multi_exec(
1252 "CREATE TEMP TABLE IF NOT EXISTS ok(rid INTEGER PRIMARY KEY);"
@@ -1248,17 +1260,19 @@
1260 if( useDividers ) timeline_add_dividers(0, f_rid);
1261 blob_appendf(&desc, "Parents and children of check-in ");
1262 zUuid = db_text("", "SELECT uuid FROM blob WHERE rid=%d", f_rid);
1263 blob_appendf(&desc, "%z[%.10s]</a>", href("%R/info/%s", zUuid), zUuid);
1264 tmFlags |= TIMELINE_DISJOINT;
1265 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1266 url_add_parameter(&url, "f", zUuid);
1267 timeline_submenu(&url, "Unhide", "unhide", "", 0);
1268 }
1269 }else{
1270 /* Otherwise, a timeline based on a span of time */
1271 int n;
1272 const char *zEType = "timeline item";
1273 char *zDate;
 
 
1274 if( zUses ){
1275 blob_appendf(&sql, " AND event.objid IN usesfile ");
1276 }
1277 if( renameOnly ){
1278 blob_appendf(&sql, " AND event.objid IN rnfile ");
@@ -1944,11 +1958,11 @@
1958 " AND blob.rid=c.cid"
1959 );
1960 while( db_step(&q)==SQLITE_ROW ){
1961 const char *zUuid = db_column_text(&q, 0);
1962 @ <li>
1963 @ <a href="%s(g.zTop)/timeline?p=%S(zUuid)&amp;d=%S(zUuid)&amp;unhide">%S(zUuid)</a>
1964 }
1965 db_finalize(&q);
1966 style_footer();
1967 }
1968
1969

Keyboard Shortcuts

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