Fossil SCM
On the banner for days=, ymd=, and yw= include a count of the number of timeline items.
Commit
d5fd4e2681fd007c60e23a4534c3fd90f00df36fb883eda205f84d559b04e5ee
Parent
69786b02dedd0ff…
1 file changed
+17
-11
+17
-11
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -1439,10 +1439,11 @@ | ||
| 1439 | 1439 | char *zOlderButton = 0; /* URL for Older button at the bottom */ |
| 1440 | 1440 | char *zNewerButton = 0; /* URL for Newer button at the top */ |
| 1441 | 1441 | int selectedRid = -9999999; /* Show a highlight on this RID */ |
| 1442 | 1442 | int disableY = 0; /* Disable type selector on submenu */ |
| 1443 | 1443 | int advancedMenu = 0; /* Use the advanced menu design */ |
| 1444 | + char *zPlural; /* Ending for plural forms */ | |
| 1444 | 1445 | |
| 1445 | 1446 | /* Set number of rows to display */ |
| 1446 | 1447 | cookie_read_parameter("n","n"); |
| 1447 | 1448 | z = P("n"); |
| 1448 | 1449 | if( z==0 ) z = db_get("timeline-default-length",0); |
| @@ -1768,13 +1769,17 @@ | ||
| 1768 | 1769 | if( z && z[0] ){ |
| 1769 | 1770 | zYearWeekStart = db_text(0, "SELECT date(%Q,'-6 days','weekday 1')", |
| 1770 | 1771 | zYearWeek); |
| 1771 | 1772 | zYearWeek = z; |
| 1772 | 1773 | }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 | + } | |
| 1776 | 1781 | if( zYearWeekStart==0 || zYearWeekStart[0]==0 ){ |
| 1777 | 1782 | zYearWeekStart = db_text(0, |
| 1778 | 1783 | "SELECT date('now','-6 days','weekday 1');"); |
| 1779 | 1784 | zYearWeek = db_text(0, |
| 1780 | 1785 | "SELECT strftime('%%Y-%%W','now','-6 days','weekday 1')"); |
| @@ -1941,24 +1946,25 @@ | ||
| 1941 | 1946 | } |
| 1942 | 1947 | if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry); |
| 1943 | 1948 | db_multi_exec("%s", blob_sql_text(&sql)); |
| 1944 | 1949 | |
| 1945 | 1950 | n = db_int(0, "SELECT count(*) FROM timeline WHERE etype!='div' /*scan*/"); |
| 1951 | + zPlural = n==1 ? "" : "s"; | |
| 1946 | 1952 | if( zYearMonth ){ |
| 1947 | - blob_appendf(&desc, "%ss for %h", zEType, zYearMonth); | |
| 1953 | + blob_appendf(&desc, "%d %s%s for %h", n, zEType, zPlural, zYearMonth); | |
| 1948 | 1954 | }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); | |
| 1951 | 1957 | }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); | |
| 1953 | 1959 | }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" : ""); | |
| 1956 | 1962 | }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); | |
| 1958 | 1964 | }else{ |
| 1959 | - blob_appendf(&desc, "%d %ss", n, zEType); | |
| 1965 | + blob_appendf(&desc, "%d %s%s", n, zEType, zPlural); | |
| 1960 | 1966 | } |
| 1961 | 1967 | if( zUses ){ |
| 1962 | 1968 | char *zFilenames = names_of_file(zUses); |
| 1963 | 1969 | blob_appendf(&desc, " using file %s version %z%S</a>", zFilenames, |
| 1964 | 1970 | href("%R/artifact/%!S",zUses), zUses); |
| 1965 | 1971 |
| --- 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 |