gnucash maint: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sat Sep 26 14:38:24 EDT 2020


Updated	 via  https://github.com/Gnucash/gnucash/commit/6ecbb814 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d810e82f (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b72014c7 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/05bf2d7a (commit)
	from  https://github.com/Gnucash/gnucash/commit/e84fd6a9 (commit)



commit 6ecbb814e093da42d8c14e883bdec5130d2d23b4
Merge: e84fd6a95 d810e82f9
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Sep 27 02:36:39 2020 +0800

    Merge branch 'maint-797893' into maint #789


commit d810e82f982ee6a498fbe54e87a6e7088cb041c5
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Sep 26 19:55:12 2020 +0800

    [html-chart] use gensym instead of guid
    
    ... because technically guids should be freed when not needed. gensym
    generates a guaranteed unique string with prefix within program lifecycle.

diff --git a/gnucash/report/html-chart.scm b/gnucash/report/html-chart.scm
index 3a0c79706..d3da4b47e 100644
--- a/gnucash/report/html-chart.scm
+++ b/gnucash/report/html-chart.scm
@@ -406,7 +406,7 @@ document.getElementById(chartid).onclick = function(evt) {
          (push (lambda (l) (set! retval (cons l retval))))
          ;; Use a unique chart-id for each chart. This prevents charts
          ;; clashing on multi-column reports
-         (id (guid-new-return)))
+         (id (symbol->string (gensym "chart"))))
 
     (push (gnc:html-js-include
            (gnc-path-find-localized-html-file "chartjs/Chart.bundle.min.js")))
