Fossil SCM

On the banner for days=, ymd=, and yw= include a count of the number of timeline items.

drh 2018-04-26 20:47 trunk
Commit d5fd4e2681fd007c60e23a4534c3fd90f00df36fb883eda205f84d559b04e5ee
1 file changed +17 -11
+17 -11
--- src/timeline.c
+++ src/timeline.c
@@ -1439,10 +1439,11 @@
14391439
char *zOlderButton = 0; /* URL for Older button at the bottom */
14401440
char *zNewerButton = 0; /* URL for Newer button at the top */
14411441
int selectedRid = -9999999; /* Show a highlight on this RID */
14421442
int disableY = 0; /* Disable type selector on submenu */
14431443
int advancedMenu = 0; /* Use the advanced menu design */
1444
+ char *zPlural; /* Ending for plural forms */
14441445
14451446
/* Set number of rows to display */
14461447
cookie_read_parameter("n","n");
14471448
z = P("n");
14481449
if( z==0 ) z = db_get("timeline-default-length",0);
@@ -1768,13 +1769,17 @@
17681769
if( z && z[0] ){
17691770
zYearWeekStart = db_text(0, "SELECT date(%Q,'-6 days','weekday 1')",
17701771
zYearWeek);
17711772
zYearWeek = z;
17721773
}else{
1773
- zYearWeekStart = db_text(0,
1774
- "SELECT date('%.4q-01-01','+%q weeks','weekday 1')",
1775
- zYearWeek, zYearWeek+5);
1774
+ if( strlen(zYearWeek)==7 ){
1775
+ zYearWeekStart = db_text(0,
1776
+ "SELECT date('%.4q-01-01','+%d days','weekday 1')",
1777
+ zYearWeek, atoi(zYearWeek+5)*7);
1778
+ }else{
1779
+ zYearWeekStart = 0;
1780
+ }
17761781
if( zYearWeekStart==0 || zYearWeekStart[0]==0 ){
17771782
zYearWeekStart = db_text(0,
17781783
"SELECT date('now','-6 days','weekday 1');");
17791784
zYearWeek = db_text(0,
17801785
"SELECT strftime('%%Y-%%W','now','-6 days','weekday 1')");
@@ -1941,24 +1946,25 @@
19411946
}
19421947
if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry);
19431948
db_multi_exec("%s", blob_sql_text(&sql));
19441949
19451950
n = db_int(0, "SELECT count(*) FROM timeline WHERE etype!='div' /*scan*/");
1951
+ zPlural = n==1 ? "" : "s";
19461952
if( zYearMonth ){
1947
- blob_appendf(&desc, "%ss for %h", zEType, zYearMonth);
1953
+ blob_appendf(&desc, "%d %s%s for %h", n, zEType, zPlural, zYearMonth);
19481954
}else if( zYearWeek ){
1949
- blob_appendf(&desc, "%ss for week %h beginning on %h",
1950
- zEType, zYearWeek, zYearWeekStart);
1955
+ blob_appendf(&desc, "%d %s%s for week %h beginning on %h",
1956
+ n, zEType, zPlural, zYearWeek, zYearWeekStart);
19511957
}else if( zDay ){
1952
- blob_appendf(&desc, "%ss occurring on %h", zEType, zDay);
1958
+ blob_appendf(&desc, "%d %s%s occurring on %h", n, zEType, zPlural, zDay);
19531959
}else if( zNDays ){
1954
- blob_appendf(&desc, "%ss within the past %d day%s",
1955
- zEType, nDays, nDays>1 ? "s" : "");
1960
+ blob_appendf(&desc, "%d %s%s within the past %d day%s",
1961
+ n, zEType, zPlural, nDays, nDays>1 ? "s" : "");
19561962
}else if( zBefore==0 && zCirca==0 && n>=nEntry && nEntry>0 ){
1957
- blob_appendf(&desc, "%d most recent %ss", n, zEType);
1963
+ blob_appendf(&desc, "%d most recent %s%s", n, zEType, zPlural);
19581964
}else{
1959
- blob_appendf(&desc, "%d %ss", n, zEType);
1965
+ blob_appendf(&desc, "%d %s%s", n, zEType, zPlural);
19601966
}
19611967
if( zUses ){
19621968
char *zFilenames = names_of_file(zUses);
19631969
blob_appendf(&desc, " using file %s version %z%S</a>", zFilenames,
19641970
href("%R/artifact/%!S",zUses), zUses);
19651971
--- src/timeline.c
+++ src/timeline.c
@@ -1439,10 +1439,11 @@
1439 char *zOlderButton = 0; /* URL for Older button at the bottom */
1440 char *zNewerButton = 0; /* URL for Newer button at the top */
1441 int selectedRid = -9999999; /* Show a highlight on this RID */
1442 int disableY = 0; /* Disable type selector on submenu */
1443 int advancedMenu = 0; /* Use the advanced menu design */
 
1444
1445 /* Set number of rows to display */
1446 cookie_read_parameter("n","n");
1447 z = P("n");
1448 if( z==0 ) z = db_get("timeline-default-length",0);
@@ -1768,13 +1769,17 @@
1768 if( z && z[0] ){
1769 zYearWeekStart = db_text(0, "SELECT date(%Q,'-6 days','weekday 1')",
1770 zYearWeek);
1771 zYearWeek = z;
1772 }else{
1773 zYearWeekStart = db_text(0,
1774 "SELECT date('%.4q-01-01','+%q weeks','weekday 1')",
1775 zYearWeek, zYearWeek+5);
 
 
 
 
1776 if( zYearWeekStart==0 || zYearWeekStart[0]==0 ){
1777 zYearWeekStart = db_text(0,
1778 "SELECT date('now','-6 days','weekday 1');");
1779 zYearWeek = db_text(0,
1780 "SELECT strftime('%%Y-%%W','now','-6 days','weekday 1')");
@@ -1941,24 +1946,25 @@
1941 }
1942 if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry);
1943 db_multi_exec("%s", blob_sql_text(&sql));
1944
1945 n = db_int(0, "SELECT count(*) FROM timeline WHERE etype!='div' /*scan*/");
 
1946 if( zYearMonth ){
1947 blob_appendf(&desc, "%ss for %h", zEType, zYearMonth);
1948 }else if( zYearWeek ){
1949 blob_appendf(&desc, "%ss for week %h beginning on %h",
1950 zEType, zYearWeek, zYearWeekStart);
1951 }else if( zDay ){
1952 blob_appendf(&desc, "%ss occurring on %h", zEType, zDay);
1953 }else if( zNDays ){
1954 blob_appendf(&desc, "%ss within the past %d day%s",
1955 zEType, nDays, nDays>1 ? "s" : "");
1956 }else if( zBefore==0 && zCirca==0 && n>=nEntry && nEntry>0 ){
1957 blob_appendf(&desc, "%d most recent %ss", n, zEType);
1958 }else{
1959 blob_appendf(&desc, "%d %ss", n, zEType);
1960 }
1961 if( zUses ){
1962 char *zFilenames = names_of_file(zUses);
1963 blob_appendf(&desc, " using file %s version %z%S</a>", zFilenames,
1964 href("%R/artifact/%!S",zUses), zUses);
1965
--- src/timeline.c
+++ src/timeline.c
@@ -1439,10 +1439,11 @@
1439 char *zOlderButton = 0; /* URL for Older button at the bottom */
1440 char *zNewerButton = 0; /* URL for Newer button at the top */
1441 int selectedRid = -9999999; /* Show a highlight on this RID */
1442 int disableY = 0; /* Disable type selector on submenu */
1443 int advancedMenu = 0; /* Use the advanced menu design */
1444 char *zPlural; /* Ending for plural forms */
1445
1446 /* Set number of rows to display */
1447 cookie_read_parameter("n","n");
1448 z = P("n");
1449 if( z==0 ) z = db_get("timeline-default-length",0);
@@ -1768,13 +1769,17 @@
1769 if( z && z[0] ){
1770 zYearWeekStart = db_text(0, "SELECT date(%Q,'-6 days','weekday 1')",
1771 zYearWeek);
1772 zYearWeek = z;
1773 }else{
1774 if( strlen(zYearWeek)==7 ){
1775 zYearWeekStart = db_text(0,
1776 "SELECT date('%.4q-01-01','+%d days','weekday 1')",
1777 zYearWeek, atoi(zYearWeek+5)*7);
1778 }else{
1779 zYearWeekStart = 0;
1780 }
1781 if( zYearWeekStart==0 || zYearWeekStart[0]==0 ){
1782 zYearWeekStart = db_text(0,
1783 "SELECT date('now','-6 days','weekday 1');");
1784 zYearWeek = db_text(0,
1785 "SELECT strftime('%%Y-%%W','now','-6 days','weekday 1')");
@@ -1941,24 +1946,25 @@
1946 }
1947 if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry);
1948 db_multi_exec("%s", blob_sql_text(&sql));
1949
1950 n = db_int(0, "SELECT count(*) FROM timeline WHERE etype!='div' /*scan*/");
1951 zPlural = n==1 ? "" : "s";
1952 if( zYearMonth ){
1953 blob_appendf(&desc, "%d %s%s for %h", n, zEType, zPlural, zYearMonth);
1954 }else if( zYearWeek ){
1955 blob_appendf(&desc, "%d %s%s for week %h beginning on %h",
1956 n, zEType, zPlural, zYearWeek, zYearWeekStart);
1957 }else if( zDay ){
1958 blob_appendf(&desc, "%d %s%s occurring on %h", n, zEType, zPlural, zDay);
1959 }else if( zNDays ){
1960 blob_appendf(&desc, "%d %s%s within the past %d day%s",
1961 n, zEType, zPlural, nDays, nDays>1 ? "s" : "");
1962 }else if( zBefore==0 && zCirca==0 && n>=nEntry && nEntry>0 ){
1963 blob_appendf(&desc, "%d most recent %s%s", n, zEType, zPlural);
1964 }else{
1965 blob_appendf(&desc, "%d %s%s", n, zEType, zPlural);
1966 }
1967 if( zUses ){
1968 char *zFilenames = names_of_file(zUses);
1969 blob_appendf(&desc, " using file %s version %z%S</a>", zFilenames,
1970 href("%R/artifact/%!S",zUses), zUses);
1971

Keyboard Shortcuts

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