@@ -417,12 +417,12 @@ document.getElementById(chartid).onclick = function(evt) {
                   (size->str (gnc:html-chart-width chart))
                   (size->str (gnc:html-chart-height chart))))
     (push (format #f "<a id='jump-~a' href='' style='display:none'></a>\n" id))
-    (push (format #f "<canvas id='chart-~a'></canvas>\n" id))
+    (push (format #f "<canvas id=~s></canvas>\n" id))
     (push "</div>\n")
     (push (format #f "<script id='script-~a'>\n" id))
     (push (format #f "var curriso = ~s;\n" (gnc:html-chart-currency-iso chart)))
     (push (format #f "var currsym = ~s;\n" (gnc:html-chart-currency-symbol chart)))
-    (push (format #f "var chartid = 'chart-~a';\n" id))
+    (push (format #f "var chartid = ~s;\n" id))
     (push (format #f "var jumpid = 'jump-~a';\n" id))
     (push (format #f "var loadstring = ~s;\n" (G_ "Load")))
     (push (format #f "var chartjsoptions = ~a;\n\n"

commit b72014c7de8e9cb7311b1d60ef3895f7060082d8
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Sep 26 17:43:17 2020 +0800

    Bug 797893 - Unable to change font size in charts
    
    The bug specifies chart fonts are not customisable. We can copy the
    (gnucash) stylesheet properties which define <h3> and <body> font
    styles onto chartjs properties.

diff --git a/gnucash/report/html-chart.scm b/gnucash/report/html-chart.scm
index 70d3d49ea..3a0c79706 100644
--- a/gnucash/report/html-chart.scm
+++ b/gnucash/report/html-chart.scm
@@ -186,7 +186,6 @@
                                                                      (cons 'display #t)
                                                                      (cons 'labelString "")))
                                                   (cons 'ticks (list
-                                                                (cons 'fontSize 12)
                                                                 (cons 'maxRotation 30))))
                                                  ;; the following another xAxis at the top
                                                  '((position . top)
@@ -205,7 +204,6 @@
                                                                      (cons 'display 1.5)
                                                                      (cons 'labelString "")))
                                                   (cons 'ticks (list
-                                                                (cons 'fontSize 10)
                                                                 (cons 'beginAtZero #f))))
                                                  ;; the following another yAxis on the right
                                                  '((position . right)
@@ -215,7 +213,6 @@
                                                  ))))
                     (cons 'title (list
                                   (cons 'display #t)
-                                  (cons 'fontSize 16)
                                   (cons 'fontStyle "")
                                   (cons 'text ""))))))
    "XXX"     ;currency-iso
@@ -348,6 +345,17 @@ Chart.pluginService.register({
   }
 })
 
+// copy font info from css into chartjs.
+bodyStyle = window.getComputedStyle (document.querySelector ('body'));
+Chart.defaults.global.defaultFontSize = parseInt (bodyStyle.fontSize);
+Chart.defaults.global.defaultFontFamily = bodyStyle.fontFamily;
+Chart.defaults.global.defaultFontStyle = bodyStyle.fontStyle;
+
+titleStyle = window.getComputedStyle (document.querySelector ('h3'));
+chartjsoptions.options.title.fontSize = parseInt (titleStyle.fontSize);
+chartjsoptions.options.title.fontFamily = titleStyle.fontFamily;
+chartjsoptions.options.title.fontStyle = titleStyle.fontStyle;
+
 document.getElementById(chartid).onclick = function(evt) {
   var activepoints = myChart.getElementAtEvent(evt);
   var anchor = document.getElementById(jumpid);
@@ -403,6 +411,8 @@ document.getElementById(chartid).onclick = function(evt) {
     (push (gnc:html-js-include
            (gnc-path-find-localized-html-file "chartjs/Chart.bundle.min.js")))
 
+    ;; the following hidden h3 is used to query style and copy onto chartjs
+    (push "<h3 style='display:none'></h3>")
     (push (format #f "<div style='width:~a;height:~a;'>\n"
                   (size->str (gnc:html-chart-width chart))
                   (size->str (gnc:html-chart-height chart))))
@@ -428,7 +438,6 @@ document.getElementById(chartid).onclick = function(evt) {
 
     (push "chartjsoptions.options.tooltips.callbacks.label = tooltipLabel;\n")
     (push "chartjsoptions.options.tooltips.callbacks.title = tooltipTitle;\n")
-    (push "Chart.defaults.global.defaultFontFamily = \"'Trebuchet MS', Arial, Helvetica, sans-serif\";\n")
     (push JS-setup)
 
     (push "var myChart = new Chart(chartid, chartjsoptions);\n")

commit 05bf2d7a9ccc35856ef17fbc60671fc892de1e32
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Sep 26 17:31:48 2020 +0800

    [reports] use h3 instead of h2 for report-title
    
    "Title" style applies to h3. Ensure that report titles are h3 to be
    styled as requested by stylesheets.

diff --git a/gnucash/report/html-utilities.scm b/gnucash/report/html-utilities.scm
index a801111e1..d5bda78a3 100644
--- a/gnucash/report/html-utilities.scm
+++ b/gnucash/report/html-utilities.scm
@@ -228,13 +228,10 @@
 
 
 (define (gnc:html-make-generic-simple-warning report-title-string message)
-  (let ((p (gnc:make-html-text)))
-    (gnc:html-text-append!
-     p
-     (gnc:html-markup-h2 (string-append report-title-string ":"))
-     (gnc:html-markup-h2 "")
-     (gnc:html-markup-p message))
-    p))
+  (gnc:make-html-text
+   (gnc:html-markup-h3 (string-append report-title-string ":"))
+   (gnc:html-markup-h3 "")
+   (gnc:html-markup-p message)))
 
 
 (define (gnc:html-make-options-link report-id)
@@ -301,14 +298,11 @@
 (define (gnc:html-make-generic-warning
          report-title-string report-id
          warning-title-string warning-string)
-  (let ((p (gnc:make-html-text)))
-   (gnc:html-text-append!
-    p
-    (gnc:html-markup-h2 (string-append (G_ report-title-string) ":"))
-    (gnc:html-markup-h2 warning-title-string)
-    (gnc:html-markup-p warning-string)
-    (gnc:html-make-options-link report-id))
-   p))
+  (gnc:make-html-text
+   (gnc:html-markup-h3 (string-append (G_ report-title-string) ":"))
+   (gnc:html-markup-h3 warning-title-string)
+   (gnc:html-markup-p warning-string)
+   (gnc:html-make-options-link report-id)))
 
 (define (gnc:html-make-generic-options-warning
          report-title-string report-id)
diff --git a/gnucash/report/reports/example/welcome-to-gnucash.scm b/gnucash/report/reports/example/welcome-to-gnucash.scm
index 6675312ae..80a2e0768 100644
--- a/gnucash/report/reports/example/welcome-to-gnucash.scm
+++ b/gnucash/report/reports/example/welcome-to-gnucash.scm
@@ -37,7 +37,7 @@
     (gnc:html-document-add-object!
      doc
      (gnc:make-html-text
-      (gnc:html-markup-h2
+      (gnc:html-markup-h3
        (format #f (G_ "Welcome to GnuCash ~a !")
                gnc:version))
       (gnc:html-markup-p
diff --git a/gnucash/report/reports/standard/new-owner-report.scm b/gnucash/report/reports/standard/new-owner-report.scm
index 8e0cbcad3..b64c4b02b 100644
--- a/gnucash/report/reports/standard/new-owner-report.scm
+++ b/gnucash/report/reports/standard/new-owner-report.scm
@@ -1079,7 +1079,7 @@ invoices and amounts.")))))
           (gnc:html-document-add-object!
            document
            (gnc:make-html-text
-            (gnc:html-markup-h2 (G_ "No transactions found."))
+            (gnc:html-markup-h3 (G_ "No transactions found."))
             (gnc:html-markup-p (G_ "No matching transactions found"))
             (gnc:html-make-options-link (gnc:report-id report-obj)))))
 
diff --git a/gnucash/report/reports/standard/price-scatter.scm b/gnucash/report/reports/standard/price-scatter.scm
index a10e7f130..787bd1333 100644
--- a/gnucash/report/reports/standard/price-scatter.scm
+++ b/gnucash/report/reports/standard/price-scatter.scm
@@ -192,7 +192,7 @@
       (gnc:html-document-add-object! 
        document 
        (gnc:make-html-text 
-        (gnc:html-markup-h2 title)
+        (gnc:html-markup-h3 title)
         (gnc:html-markup-p text))))
 
     (gnc:html-chart-set-type! chart 'line)



Summary of changes:
 gnucash/report/html-chart.scm                      | 23 ++++++++++++++-------
 gnucash/report/html-utilities.scm                  | 24 ++++++++--------------
 .../report/reports/example/welcome-to-gnucash.scm  |  2 +-
 .../report/reports/standard/new-owner-report.scm   |  2 +-
 gnucash/report/reports/standard/price-scatter.scm  |  2 +-
 5 files changed, 28 insertions(+), 25 deletions(-)



More information about the gnucash-changes mailing list