gnucash master: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Mon Nov 25 07:39:13 EST 2019
Updated via https://github.com/Gnucash/gnucash/commit/6c3b24a9 (commit)
via https://github.com/Gnucash/gnucash/commit/ea9d5fb1 (commit)
via https://github.com/Gnucash/gnucash/commit/0973d54d (commit)
via https://github.com/Gnucash/gnucash/commit/9adf8db1 (commit)
via https://github.com/Gnucash/gnucash/commit/aa451bc8 (commit)
via https://github.com/Gnucash/gnucash/commit/d6a5c8ba (commit)
via https://github.com/Gnucash/gnucash/commit/a261c8aa (commit)
via https://github.com/Gnucash/gnucash/commit/91183a2a (commit)
via https://github.com/Gnucash/gnucash/commit/e83f5b05 (commit)
via https://github.com/Gnucash/gnucash/commit/287b857a (commit)
via https://github.com/Gnucash/gnucash/commit/729bf5ae (commit)
via https://github.com/Gnucash/gnucash/commit/101cc916 (commit)
via https://github.com/Gnucash/gnucash/commit/68b0abdf (commit)
via https://github.com/Gnucash/gnucash/commit/17d39388 (commit)
via https://github.com/Gnucash/gnucash/commit/5586ccaa (commit)
via https://github.com/Gnucash/gnucash/commit/6897f13e (commit)
via https://github.com/Gnucash/gnucash/commit/063a2704 (commit)
via https://github.com/Gnucash/gnucash/commit/b3493509 (commit)
via https://github.com/Gnucash/gnucash/commit/dda3da84 (commit)
via https://github.com/Gnucash/gnucash/commit/f0a189ad (commit)
via https://github.com/Gnucash/gnucash/commit/26718142 (commit)
via https://github.com/Gnucash/gnucash/commit/1ab95b55 (commit)
from https://github.com/Gnucash/gnucash/commit/21f05339 (commit)
commit 6c3b24a9b6b517c9a73cfd8bcf61c26a687ad864
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Nov 25 20:38:16 2019 +0800
[html-style-info] remove font-face/size/color from style-info
These were unused in real code.
diff --git a/gnucash/report/html-document.scm b/gnucash/report/html-document.scm
index 17a486974..782c41f93 100644
--- a/gnucash/report/html-document.scm
+++ b/gnucash/report/html-document.scm
@@ -225,10 +225,7 @@
(extra-attrib (and (pair? rest) rest)))
;; now generate the start tag
(let ((tag (gnc:html-markup-style-info-tag childinfo))
- (attr (gnc:html-markup-style-info-attributes childinfo))
- (face (gnc:html-markup-style-info-font-face childinfo))
- (size (gnc:html-markup-style-info-font-size childinfo))
- (color (gnc:html-markup-style-info-font-color childinfo)))
+ (attr (gnc:html-markup-style-info-attributes childinfo)))
;; "" tags mean "show no tag"; #f tags means use default.
(cond ((not tag)
@@ -263,33 +260,12 @@
(build-first-tag (car tag))
(for-each add-internal-tag (cdr tag)))
(build-first-tag tag)))
- ;; XXX Font styling should be done through CSS, NOT html code
- ;; XXX Also, why is this even here? 'Font' is an html tag just like anything else,
- ;; so why does it have it's own custom pseudo code here? It should be built
- ;; as a call to this function just like any other tag, passing face/size/color as attributes.
- (if (or face size color)
- (begin
- (issue-deprecation-warning
- "this section is unreachable in code")
- (push "<font ")
- (if face
- (begin
- (push "face=\"") (push face) (push "\" ")))
- (if size
- (begin
- (push "size=\"") (push size) (push "\" ")))
- (if color
- (begin
- (push "color=\"") (push color) (push "\" ")))
- (push ">")))
retval))))
(define (gnc:html-document-markup-end doc markup)
(let ((childinfo (gnc:html-document-fetch-markup-style doc markup)))
;; now generate the end tag
- (let ((tag (gnc:html-markup-style-info-tag childinfo))
- (closing-font-tag
- (gnc:html-markup-style-info-closing-font-tag childinfo)))
+ (let ((tag (gnc:html-markup-style-info-tag childinfo)))
;; "" tags mean "show no tag"; #f tags means use default.
(cond ((not tag)
(set! tag markup))
@@ -297,8 +273,6 @@
(set! tag #f)))
(let* ((retval '())
(push (lambda (l) (set! retval (cons l retval)))))
- (if closing-font-tag
- (push "</font>\n"))
(if tag
(let ((addtag (lambda (t)
(push "</")
diff --git a/gnucash/report/html-style-info.scm b/gnucash/report/html-style-info.scm
index f57653c40..b4c4a5366 100644
--- a/gnucash/report/html-style-info.scm
+++ b/gnucash/report/html-style-info.scm
@@ -36,12 +36,6 @@
;; tag : string for start tag
;; attributes : hash of attribute to value (unsafe!)
;; attribute : single attribute-value pair in a list
-;; font-face : string for <font face=""> (deprecate)
-;; font-size : string for <font size=""> (deprecate)
-;; font-color : color (a valid HTML color spec) (deprecate)
-;; closing-font-tag: private data (computed from font-face,
-;; font-size, font-color)
-;; don't set directly, please! (deprecate)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -49,10 +43,6 @@
(make-record-type "<html-markup-style-info>"
'(tag
attributes
- font-face
- font-size
- font-color
- closing-font-tag?
inheritable?)))
(define gnc:html-markup-style-info?
@@ -63,7 +53,7 @@
(define (gnc:make-html-markup-style-info . rest)
(let ((retval (gnc:make-html-markup-style-info-internal
- #f (make-hash-table) #f #f #f #f #t)))
+ #f (make-hash-table) #t)))
(apply gnc:html-markup-style-info-set! retval rest)
retval))
@@ -76,9 +66,6 @@
(loop rest))
((field value . rest)
- (when (memq field '(font-size font-face font-color))
- (issue-deprecation-warning "font-face/size/color deprecated.")
- (gnc:html-markup-style-info-set-closing-font-tag! style (and value #t)))
((record-modifier <html-markup-style-info> field) style value)
(loop rest))
@@ -96,58 +83,6 @@
(define gnc:html-markup-style-info-set-attributes!
(record-modifier <html-markup-style-info> 'attributes))
-(define gnc:html-markup-style-info-font-face
- ;; deprecated
- (record-accessor <html-markup-style-info> 'font-face))
-
-(define gnc:html-markup-style-info-set-font-face-internal!
- ;; deprecated
- (record-modifier <html-markup-style-info> 'font-face))
-
-(define (gnc:html-markup-style-info-set-font-face! record value)
- (issue-deprecation-warning
- "gnc:html-markup-style-info-set-font-face! is unused")
- (gnc:html-markup-style-info-set-closing-font-tag! record value)
- (gnc:html-markup-style-info-set-font-face-internal! record value))
-
-(define gnc:html-markup-style-info-font-size
- ;; deprecated
- (record-accessor <html-markup-style-info> 'font-size))
-
-(define gnc:html-markup-style-info-set-font-size-internal!
- ;; deprecated
- (record-modifier <html-markup-style-info> 'font-size))
-
-(define (gnc:html-markup-style-info-set-font-size! record value)
- (issue-deprecation-warning
- "gnc:html-markup-style-info-set-font-size! is unused")
- (gnc:html-markup-style-info-set-closing-font-tag! record value)
- (gnc:html-markup-style-info-set-font-size-internal! record value))
-
-(define gnc:html-markup-style-info-font-color
- ;; deprecated
- (record-accessor <html-markup-style-info> 'font-color))
-
-(define gnc:html-markup-style-info-set-font-color-internal!
- ;; deprecated
- (record-modifier <html-markup-style-info> 'font-color))
-
-(define (gnc:html-markup-style-info-set-font-color! record value)
- (issue-deprecation-warning
- "gnc:html-markup-style-info-set-font-color! is unused")
- (begin
- (gnc:html-markup-style-info-set-closing-font-tag!
- record (not (eq? value #f)))
- (gnc:html-markup-style-info-set-font-color-internal! record value)))
-
-(define gnc:html-markup-style-info-closing-font-tag
- ;; deprecated
- (record-accessor <html-markup-style-info> 'closing-font-tag?))
-
-(define gnc:html-markup-style-info-set-closing-font-tag!
- ;; deprecated
- (record-modifier <html-markup-style-info> 'closing-font-tag?))
-
(define gnc:html-markup-style-info-inheritable?
(record-accessor <html-markup-style-info> 'inheritable?))
@@ -180,18 +115,6 @@
(lambda (k v) (hash-set! ht k v))
(gnc:html-markup-style-info-attributes s1))
ht)
- ;; font face
- (or (gnc:html-markup-style-info-font-face s1)
- (gnc:html-markup-style-info-font-face s2))
- ;; font size
- (or (gnc:html-markup-style-info-font-size s1)
- (gnc:html-markup-style-info-font-size s2))
- ;; color
- (or (gnc:html-markup-style-info-font-color s1)
- (gnc:html-markup-style-info-font-color s2))
- ;; closing font tag
- (or (gnc:html-markup-style-info-closing-font-tag s1)
- (gnc:html-markup-style-info-closing-font-tag s2))
;; inheritable (get this always from child)
(gnc:html-markup-style-info-inheritable? s1)))))
diff --git a/gnucash/report/report.scm b/gnucash/report/report.scm
index 2429cdf45..18f8a9458 100644
--- a/gnucash/report/report.scm
+++ b/gnucash/report/report.scm
@@ -415,17 +415,6 @@
(export gnc:html-markup-style-info-set-tag!)
(export gnc:html-markup-style-info-attributes)
(export gnc:html-markup-style-info-set-attributes!)
-(export gnc:html-markup-style-info-font-face) ;deprecated
-(export gnc:html-markup-style-info-set-font-face-internal!) ;deprecated
-(export gnc:html-markup-style-info-set-font-face!) ;deprecated
-(export gnc:html-markup-style-info-font-size) ;deprecated
-(export gnc:html-markup-style-info-set-font-size-internal!) ;deprecated
-(export gnc:html-markup-style-info-set-font-size!) ;deprecated
-(export gnc:html-markup-style-info-font-color) ;deprecated
-(export gnc:html-markup-style-info-set-font-color-internal!) ;deprecated
-(export gnc:html-markup-style-info-set-font-color!) ;deprecated
-(export gnc:html-markup-style-info-closing-font-tag) ;deprecated
-(export gnc:html-markup-style-info-set-closing-font-tag!) ;deprecated
(export gnc:html-markup-style-info-inheritable?)
(export gnc:html-markup-style-info-set-inheritable?!)
(export gnc:html-markup-style-info-set-attribute!)
commit ea9d5fb197f67483e0502b0fba05681d3e8053dc
Merge: 21f053398 0973d54d6
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Nov 25 19:45:26 2019 +0800
Merge branch 'maint'
diff --cc gnucash/report/report.scm
index ff4755f6b,a351038b0..2429cdf45
--- a/gnucash/report/report.scm
+++ b/gnucash/report/report.scm
@@@ -685,6 -696,10 +685,8 @@@
(export gnc:collector+)
(export gnc:collector-)
(export gnc:commodity-collector-get-negated)
-(export gnc:commodity-collectorlist-get-merged) ;deprecated
-(export gnc-commodity-collector-commodity-count)
+ (export gnc:account-accumulate-at-dates)
+ (export gnc:account-get-balance-at-date)
(export gnc:account-get-balances-at-dates)
(export gnc:account-get-comm-balance-at-date)
(export gnc:account-get-comm-value-interval)
diff --cc gnucash/report/reports/standard/balsheet-pnl.scm
index e707181c7,de0d44e49..a043e39d1
--- a/gnucash/report/reports/standard/balsheet-pnl.scm
+++ b/gnucash/report/reports/standard/balsheet-pnl.scm
@@@ -30,9 -30,19 +30,19 @@@
(use-modules (gnucash gnc-module))
(use-modules (gnucash gettext))
(use-modules (srfi srfi-1))
+ (use-modules (srfi srfi-2))
+ (use-modules (srfi srfi-9))
-(gnc:module-load "gnucash/report/report-system" 0)
+(gnc:module-load "gnucash/report" 0)
+ ;; the column-data record. the gnc:account-accumulate-at-dates will
+ ;; create a record for each report-date with split-data as follows:
+ (define-record-type :col-datum
+ (make-datum last-split split-balance)
+ col-datum?
+ (last-split col-datum-get-last-split)
+ (split-balance col-datum-get-split-balance))
+
(define FOOTER-TEXT
(gnc:make-html-text
(_ "WARNING: Foreign currency conversions, and unrealized gains
diff --cc gnucash/report/reports/standard/category-barchart.scm
index 4e5765831,b477ad282..01756ddf7
--- a/gnucash/report/reports/standard/category-barchart.scm
+++ b/gnucash/report/reports/standard/category-barchart.scm
@@@ -350,18 -355,19 +350,19 @@@ developing over time")
(define account-balances-alist
(map
(lambda (acc)
- (let ((ignore-closing? (not (gnc:account-is-inc-exp? acc))))
+ (let* ((comm (xaccAccountGetCommodity acc))
- (split->elt (if (reverse-balance? acc)
++ (split->elt (if reverse-balance?
+ (lambda (s)
+ (gnc:make-gnc-monetary
+ comm (- (xaccSplitGetNoclosingBalance s))))
+ (lambda (s)
+ (gnc:make-gnc-monetary
+ comm (xaccSplitGetNoclosingBalance s))))))
(cons acc
- (map
- (if reverse-balance? gnc:monetary-neg identity)
- (gnc:account-get-balances-at-dates
- acc dates-list
- #:split->amount
- (lambda (s)
- (and (or ignore-closing?
- (not (xaccTransGetIsClosingTxn
- (xaccSplitGetParent s))))
- (xaccSplitGetAmount s))))))))
+ (gnc:account-accumulate-at-dates
+ acc dates-list
+ #:split->elt split->elt
+ #:nosplit->elt (gnc:make-gnc-monetary comm 0)))))
;; all selected accounts (of report-specific type), *and*
;; their descendants (of any type) need to be scanned.
(gnc:accounts-and-all-descendants accounts)))
diff --cc gnucash/report/test/test-report-utilities.scm
index 6fe13ced2,b0f12da76..8eeba1c9d
--- a/gnucash/report/test/test-report-utilities.scm
+++ b/gnucash/report/test/test-report-utilities.scm
@@@ -22,7 -22,9 +22,8 @@@
(test-commodity-collector)
(test-get-account-balances)
(test-monetary-adders)
- (test-make-stats-collector)
(test-utility-functions)
+ (test-get-account-at-dates)
(test-end "report-utilities"))
(define (NDayDelta t64 n)
@@@ -554,3 -579,145 +555,98 @@@
"gnc:monetary+ with >1 currency fails"
#t
(gnc:monetary+ usd10 usd10 eur8))))
+
-(define (test-make-stats-collector)
- (test-begin "gnc:make-stats-collector")
- (let ((s (gnc:make-stats-collector)))
- (test-equal "initial s is 0"
- 0
- (s 'total #f))
-
- (s 'add 5)
- (test-equal "s+=5 is 5"
- 5
- (s 'total #f))
-
- (s 'add 9)
- (test-equal "s+=9 is 14"
- 14
- (s 'total #f))
-
- (test-equal "avg(s) is 7"
- 7
- (s 'average #f))
-
- (s 'add 1E12)
- (s 'add -1E13)
-
- (test-equal "max(s) is now 1E12"
- 1E12
- (s 'getmax #f))
-
- (test-equal "min(s) is now -1E13"
- -1E13
- (s 'getmin #f))
-
- (s 'add 9E12)
- (test-equal "newavg(s) is 2.8"
- 2.8
- (s 'average #f))
-
- (test-equal "num(s) is 5"
- 5
- (s 'numitems #f))
-
- (s 'reset #f)
- (test-equal "after reset num(s) is 0"
- 0
- (s 'numitems #f)))
- (test-end "gnc:make-stats-collector"))
-
+ (define (monetary->pair mon)
+ (cons (gnc-commodity-get-mnemonic (gnc:gnc-monetary-commodity mon))
+ (gnc:gnc-monetary-amount mon)))
+
+ (define (split->amount split)
+ (and split (xaccSplitGetAmount split)))
+
+ (define (test-get-account-at-dates)
+ (test-group-with-cleanup "test-get-balance-at-dates"
+ (let* ((env (create-test-env))
+ (structure (list "Root" (list (cons 'type ACCT-TYPE-ASSET))
+ (list "Asset"
+ (list "Bank1")
+ (list "Bank2")
+ (list "Bank3")
+ (list "Bank4"))
+ (list "Income" (list (cons 'type ACCT-TYPE-INCOME)))))
+ (accounts (env-create-account-structure-alist env structure))
+ (bank1 (assoc-ref accounts "Bank1"))
+ (bank2 (assoc-ref accounts "Bank2"))
+ (bank3 (assoc-ref accounts "Bank3"))
+ (bank4 (assoc-ref accounts "Bank4"))
+ (income (assoc-ref accounts "Income"))
+ (dates (gnc:make-date-list (gnc-dmy2time64 01 01 1970)
+ (gnc-dmy2time64 01 04 1970)
+ MonthDelta)))
+
+ (test-equal "empty account"
+ '(#f #f #f #f)
+ (gnc:account-accumulate-at-dates bank1 dates))
+
+ (env-transfer env 15 01 1970 income bank1 10)
+ (env-transfer env 15 02 1970 income bank1 10)
+ (env-transfer env 15 03 1970 income bank1 10)
+ (let ((clos (env-transfer env 18 03 1970 income bank1 10)))
+ (xaccTransSetIsClosingTxn clos #t))
+
+ (env-transfer env 15 12 1969 income bank2 10)
+ (env-transfer env 17 12 1969 income bank2 10)
+ (env-transfer env 15 02 1970 income bank2 10)
+
+ (env-transfer env 15 03 1970 income bank3 10)
+
+ (env-transfer env 15 01 1970 income bank4 10)
+
+ (test-equal "1 txn in each slot"
+ '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 40))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank1 dates)))
+
+ (test-equal "1 txn in each slot, tests #:split->amount to ignore closing"
+ '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 30))
+ (map monetary->pair
+ (gnc:account-get-balances-at-dates
+ bank1 dates #:split->amount
+ (lambda (s)
+ (and (not (xaccTransGetIsClosingTxn (xaccSplitGetParent s)))
+ (xaccSplitGetAmount s))))))
+
+ (test-equal "2 txn before start, 1 in middle"
+ '(("USD" . 20) ("USD" . 20) ("USD" . 30) ("USD" . 30))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank2 dates)))
+
+ (test-equal "1 txn in late slot"
+ '(("USD" . 0) ("USD" . 0) ("USD" . 0) ("USD" . 10))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank3 dates)))
+
+ (test-equal "1 txn in early slot"
+ '(("USD" . 0) ("USD" . 10) ("USD" . 10) ("USD" . 10))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates)))
+
+ (test-equal "1 txn in each slot"
+ '(#f 10 20 40)
+ (gnc:account-accumulate-at-dates bank1 dates))
+
+ (test-equal "2 txn before start, 1 in middle"
+ '(20 20 30 30)
+ (gnc:account-accumulate-at-dates bank2 dates))
+
+ (test-equal "1 txn in late slot"
+ '(#f #f #f 10)
+ (gnc:account-accumulate-at-dates bank3 dates))
+
+ (test-equal "1 txn in late slot, tests #:nosplit->elt"
+ '(x x x 10)
+ (gnc:account-accumulate-at-dates bank3 dates #:nosplit->elt 'x))
+
+ (test-equal "1 txn in late slot, tests #:split->elt"
+ '(#f #f #f y)
+ (gnc:account-accumulate-at-dates bank3 dates #:split->elt (const 'y)))
+
+ (test-equal "1 txn in early slot"
+ '(#f 10 10 10)
+ (gnc:account-accumulate-at-dates bank4 dates)))
+ (teardown)))
commit 0973d54d6cb50772de05b4f3ab607e0644ebeb13
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Nov 25 08:07:11 2019 +0800
[report-utilities] make gnc:owner-splits->aging-list less noisy
invoice processing messages dumped in debug mode. use gnc:msg
diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index ac73a83dd..3422fdeaa 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -1124,7 +1124,8 @@ flawed. see report-utilities.scm. please update reports.")
;; Outputs: aging list of numbers
(define-public (gnc:owner-splits->aging-list splits num-buckets
to-date date-type receivable?)
- (gnc:pk 'processing: (qof-print-date to-date) date-type 'receivable? receivable?)
+ (gnc:msg "processing " (qof-print-date to-date) " date-type " date-type
+ "receivable? " receivable?)
(let ((bucket-dates (make-extended-interval-list to-date (- num-buckets 2)))
(buckets (make-vector num-buckets 0)))
(define (addbucket! idx amt)
@@ -1148,7 +1149,8 @@ flawed. see report-utilities.scm. please update reports.")
(date (if (eq? date-type 'postdate)
(gncInvoiceGetDatePosted invoice)
(gncInvoiceGetDateDue invoice))))
- (gnc:pk 'next=invoice (car splits) invoice bal)
+ (gnc:msg "next " (gnc:strify (car splits))
+ " invoice " (gnc:strify invoice) " bal " bal)
(let loop ((idx 0) (bucket-dates bucket-dates))
(if (< date (car bucket-dates))
(addbucket! idx bal)
@@ -1170,14 +1172,15 @@ flawed. see report-utilities.scm. please update reports.")
(- payment-left (gncInvoiceGetTotal (car inv-and-splits)))
payment-left))
(if receivable? (- payment) payment) invoices-and-splits)))
- (gnc:pk 'payment (car splits) payment "->" overpayment)
+ (gnc:msg "next " (gnc:strify (car splits)) " payment " payment
+ " overpayment " overpayment)
(when (positive? overpayment)
(addbucket! (1- num-buckets) (- overpayment)))
(lp (cdr splits) invoices-and-splits)))
;; not invoice/prepayment. regular or payment split.
(else
- (gnc:pk 'next=skipped (car splits))
+ (gnc:msg "next " (gnc:strify (car splits)) " skipped")
(lp (cdr splits) invoices-and-splits))))))
;; ***************************************************************************
commit 9adf8db1a2910f637d5773ae3f4ff34d1a7b317a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 21:01:04 2019 +0800
[report-utilities] gnc:strify can render vectors too
diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index 20cf23c15..ac73a83dd 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -1260,6 +1260,10 @@ flawed. see report-utilities.scm. please update reports.")
"(list "
(string-join (map gnc:strify d) " ")
")"))
+ (and (vector? d) (string-append
+ "(vector "
+ (string-join (map gnc:strify (vector->list d)) " ")
+ ")"))
(and (pair? d) (format #f "(~a . ~a)"
(gnc:strify (car d))
(if (eq? (car d) 'absolute)
commit aa451bc89d5d1a5a1e66df4501e90e533683cb0b
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 21:57:00 2019 +0800
[balsheet-pnl] compact functions
readability fixes
diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 0a19293ab..de0d44e49 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -814,24 +814,20 @@ also show overall period profit & loss."))
;; into report-currency if the latter exists. The price
;; applicable the the col-idx column is used. If the monetary
;; cannot be converted (eg. missing price) then it is not converted.
- (convert-curr-fn (lambda (monetary col-idx)
- (and common-currency
- (not (gnc-commodity-equal
- (gnc:gnc-monetary-commodity monetary)
- common-currency))
- (has-price? (gnc:gnc-monetary-commodity monetary))
- (let ((date
- (cond
- ((eq? price-source 'pricedb-latest)
- (current-time))
- ((eq? col-idx 'overall-period)
- (last report-dates))
- (else
- (list-ref report-dates
- (case report-type
- ((balsheet) col-idx)
- ((pnl) (1+ col-idx))))))))
- (exchange-fn monetary common-currency date)))))
+ (convert-curr-fn
+ (lambda (monetary col-idx)
+ (and common-currency
+ (not (gnc-commodity-equal
+ (gnc:gnc-monetary-commodity monetary)
+ common-currency))
+ (has-price? (gnc:gnc-monetary-commodity monetary))
+ (exchange-fn
+ monetary common-currency
+ (cond
+ ((eq? price-source 'pricedb-latest) (current-time))
+ ((eq? col-idx 'overall-period) (last report-dates))
+ ((eq? report-type 'balsheet) (list-ref report-dates col-idx))
+ ((eq? report-type 'pnl) (list-ref report-dates (1+ col-idx))))))))
;; the following function generates an gnc:html-text object
;; to dump exchange rate for a particular column. From the
@@ -930,9 +926,7 @@ also show overall period profit & loss."))
((eq? report-type 'balsheet)
(let* ((get-cell-monetary-fn
(lambda (account col-idx)
- (let ((account-balance-list (assoc-ref accounts-balances account)))
- (and account-balance-list
- (list-ref account-balance-list col-idx)))))
+ (list-ref (assoc-ref accounts-balances account) col-idx)))
;; an alist of (cons account vector-of-splits) where each
;; split is the last one at date boundary
@@ -1017,6 +1011,7 @@ also show overall period profit & loss."))
(map
gnc:monetary-neg
(income-expense-balance 'format gnc:make-gnc-monetary #f))))))
+
(chart (and include-chart? incr
(gnc:make-report-anchor
networth-barchart-uuid report-obj
commit d6a5c8ba5409138901bf451588531827d31172b3
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 21:38:42 2019 +0800
[balsheet-pnl] accumulate column data report-dates
Previous would call gnc:account-get-balances-at-dates and
gnc:account-accumulate-at-dates to retrieve balances and
last-split. This commit reduces the O(2*N) operation to O(N) which
becomes significant with accounts with large number of splits.
Maybe we can reduce other account splitlist scans in the future; these
will be easier and would only require augmenting the record.
diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 2cf5d745a..0a19293ab 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -31,9 +31,18 @@
(use-modules (gnucash gettext))
(use-modules (srfi srfi-1))
(use-modules (srfi srfi-2))
+(use-modules (srfi srfi-9))
(gnc:module-load "gnucash/report/report-system" 0)
+;; the column-data record. the gnc:account-accumulate-at-dates will
+;; create a record for each report-date with split-data as follows:
+(define-record-type :col-datum
+ (make-datum last-split split-balance)
+ col-datum?
+ (last-split col-datum-get-last-split)
+ (split-balance col-datum-get-split-balance))
+
(define FOOTER-TEXT
(gnc:make-html-text
(_ "WARNING: Foreign currency conversions, and unrealized gains
@@ -770,12 +779,31 @@ also show overall period profit & loss."))
((eq? report-type 'pnl) (list startdate enddate))
(else (list enddate))))
- (accounts-balances (map
- (lambda (acc)
- (cons acc
- (gnc:account-get-balances-at-dates
- acc report-dates)))
- accounts))
+ ;; an alist of (cons account account-cols-data) whereby
+ ;; account-cols-data is a list of col-datum records
+ (accounts-cols-data
+ (map
+ (lambda (acc)
+ (let* ((comm (xaccAccountGetCommodity acc))
+ (amt->monetary (lambda (amt) (gnc:make-gnc-monetary comm amt))))
+ (cons acc
+ (gnc:account-accumulate-at-dates
+ acc report-dates
+ #:nosplit->elt (make-datum #f (amt->monetary 0))
+ #:split->elt
+ (lambda (s)
+ (make-datum s (amt->monetary (xaccSplitGetBalance s))))))))
+ accounts))
+
+ ;; an alist of (cons account account-balances) whereby
+ ;; account-balances is a list of monetary amounts
+ (accounts-balances
+ (map
+ (lambda (acc)
+ (cons acc (let ((cols-data (assoc-ref accounts-cols-data acc)))
+ (map col-datum-get-split-balance cols-data))))
+ accounts))
+
(exchange-fn (and common-currency
(gnc:case-exchange-time-fn
price-source common-currency
@@ -906,13 +934,14 @@ also show overall period profit & loss."))
(and account-balance-list
(list-ref account-balance-list col-idx)))))
- ;; an alist of account->last-split at date boundary
+ ;; an alist of (cons account vector-of-splits) where each
+ ;; split is the last one at date boundary
(accounts-splits-dates
(map
(lambda (acc)
- (cons acc (list->vector
- (gnc:account-accumulate-at-dates
- acc report-dates #:split->elt identity))))
+ (cons acc (let ((cols-data (assoc-ref accounts-cols-data acc)))
+ (list->vector
+ (map col-datum-get-last-split cols-data)))))
accounts))
(get-cell-anchor-fn
commit a261c8aadb7904f6a7e0143290d2d82e87a09d86
Merge: e83f5b056 91183a2af
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date: Mon Nov 25 07:14:05 2019 +0100
Merge branch 'emacs' into maint
commit 91183a2af51858b6a252edc47372c944c0cd82b7
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date: Mon Nov 25 00:42:40 2019 +0100
drop emacs_trailer from xml files.
Modern versions of emacs know, how to behave on xml files.
diff --git a/libgnucash/backend/xml/io-example-account.cpp b/libgnucash/backend/xml/io-example-account.cpp
index 80572b053..918217ee4 100644
--- a/libgnucash/backend/xml/io-example-account.cpp
+++ b/libgnucash/backend/xml/io-example-account.cpp
@@ -425,8 +425,6 @@ gnc_write_example_account (GncExampleAccount* gea, const gchar* filename)
fprintf (out, "</" GNC_ACCOUNT_STRING ">\n\n");
- write_emacs_trailer (out);
-
fclose (out);
return TRUE;
diff --git a/libgnucash/backend/xml/io-gncxml-v2.cpp b/libgnucash/backend/xml/io-gncxml-v2.cpp
index 085119e35..7f7fc900f 100644
--- a/libgnucash/backend/xml/io-gncxml-v2.cpp
+++ b/libgnucash/backend/xml/io-gncxml-v2.cpp
@@ -1601,8 +1601,7 @@ gnc_book_write_to_xml_file_v2 (
/* Try to write as much as possible */
if (!out
- || !gnc_book_write_to_xml_filehandle_v2 (book, out)
- || !write_emacs_trailer (out))
+ || !gnc_book_write_to_xml_filehandle_v2 (book, out))
success = FALSE;
/* Close the output stream */
@@ -1633,8 +1632,7 @@ gnc_book_write_accounts_to_xml_file_v2 (QofBackend* qof_be, QofBook* book,
/* Try to write as much as possible */
if (!out
- || !gnc_book_write_accounts_to_xml_filehandle_v2 (qof_be, book, out)
- || !write_emacs_trailer (out))
+ || !gnc_book_write_accounts_to_xml_filehandle_v2 (qof_be, book, out))
success = FALSE;
/* Close the output stream */
@@ -2153,7 +2151,7 @@ gnc_xml2_parse_with_subst (GncXmlBackend* xml_be, QofBook* book, GHashTable* sub
xml_be, book, (sixtp_push_handler) parse_with_subst_push_handler,
push_data, GNC_BOOK_XML2_FILE);
g_free (push_data);
-
+
if (success)
qof_instance_set_dirty (QOF_INSTANCE (book));
diff --git a/libgnucash/backend/xml/io-utils.cpp b/libgnucash/backend/xml/io-utils.cpp
index c2d033e38..8d9cbfe44 100644
--- a/libgnucash/backend/xml/io-utils.cpp
+++ b/libgnucash/backend/xml/io-utils.cpp
@@ -33,23 +33,6 @@ extern "C"
#include "gnc-xml.h"
#include "io-utils.h"
#include "sixtp.h"
-/*
- <!-- Local variables: -->
- <!-- mode: C -->
- <!-- End: -->
-*/
-
-static const gchar* emacs_trailer =
- "<!-- Local variables: -->\n"
- "<!-- mode: xml -->\n"
- "<!-- End: -->\n";
-
-
-gboolean
-write_emacs_trailer (FILE* out)
-{
- return fprintf (out, "%s", emacs_trailer) >= 0;
-}
static gboolean
write_one_account (FILE* out,
@@ -66,7 +49,7 @@ write_one_account (FILE* out,
xmlFreeNode (accnode);
g_return_val_if_fail(gd, FALSE);
-
+
if (ferror (out) || fprintf (out, "\n") < 0)
return FALSE;
diff --git a/libgnucash/backend/xml/io-utils.h b/libgnucash/backend/xml/io-utils.h
index 9c78470a7..c6a4ba442 100644
--- a/libgnucash/backend/xml/io-utils.h
+++ b/libgnucash/backend/xml/io-utils.h
@@ -37,7 +37,5 @@ gboolean write_accounts (FILE* out, QofBook* book, sixtp_gdv2* gd);
gboolean write_book_parts (FILE* out, QofBook* book);
gboolean write_commodities (FILE* out, QofBook* book, sixtp_gdv2* gd);
-gboolean write_emacs_trailer (FILE* out);
-
#endif /* IO_UTILS_H */
commit e83f5b05688db27ac6b7d4298c7fd084004abb51
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 09:49:14 2019 +0800
Bug 797506 - New Aging errors out with guile backtrace in case of a few uncommon transactions
Some invalid txns with splits in the wrong APAR account can be
processed, creating cases whereby split->owner returns an invalid
freshly-allocated owner.
diff --git a/gnucash/report/business-reports/new-aging.scm b/gnucash/report/business-reports/new-aging.scm
index 231d9c333..cd5362a99 100644
--- a/gnucash/report/business-reports/new-aging.scm
+++ b/gnucash/report/business-reports/new-aging.scm
@@ -213,6 +213,7 @@ exist but have no suitable transactions."))
(show-zeros (op-value gnc:pagename-general optname-show-zeros))
(date-type (op-value gnc:pagename-general optname-date-driver))
(query (qof-query-create-for-splits))
+ (invalid-splits '())
(document (gnc:make-html-document)))
;; for sorting and delete-duplicates. compare GUIDs
@@ -224,6 +225,10 @@ exist but have no suitable transactions."))
((if (eq? sort-order 'increasing) string<? string>?)
(gncOwnerGetName a) (gncOwnerGetName b)))
+ (define (html-markup-ol lst)
+ (apply gnc:html-markup "ol"
+ (map (lambda (elt) (gnc:html-markup "li" elt)) lst)))
+
;; set default title
(gnc:html-document-set-title! document report-title)
@@ -325,14 +330,45 @@ exist but have no suitable transactions."))
(reverse accounts-and-owners))
(for-each gncOwnerFree tofree)
- (gnc:html-document-add-object! document table)))))
+ (gnc:html-document-add-object! document table)
+
+ (unless (null? invalid-splits)
+ (gnc:html-document-add-object!
+ document (gnc:make-html-text (gnc:html-markup-br)))
+
+ (gnc:html-document-add-object!
+ document
+ (gnc:make-html-text
+ (_ "Please note some transactions were not processed")
+ (html-markup-ol
+ (map
+ (lambda (invalid-split)
+ (gnc:html-markup-anchor
+ (gnc:split-anchor-text (cadr invalid-split))
+ (car invalid-split)))
+ invalid-splits)))))))))
(else
(let* ((account (car accounts))
(splits-acc-others (list-split splits split-from-acct? account))
(acc-splits (car splits-acc-others))
(other-acc-splits (cdr splits-acc-others))
- (split-owners (map split->owner acc-splits))
+ (split-owners
+ (fold
+ (lambda (a b)
+ (let ((owner (split->owner a)))
+ (cond
+ ((gncOwnerIsValid owner) (cons owner b))
+ ;; some payment splits may have no owner in
+ ;; this account. skip. see bug 797506.
+ (else
+ (gnc:warn "split " (gnc:strify a) " has no owner")
+ (set! invalid-splits
+ (cons (list (_ "Payment has no owner") a)
+ invalid-splits))
+ (gncOwnerFree owner)
+ b))))
+ '() acc-splits))
(acc-owners (sort (sort-and-delete-duplicates
split-owners ownerGUID<? gnc-owner-equal?)
owner<?)))
commit 287b857a1839d37408bcabfe650d07a365b1096a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Nov 23 22:32:19 2019 +0800
[html-style-info] deprecate font-face/size/color
Only 'font-color was demonstrated in hello-world.scm, and these were
never used in practice.
diff --git a/gnucash/report/report-system/html-document.scm b/gnucash/report/report-system/html-document.scm
index a9c6b162d..3744eb79a 100644
--- a/gnucash/report/report-system/html-document.scm
+++ b/gnucash/report/report-system/html-document.scm
@@ -268,6 +268,8 @@
;; as a call to this function just like any other tag, passing face/size/color as attributes.
(if (or face size color)
(begin
+ (issue-deprecation-warning
+ "this section is unreachable in code")
(push "<font ")
(if face
(begin
diff --git a/gnucash/report/report-system/html-style-info.scm b/gnucash/report/report-system/html-style-info.scm
index 38c166da8..f57653c40 100644
--- a/gnucash/report/report-system/html-style-info.scm
+++ b/gnucash/report/report-system/html-style-info.scm
@@ -36,12 +36,12 @@
;; tag : string for start tag
;; attributes : hash of attribute to value (unsafe!)
;; attribute : single attribute-value pair in a list
-;; font-face : string for <font face="">
-;; font-size : string for <font size="">
-;; font-color : color (a valid HTML color spec)
+;; font-face : string for <font face=""> (deprecate)
+;; font-size : string for <font size=""> (deprecate)
+;; font-color : color (a valid HTML color spec) (deprecate)
;; closing-font-tag: private data (computed from font-face,
;; font-size, font-color)
-;; don't set directly, please!
+;; don't set directly, please! (deprecate)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -77,6 +77,7 @@
((field value . rest)
(when (memq field '(font-size font-face font-color))
+ (issue-deprecation-warning "font-face/size/color deprecated.")
(gnc:html-markup-style-info-set-closing-font-tag! style (and value #t)))
((record-modifier <html-markup-style-info> field) style value)
(loop rest))
@@ -96,40 +97,55 @@
(record-modifier <html-markup-style-info> 'attributes))
(define gnc:html-markup-style-info-font-face
+ ;; deprecated
(record-accessor <html-markup-style-info> 'font-face))
(define gnc:html-markup-style-info-set-font-face-internal!
+ ;; deprecated
(record-modifier <html-markup-style-info> 'font-face))
(define (gnc:html-markup-style-info-set-font-face! record value)
+ (issue-deprecation-warning
+ "gnc:html-markup-style-info-set-font-face! is unused")
(gnc:html-markup-style-info-set-closing-font-tag! record value)
(gnc:html-markup-style-info-set-font-face-internal! record value))
(define gnc:html-markup-style-info-font-size
+ ;; deprecated
(record-accessor <html-markup-style-info> 'font-size))
(define gnc:html-markup-style-info-set-font-size-internal!
+ ;; deprecated
(record-modifier <html-markup-style-info> 'font-size))
(define (gnc:html-markup-style-info-set-font-size! record value)
+ (issue-deprecation-warning
+ "gnc:html-markup-style-info-set-font-size! is unused")
(gnc:html-markup-style-info-set-closing-font-tag! record value)
(gnc:html-markup-style-info-set-font-size-internal! record value))
(define gnc:html-markup-style-info-font-color
+ ;; deprecated
(record-accessor <html-markup-style-info> 'font-color))
(define gnc:html-markup-style-info-set-font-color-internal!
+ ;; deprecated
(record-modifier <html-markup-style-info> 'font-color))
(define (gnc:html-markup-style-info-set-font-color! record value)
+ (issue-deprecation-warning
+ "gnc:html-markup-style-info-set-font-color! is unused")
(begin
(gnc:html-markup-style-info-set-closing-font-tag!
record (not (eq? value #f)))
(gnc:html-markup-style-info-set-font-color-internal! record value)))
(define gnc:html-markup-style-info-closing-font-tag
+ ;; deprecated
(record-accessor <html-markup-style-info> 'closing-font-tag?))
+
(define gnc:html-markup-style-info-set-closing-font-tag!
+ ;; deprecated
(record-modifier <html-markup-style-info> 'closing-font-tag?))
(define gnc:html-markup-style-info-inheritable?
diff --git a/gnucash/report/report-system/report-system.scm b/gnucash/report/report-system/report-system.scm
index 4a80105f0..a351038b0 100644
--- a/gnucash/report/report-system/report-system.scm
+++ b/gnucash/report/report-system/report-system.scm
@@ -430,17 +430,17 @@
(export gnc:html-markup-style-info-set-tag!)
(export gnc:html-markup-style-info-attributes)
(export gnc:html-markup-style-info-set-attributes!)
-(export gnc:html-markup-style-info-font-face)
-(export gnc:html-markup-style-info-set-font-face-internal!)
-(export gnc:html-markup-style-info-set-font-face!)
-(export gnc:html-markup-style-info-font-size)
-(export gnc:html-markup-style-info-set-font-size-internal!)
-(export gnc:html-markup-style-info-set-font-size!)
-(export gnc:html-markup-style-info-font-color)
-(export gnc:html-markup-style-info-set-font-color-internal!)
-(export gnc:html-markup-style-info-set-font-color!)
-(export gnc:html-markup-style-info-closing-font-tag)
-(export gnc:html-markup-style-info-set-closing-font-tag!)
+(export gnc:html-markup-style-info-font-face) ;deprecated
+(export gnc:html-markup-style-info-set-font-face-internal!) ;deprecated
+(export gnc:html-markup-style-info-set-font-face!) ;deprecated
+(export gnc:html-markup-style-info-font-size) ;deprecated
+(export gnc:html-markup-style-info-set-font-size-internal!) ;deprecated
+(export gnc:html-markup-style-info-set-font-size!) ;deprecated
+(export gnc:html-markup-style-info-font-color) ;deprecated
+(export gnc:html-markup-style-info-set-font-color-internal!) ;deprecated
+(export gnc:html-markup-style-info-set-font-color!) ;deprecated
+(export gnc:html-markup-style-info-closing-font-tag) ;deprecated
+(export gnc:html-markup-style-info-set-closing-font-tag!) ;deprecated
(export gnc:html-markup-style-info-inheritable?)
(export gnc:html-markup-style-info-set-inheritable?!)
(export gnc:html-markup-style-info-set-attribute!)
commit 729bf5ae6aa17a3ef9ec416cb0134c2b94f7ace1
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Nov 23 22:28:33 2019 +0800
[hello-world] remove 'Text Color' option - will be deprecated
... because deleting an option does not cause crash in saved-reports.
diff --git a/gnucash/report/utility-reports/hello-world.scm b/gnucash/report/utility-reports/hello-world.scm
index b947cbddc..18d7a5562 100644
--- a/gnucash/report/utility-reports/hello-world.scm
+++ b/gnucash/report/utility-reports/hello-world.scm
@@ -153,13 +153,6 @@
(list #xf6 #xff #xdb #xff)
255
#f))
- (add-option
- (gnc:make-color-option
- (N_ "Hello, World!") (N_ "Text Color")
- "f" (N_ "This is a color option.")
- (list #x00 #x00 #x00 #xff)
- 255
- #f))
;; This is an account list option. The user can select one
;; or (possibly) more accounts from the list of accounts
@@ -247,7 +240,6 @@ option like this.")
(op-value "Hello, World!" "Combo Date Option")))
(num-val (op-value "Hello, World!" "Number Option"))
(bg-color-op (get-op "Hello, World!" "Background Color"))
- (txt-color-op (get-op "Hello, World!" "Text Color"))
(accounts (op-value "Hello Again" "An account list option"))
(list-val (op-value "Hello Again" "A list option"))
(crash-val (op-value "Testing" "Crash the report"))
@@ -304,8 +296,7 @@ option like this.")
(gnc:html-document-set-style!
document "body"
- 'attribute (list "bgcolor" (gnc:color-option->html bg-color-op))
- 'font-color (gnc:color-option->html txt-color-op))
+ 'attribute (list "bgcolor" (gnc:color-option->html bg-color-op)))
;; the title of the report will be rendered by the
;; selected style sheet. All we have to do is set it in the
commit 101cc91698279a661ca89310f4a404ee211faf14
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri Nov 22 23:38:22 2019 +0800
[reports] use new api gnc:account-accumulate-at-dates
queries xaccSplitGetNoclosingBalance (which is a pointer dereference)
instead of a more complex conditional-based snippet for split->amount,
should be faster.
The category-barchart change will choose the appropriate split->elt
function according to the account type. This is more efficient than
the old split->amount function which includes a conditional.
Note we don't need to test for account being income/expense:
asset/liability accounts do not have Closing transactions. Therefore
we can use xaccSplitGetNoclosingBalance for splits from any account
type.
diff --git a/gnucash/report/standard-reports/category-barchart.scm b/gnucash/report/standard-reports/category-barchart.scm
index c217a138c..b477ad282 100644
--- a/gnucash/report/standard-reports/category-barchart.scm
+++ b/gnucash/report/standard-reports/category-barchart.scm
@@ -355,18 +355,19 @@ developing over time"))
(define account-balances-alist
(map
(lambda (acc)
- (let ((ignore-closing? (not (gnc:account-is-inc-exp? acc))))
+ (let* ((comm (xaccAccountGetCommodity acc))
+ (split->elt (if (reverse-balance? acc)
+ (lambda (s)
+ (gnc:make-gnc-monetary
+ comm (- (xaccSplitGetNoclosingBalance s))))
+ (lambda (s)
+ (gnc:make-gnc-monetary
+ comm (xaccSplitGetNoclosingBalance s))))))
(cons acc
- (map
- (if (reverse-balance? acc) gnc:monetary-neg identity)
- (gnc:account-get-balances-at-dates
- acc dates-list
- #:split->amount
- (lambda (s)
- (and (or ignore-closing?
- (not (xaccTransGetIsClosingTxn
- (xaccSplitGetParent s))))
- (xaccSplitGetAmount s))))))))
+ (gnc:account-accumulate-at-dates
+ acc dates-list
+ #:split->elt split->elt
+ #:nosplit->elt (gnc:make-gnc-monetary comm 0)))))
;; all selected accounts (of report-specific type), *and*
;; their descendants (of any type) need to be scanned.
(gnc:accounts-and-all-descendants accounts)))
diff --git a/gnucash/report/standard-reports/net-charts.scm b/gnucash/report/standard-reports/net-charts.scm
index 396103b2d..c3ce5cb03 100644
--- a/gnucash/report/standard-reports/net-charts.scm
+++ b/gnucash/report/standard-reports/net-charts.scm
@@ -251,16 +251,14 @@
;; gets an account alist balances
;; output: (list acc bal0 bal1 bal2 ...)
(define (account->balancelist account)
- (let ((ignore-closing? (not (gnc:account-is-inc-exp? account))))
+ (let ((comm (xaccAccountGetCommodity account)))
(cons account
- (gnc:account-get-balances-at-dates
+ (gnc:account-accumulate-at-dates
account dates-list
- #:split->amount
- (lambda (s)
- (and (or ignore-closing?
- (not (xaccTransGetIsClosingTxn
- (xaccSplitGetParent s))))
- (xaccSplitGetAmount s)))))))
+ #:split->elt (lambda (s)
+ (gnc:make-gnc-monetary
+ comm (xaccSplitGetNoclosingBalance s)))
+ #:nosplit->elt (gnc:make-gnc-monetary comm 0)))))
;; This calculates the balances for all the 'account-balances' for
;; each element of the list 'dates'. Uses the collector->monetary
commit 68b0abdfa6a51f317159167bb9259d4a45290afc
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri Nov 22 23:28:33 2019 +0800
[report-utilities] gnc:account-accumulate-at-dates: specify default elt
if acc has no splits before report-date, the nosplit->elt will specify
the default value to be inserted in the result list.
e.g. consider:
dates are (date1 date2 date3 date4 date5)
account has splits starting after date2:
(gnc:account-accumulate-at-dates account dates
#:split->elt (const 'yea) #:nosplit->elt 'nay)
results in '(nay nay yea yea yea)
diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index cd909c97e..20cf23c15 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -483,6 +483,8 @@ flawed. see report-utilities.scm. please update reports.")
;; of split->elt results along the way at dates specified in dates.
;; in: acc - account
;; dates - a list of time64 -- it will be sorted
+;; nosplit->elt - if report-dates occur *before* earliest split, the
+;; result list will be padded with this value
;; split->date - an unary lambda. result to compare with dates list.
;; split->elt - an unary lambda. it will be called successfully for each
;; split in the account until the last date. the result
@@ -490,14 +492,16 @@ flawed. see report-utilities.scm. please update reports.")
;; xaccSplitGetBalance makes it similar to
;; gnc:account-get-balances-at-dates.
;; out: (list elt0 elt1 ...), each entry is the result of split->elt
+;; or nosplit->elt
(define* (gnc:account-accumulate-at-dates
acc dates #:key
+ (nosplit->elt #f)
(split->date (compose xaccTransGetDate xaccSplitGetParent))
(split->elt xaccSplitGetBalance))
(let lp ((splits (xaccAccountGetSplitList acc))
(dates (sort dates <))
(result '())
- (last-result #f))
+ (last-result nosplit->elt))
(match dates
;; end of dates. job done!
diff --git a/gnucash/report/report-system/test/test-report-utilities.scm b/gnucash/report/report-system/test/test-report-utilities.scm
index adf648a36..b0f12da76 100644
--- a/gnucash/report/report-system/test/test-report-utilities.scm
+++ b/gnucash/report/report-system/test/test-report-utilities.scm
@@ -709,6 +709,14 @@
'(#f #f #f 10)
(gnc:account-accumulate-at-dates bank3 dates))
+ (test-equal "1 txn in late slot, tests #:nosplit->elt"
+ '(x x x 10)
+ (gnc:account-accumulate-at-dates bank3 dates #:nosplit->elt 'x))
+
+ (test-equal "1 txn in late slot, tests #:split->elt"
+ '(#f #f #f y)
+ (gnc:account-accumulate-at-dates bank3 dates #:split->elt (const 'y)))
+
(test-equal "1 txn in early slot"
'(#f 10 10 10)
(gnc:account-accumulate-at-dates bank4 dates)))
commit 17d39388660c45b302d2ba02ec7e2981ee0ee8dc
Author: Robert Fewell <14uBobIT at gmail.com>
Date: Mon Nov 18 17:35:46 2019 +0000
[I18N] Remove trailing colon and space from source file dialogue labels
diff --git a/gnucash/gnome-utils/dialog-account.c b/gnucash/gnome-utils/dialog-account.c
index 539b982bc..5383f3032 100644
--- a/gnucash/gnome-utils/dialog-account.c
+++ b/gnucash/gnome-utils/dialog-account.c
@@ -2153,7 +2153,7 @@ gnc_account_cascade_color_dialog (GtkWidget *window, Account *account)
G_CALLBACK(default_color_button_cb), (gpointer)color_button);
string = g_strdup_printf(_( "Set the account color for account '%s' "
- "including all sub-accounts to the selected color:"),
+ "including all sub-accounts to the selected color"),
gnc_account_get_full_name(account));
gtk_label_set_text (GTK_LABEL(color_label), string);
g_free (string);
diff --git a/gnucash/gnome-utils/dialog-commodity.c b/gnucash/gnome-utils/dialog-commodity.c
index 97220e6e0..74675a985 100644
--- a/gnucash/gnome-utils/dialog-commodity.c
+++ b/gnucash/gnome-utils/dialog-commodity.c
@@ -171,7 +171,7 @@ gnc_ui_select_commodity_modal_full(gnc_commodity * orig_sel,
if (user_message != NULL)
initial = user_message;
else if ((cusip != NULL) || (fullname != NULL) || (mnemonic != NULL))
- initial = _("\nPlease select a commodity to match:");
+ initial = _("\nPlease select a commodity to match");
else
initial = "";
@@ -285,17 +285,17 @@ gnc_ui_select_commodity_create(const gnc_commodity * orig_sel,
{
case DIAG_COMM_ALL:
title = _("Select security/currency");
- text = _("_Security/currency:");
+ text = _("_Security/currency");
break;
case DIAG_COMM_NON_CURRENCY:
case DIAG_COMM_NON_CURRENCY_SELECT:
title = _("Select security");
- text = _("_Security:");
+ text = _("_Security");
break;
case DIAG_COMM_CURRENCY:
default:
title = _("Select currency");
- text = _("Cu_rrency:");
+ text = _("Cu_rrency");
button = GTK_WIDGET(gtk_builder_get_object (builder, "ss_new_button"));
gtk_widget_destroy(button);
break;
diff --git a/gnucash/gnome-utils/dialog-dup-trans.c b/gnucash/gnome-utils/dialog-dup-trans.c
index 02af63096..690e57f6d 100644
--- a/gnucash/gnome-utils/dialog-dup-trans.c
+++ b/gnucash/gnome-utils/dialog-dup-trans.c
@@ -242,7 +242,7 @@ gnc_dup_trans_dialog_internal (GtkWidget * parent, const char* title,
if (!show_date && !tnum)
{
// The "date" and the "tnum" fields aren't being asked for, this is a split copy
- gtk_label_set_markup(GTK_LABEL (dt_dialog->num_label), _("Action/Number:"));
+ gtk_label_set_markup(GTK_LABEL (dt_dialog->num_label), _("Action/Number"));
}
if (tnum)
diff --git a/gnucash/gnome-utils/dialog-options.c b/gnucash/gnome-utils/dialog-options.c
index 084aa9331..ec1b03fcc 100644
--- a/gnucash/gnome-utils/dialog-options.c
+++ b/gnucash/gnome-utils/dialog-options.c
@@ -1286,7 +1286,7 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
gtk_grid_set_column_spacing (GTK_GRID (book_currency_data->book_currency_table), 6);
tip = gnc_currency_accounting_option_currency_documentation(option);
- widget_label = gtk_label_new( _("Book currency:") );
+ widget_label = gtk_label_new( _("Book currency") );
gtk_widget_set_tooltip_text(book_currency_data->book_currency_table,
tip && *tip ? _(tip) : "");
@@ -1315,7 +1315,7 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
gtk_grid_set_column_spacing (GTK_GRID (policy_table), 6);
tip = gnc_currency_accounting_option_policy_documentation(option);
- widget_label = gtk_label_new( _("Default lot tracking policy:") );
+ widget_label = gtk_label_new( _("Default lot tracking policy") );
gtk_widget_set_tooltip_text(policy_table, tip && *tip ? _(tip) : "");
gtk_widget_set_halign (GTK_WIDGET(widget_label), GTK_ALIGN_START);
@@ -1343,7 +1343,7 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
gtk_grid_set_column_spacing (GTK_GRID (book_currency_data->gain_loss_account_table), 6);
tip = gnc_currency_accounting_option_gain_loss_account_documentation(option);
- widget_label = gtk_label_new( _("Default gain/loss account:") );
+ widget_label = gtk_label_new( _("Default gain/loss account") );
gnc_label_set_alignment (GTK_WIDGET(widget_label), 0.0, 0.5);
gtk_widget_set_tooltip_text(book_currency_data->gain_loss_account_table,
@@ -2451,12 +2451,9 @@ gnc_option_set_ui_widget_string (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2523,12 +2520,9 @@ gnc_option_set_ui_widget_currency (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2554,12 +2548,9 @@ gnc_option_set_ui_widget_commodity (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2592,12 +2583,9 @@ gnc_option_set_ui_widget_multichoice (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2623,10 +2611,8 @@ gnc_option_set_ui_widget_date (GNCOption *option, GtkBox *page_box,
gchar *colon_name;
GtkWidget *eventbox;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2692,12 +2678,9 @@ gnc_option_set_ui_widget_account_sel (GNCOption *option, GtkBox *page_box,
GtkWidget *value;
GtkWidget *label;
GList *acct_type_list;
- gchar *colon_name;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
acct_type_list = gnc_option_get_account_type_list(option);
value = gnc_account_sel_new();
@@ -2752,17 +2735,14 @@ gnc_option_set_ui_widget_number_range (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
GtkAdjustment *adj;
gdouble lower_bound = G_MINDOUBLE;
gdouble upper_bound = G_MAXDOUBLE;
gdouble step_size = 1.0;
int num_decimals = 0;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2818,13 +2798,10 @@ gnc_option_set_ui_widget_color (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
gboolean use_alpha;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2855,12 +2832,9 @@ gnc_option_set_ui_widget_font (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -2893,13 +2867,10 @@ gnc_option_set_ui_widget_pixmap (GNCOption *option, GtkBox *page_box,
GtkWidget *value;
GtkWidget *label;
GtkWidget *button;
- gchar *colon_name;
ENTER("option %p(%s), name %s", option, gnc_option_name(option), name);
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
@@ -3029,17 +3000,14 @@ gnc_option_set_ui_widget_plot_size (GNCOption *option, GtkBox *page_box,
GtkWidget *label;
GtkWidget *px_butt, *p_butt;
GtkWidget *hbox;
- gchar *colon_name;
GtkAdjustment *adj_px, *adj_percent;
gdouble lower_bound = G_MINDOUBLE;
gdouble upper_bound = G_MAXDOUBLE;
gdouble step_size = 1.0;
int num_decimals = 0;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
@@ -3125,12 +3093,9 @@ gnc_option_set_ui_widget_budget (GNCOption *option, GtkBox *page_box,
{
GtkWidget *value;
GtkWidget *label;
- gchar *colon_name;
- colon_name = g_strconcat(name, ":", NULL);
- label = gtk_label_new(colon_name);
+ label = gtk_label_new(name);
gnc_label_set_alignment(label, 1.0, 0.5);
- g_free(colon_name);
*enclosing = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_set_homogeneous (GTK_BOX (*enclosing), FALSE);
diff --git a/gnucash/gnome-utils/dialog-transfer.c b/gnucash/gnome-utils/dialog-transfer.c
index 6f10d66e6..786b537ad 100644
--- a/gnucash/gnome-utils/dialog-transfer.c
+++ b/gnucash/gnome-utils/dialog-transfer.c
@@ -2039,12 +2039,12 @@ gnc_xfer_dialog_create(GtkWidget *parent, XferDialog *xferData)
if (use_accounting_labels)
{
gtk_label_set_text(GTK_LABEL(gtk_bin_get_child (GTK_BIN(xferData->amount_radio))),
- _("Debit Amount:"));
+ _("Debit Amount"));
}
else
{
gtk_label_set_text(GTK_LABEL(gtk_bin_get_child (GTK_BIN(xferData->amount_radio))),
- _("To Amount:"));
+ _("To Amount"));
}
}
diff --git a/gnucash/gnome-utils/gnc-dense-cal.c b/gnucash/gnome-utils/gnc-dense-cal.c
index eb7864d8b..9bd6a872d 100644
--- a/gnucash/gnome-utils/gnc-dense-cal.c
+++ b/gnucash/gnome-utils/gnc-dense-cal.c
@@ -288,7 +288,7 @@ gnc_dense_cal_init(GncDenseCal *dcal)
{
GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- GtkWidget *label = gtk_label_new (_("View:"));
+ GtkWidget *label = gtk_label_new (_("View"));
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
gtk_widget_set_halign (label, GTK_ALIGN_END);
diff --git a/gnucash/gnome-utils/gnc-frequency.h b/gnucash/gnome-utils/gnc-frequency.h
index cda847075..9889c0ba6 100644
--- a/gnucash/gnome-utils/gnc-frequency.h
+++ b/gnucash/gnome-utils/gnc-frequency.h
@@ -91,13 +91,13 @@ void gnc_frequency_save_to_recurrence(GncFrequency *gf, GList **recurrences, GDa
/**
* Set the label text for the frequency option menu. In the current
- * implementation, the default label text is "Frequency:"
+ * implementation, the default label text is "Frequency"
*/
void gnc_frequency_set_frequency_label_text (GncFrequency *gf, const gchar *txt);
/**
* Set the label text for the date entry widget. In the current
- * impelmentation, the default label text is "Start Date:"
+ * impelmentation, the default label text is "Start Date"
*/
void gnc_frequency_set_date_label_text (GncFrequency *gf, const gchar *txt);
diff --git a/gnucash/gnome/assistant-acct-period.c b/gnucash/gnome/assistant-acct-period.c
index cae72aded..75ca82125 100644
--- a/gnucash/gnome/assistant-acct-period.c
+++ b/gnucash/gnome/assistant-acct-period.c
@@ -586,8 +586,8 @@ ap_assistant_create (AcctPeriodInfo *info)
gnc_frequency_new_from_recurrence(info->period, &info->closing_date));
/* Change the text so that its more mainingful for this assistant */
- gnc_frequency_set_frequency_label_text(info->period_menu, _("Period:"));
- gnc_frequency_set_date_label_text(info->period_menu, _("Closing Date:"));
+ gnc_frequency_set_frequency_label_text(info->period_menu, _("Period"));
+ gnc_frequency_set_date_label_text(info->period_menu, _("Closing Date"));
/* Reparent to the correct location */
diff --git a/gnucash/gnome/business-options-gnome.c b/gnucash/gnome/business-options-gnome.c
index cc058803b..7841f8ecb 100644
--- a/gnucash/gnome/business-options-gnome.c
+++ b/gnucash/gnome/business-options-gnome.c
@@ -80,13 +80,8 @@ create_owner_widget (GNCOption *option, GncOwnerType type, GtkWidget *hbox)
static GtkWidget *
make_name_label (char *name)
{
- GtkWidget *label;
- gchar *colon_name;
-
- colon_name = g_strconcat (name, ":", (char *)NULL);
- label = gtk_label_new (colon_name);
+ GtkWidget *label = gtk_label_new (name);
gnc_label_set_alignment (label, 1.0, 0.5);
- g_free (colon_name);
return label;
}
diff --git a/gnucash/gnome/gnc-split-reg.c b/gnucash/gnome/gnc-split-reg.c
index 41ba0f628..2ceadf056 100644
--- a/gnucash/gnome/gnc-split-reg.c
+++ b/gnucash/gnome/gnc-split-reg.c
@@ -1353,11 +1353,11 @@ gsr_default_associate_handler_location (GNCSplitReg *gsr, Transaction *trans, gb
// add a label and set entry text if required
if (have_uri)
{
- label = gtk_label_new (_("Amend URL:"));
+ label = gtk_label_new (_("Amend URL"));
gtk_entry_set_text (GTK_ENTRY (entry), xaccTransGetAssociation (trans));
}
else
- label = gtk_label_new (_("Enter URL like https://www.gnucash.org:"));
+ label = gtk_label_new (_("Enter URL like https://www.gnucash.org"));
// pack label and entry to content area
gnc_label_set_alignment (label, 0.0, 0.5);
@@ -2482,7 +2482,7 @@ gsr_create_summary_bar( GNCSplitReg *gsr )
gsr->filter_label = add_summary_label (summarybar, FALSE, "", NULL);
gsr->sort_arrow = gtk_image_new_from_icon_name ("image-missing", GTK_ICON_SIZE_SMALL_TOOLBAR);
- gsr->sort_label = add_summary_label (summarybar, FALSE, _("Sort By: "), gsr->sort_arrow);
+ gsr->sort_label = add_summary_label (summarybar, FALSE, _("Sort By:"), gsr->sort_arrow);
gnc_widget_style_context_add_class (GTK_WIDGET(gsr->filter_label), "gnc-class-highlight");
gnc_widget_style_context_add_class (GTK_WIDGET(gsr->sort_arrow), "gnc-class-highlight");
diff --git a/gnucash/gnome/window-reconcile.c b/gnucash/gnome/window-reconcile.c
index cdec7b93a..cf8ab1eb0 100644
--- a/gnucash/gnome/window-reconcile.c
+++ b/gnucash/gnome/window-reconcile.c
@@ -1195,7 +1195,7 @@ gnc_reconcile_window_create_view_box(Account *account,
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
- label = gtk_label_new(_("Total:"));
+ label = gtk_label_new(_("Total"));
gnc_label_set_alignment(label, 1.0, 0.5);
gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
@@ -1886,7 +1886,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
gtk_box_pack_start(GTK_BOX(totals_hbox), value_vbox, TRUE, TRUE, 0);
/* statement date title/value */
- title = gtk_label_new(_("Statement Date:"));
+ title = gtk_label_new(_("Statement Date"));
gnc_label_set_alignment(title, 1.0, 0.5);
gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
@@ -1896,7 +1896,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
/* starting balance title/value */
- title = gtk_label_new(_("Starting Balance:"));
+ title = gtk_label_new(_("Starting Balance"));
gnc_label_set_alignment(title, 1.0, 0.5);
gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 3);
@@ -1906,7 +1906,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 3);
/* ending balance title/value */
- title = gtk_label_new(_("Ending Balance:"));
+ title = gtk_label_new(_("Ending Balance"));
gnc_label_set_alignment(title, 1.0, 0.5);
gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
@@ -1916,7 +1916,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
/* reconciled balance title/value */
- title = gtk_label_new(_("Reconciled Balance:"));
+ title = gtk_label_new(_("Reconciled Balance"));
gnc_label_set_alignment(title, 1.0, 0.5);
gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
@@ -1926,7 +1926,7 @@ recnWindowWithBalance (GtkWidget *parent, Account *account, gnc_numeric new_endi
gtk_box_pack_start(GTK_BOX(value_vbox), value, FALSE, FALSE, 0);
/* difference title/value */
- title = gtk_label_new(_("Difference:"));
+ title = gtk_label_new(_("Difference"));
gnc_label_set_alignment(title, 1.0, 0.5);
gtk_box_pack_start(GTK_BOX(title_vbox), title, FALSE, FALSE, 0);
diff --git a/gnucash/gnome/window-reconcile2.c b/gnucash/gnome/window-reconcile2.c
index 96648f564..27e8dba32 100644
--- a/gnucash/gnome/window-reconcile2.c
+++ b/gnucash/gnome/window-reconcile2.c
@@ -1145,7 +1145,7 @@ gnc_reconcile_window_create_view_box (Account *account,
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
- label = gtk_label_new (_("Total:"));
+ label = gtk_label_new (_("Total"));
gnc_label_set_alignment (label, 1.0, 0.5);
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
@@ -1826,7 +1826,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
gtk_box_pack_start (GTK_BOX (totals_hbox), value_vbox, TRUE, TRUE, 0);
/* statement date title/value */
- title = gtk_label_new (_("Statement Date:"));
+ title = gtk_label_new (_("Statement Date"));
gnc_label_set_alignment (title, 1.0, 0.5);
gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
@@ -1836,7 +1836,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
/* starting balance title/value */
- title = gtk_label_new(_("Starting Balance:"));
+ title = gtk_label_new(_("Starting Balance"));
gnc_label_set_alignment (title, 1.0, 0.5);
gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 3);
@@ -1846,7 +1846,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 3);
/* ending balance title/value */
- title = gtk_label_new (_("Ending Balance:"));
+ title = gtk_label_new (_("Ending Balance"));
gnc_label_set_alignment (title, 1.0, 0.5);
gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
@@ -1856,7 +1856,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
/* reconciled balance title/value */
- title = gtk_label_new (_("Reconciled Balance:"));
+ title = gtk_label_new (_("Reconciled Balance"));
gnc_label_set_alignment (title, 1.0, 0.5);
gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
@@ -1866,7 +1866,7 @@ recnWindow2WithBalance (GtkWidget *parent, Account *account,
gtk_box_pack_start (GTK_BOX (value_vbox), value, FALSE, FALSE, 0);
/* difference title/value */
- title = gtk_label_new (_("Difference:"));
+ title = gtk_label_new (_("Difference"));
gnc_label_set_alignment (title, 1.0, 0.5);
gtk_box_pack_start (GTK_BOX (title_vbox), title, FALSE, FALSE, 0);
diff --git a/gnucash/import-export/qif-imp/assistant-qif-import.c b/gnucash/import-export/qif-imp/assistant-qif-import.c
index ada03f855..ddaea8853 100644
--- a/gnucash/import-export/qif-imp/assistant-qif-import.c
+++ b/gnucash/import-export/qif-imp/assistant-qif-import.c
@@ -903,7 +903,7 @@ new_security_notebook_page (SCM security_hash_key, gnc_commodity *comm, QIFImpor
comm_nb_page->name_entry = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY(comm_nb_page->name_entry),
gnc_commodity_get_fullname (comm));
- label = gtk_label_new_with_mnemonic (_("_Name or description:"));
+ label = gtk_label_new_with_mnemonic (_("_Name or description"));
gtk_label_set_mnemonic_widget (GTK_LABEL(label), comm_nb_page->name_entry);
gnc_label_set_alignment (label, 0, 0.5);
@@ -927,7 +927,7 @@ new_security_notebook_page (SCM security_hash_key, gnc_commodity *comm, QIFImpor
gtk_entry_set_text (GTK_ENTRY(comm_nb_page->mnemonic_entry),
gnc_commodity_get_mnemonic (comm));
label = gtk_label_new_with_mnemonic (
- _("_Ticker symbol or other abbreviation:"));
+ _("_Ticker symbol or other abbreviation"));
gtk_label_set_mnemonic_widget (GTK_LABEL(label), comm_nb_page->mnemonic_entry);
gnc_label_set_alignment (label, 0, 0.5);
@@ -961,7 +961,7 @@ new_security_notebook_page (SCM security_hash_key, gnc_commodity *comm, QIFImpor
gnc_cbwe_add_completion (GTK_COMBO_BOX(comm_nb_page->namespace_combo));
label = gtk_label_new_with_mnemonic (
- _("_Exchange or abbreviation type:"));
+ _("_Exchange or abbreviation type"));
gtk_label_set_mnemonic_widget (GTK_LABEL(label), comm_nb_page->namespace_combo);
gnc_label_set_alignment (label, 0, 0.5);
commit 5586ccaa5f724bb70ef6450910dae8ec9e814266
Author: Robert Fewell <14uBobIT at gmail.com>
Date: Mon Nov 18 17:34:46 2019 +0000
[I18N] Remove trailing colon and space from glade dialogue labels - part2
diff --git a/gnucash/gtkbuilder/dialog-preferences.glade b/gnucash/gtkbuilder/dialog-preferences.glade
index 939bcdc0e..906428d2b 100644
--- a/gnucash/gtkbuilder/dialog-preferences.glade
+++ b/gnucash/gtkbuilder/dialog-preferences.glade
@@ -247,7 +247,7 @@
</child>
<child>
<object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/start-choice-relative">
- <property name="label" translatable="yes">_Relative:</property>
+ <property name="label" translatable="yes">_Relative</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -267,7 +267,7 @@
</child>
<child>
<object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/start-choice-absolute">
- <property name="label" translatable="yes">_Absolute:</property>
+ <property name="label" translatable="yes">_Absolute</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -287,7 +287,7 @@
</child>
<child>
<object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/end-choice-relative">
- <property name="label" translatable="yes">Re_lative:</property>
+ <property name="label" translatable="yes">Re_lative</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -307,7 +307,7 @@
</child>
<child>
<object class="GtkRadioButton" id="pref/window.pages.account-tree.summary/end-choice-absolute">
- <property name="label" translatable="yes">Ab_solute:</property>
+ <property name="label" translatable="yes">Ab_solute</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -616,7 +616,7 @@
<property name="can_focus">False</property>
<child>
<object class="GtkRadioButton" id="pref/general/currency-choice-other">
- <property name="label" translatable="yes">Ch_oose:</property>
+ <property name="label" translatable="yes">Ch_oose</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -653,7 +653,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Character:</property>
+ <property name="label" translatable="yes">Character</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -666,7 +666,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Sample:</property>
+ <property name="label" translatable="yes">Sample</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -753,7 +753,7 @@
<property name="can_focus">False</property>
<child>
<object class="GtkRadioButton" id="pref/general/currency-choice-locale">
- <property name="label" translatable="yes">Loc_ale:</property>
+ <property name="label" translatable="yes">Loc_ale</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -1428,7 +1428,7 @@ many months before the current month:</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">New search _limit:</property>
+ <property name="label" translatable="yes">New search _limit</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/dialogs.search/new-search-limit</property>
</object>
@@ -1480,7 +1480,7 @@ many months before the current month:</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Auto-save time _interval:</property>
+ <property name="label" translatable="yes">Auto-save time _interval</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/general/autosave-interval-minutes</property>
</object>
@@ -1581,7 +1581,7 @@ many months before the current month:</property>
</child>
<child>
<object class="GtkRadioButton" id="pref/general/retain-type-days">
- <property name="label" translatable="yes">For:</property>
+ <property name="label" translatable="yes">For</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -1641,7 +1641,7 @@ many months before the current month:</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Time to _wait for answer:</property>
+ <property name="label" translatable="yes">Time to _wait for answer</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/general/autosave-interval-minutes</property>
</object>
@@ -1926,7 +1926,7 @@ many months before the current month:</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Default _font:</property>
+ <property name="label" translatable="yes">Default _font</property>
<property name="use_markup">True</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/dialogs.checkprinting/default-font</property>
@@ -2444,7 +2444,7 @@ many months before the current month:</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Number of _transactions:</property>
+ <property name="label" translatable="yes">Number of _transactions</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/general.register/max-transactions</property>
</object>
@@ -2537,7 +2537,7 @@ many months before the current month:</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes" comments="Register2 feature">Number of _characters for auto complete:</property>
+ <property name="label" translatable="yes" comments="Register2 feature">Number of _characters for auto complete</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/general.register/key-length</property>
</object>
@@ -2715,7 +2715,7 @@ many months before the current month:</property>
<property name="left_padding">12</property>
<child>
<object class="GtkRadioButton" id="pref/general.report/currency-choice-other">
- <property name="label" translatable="yes">Ch_oose:</property>
+ <property name="label" translatable="yes">Ch_oose</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -2741,7 +2741,7 @@ many months before the current month:</property>
<property name="left_padding">12</property>
<child>
<object class="GtkRadioButton" id="pref/general.report/currency-choice-locale">
- <property name="label" translatable="yes">Loc_ale:</property>
+ <property name="label" translatable="yes">Loc_ale</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -3193,7 +3193,7 @@ many months before the current month:</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Width:</property>
+ <property name="label" translatable="yes">_Width</property>
<property name="use_underline">True</property>
<property name="ellipsize">middle</property>
</object>
diff --git a/gnucash/gtkbuilder/dialog-price.glade b/gnucash/gtkbuilder/dialog-price.glade
index 25e50f317..c0c586ef7 100644
--- a/gnucash/gtkbuilder/dialog-price.glade
+++ b/gnucash/gtkbuilder/dialog-price.glade
@@ -131,7 +131,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Namespace:</property>
+ <property name="label" translatable="yes">_Namespace</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">namespace_cbwe</property>
@@ -146,7 +146,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Security:</property>
+ <property name="label" translatable="yes">_Security</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">commodity_cbwe</property>
@@ -161,7 +161,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Cu_rrency:</property>
+ <property name="label" translatable="yes">Cu_rrency</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -175,7 +175,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Date:</property>
+ <property name="label" translatable="yes">_Date</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -188,7 +188,7 @@
<object class="GtkLabel" id="source_label">
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">S_ource:</property>
+ <property name="label" translatable="yes">S_ource</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">source_entry</property>
@@ -203,7 +203,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Type:</property>
+ <property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">type_combobox</property>
@@ -218,7 +218,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Price:</property>
+ <property name="label" translatable="yes">_Price</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -615,7 +615,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">From these Commodities:</property>
+ <property name="label" translatable="yes">From these Commodities</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -628,7 +628,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Keeping the last available price for option:</property>
+ <property name="label" translatable="yes">Keeping the last available price for option</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -643,7 +643,7 @@
<property name="halign">start</property>
<property name="valign">start</property>
<property name="hexpand">False</property>
- <property name="label" translatable="yes">Source:</property>
+ <property name="label" translatable="yes">Source</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -747,7 +747,7 @@ These prices were added so that there's always a "nearest in time" price for eve
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Before _Date:</property>
+ <property name="label" translatable="yes">Before _Date</property>
<property name="use_underline">True</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/dialog-print-check.glade b/gnucash/gtkbuilder/dialog-print-check.glade
index aac407bd3..01456cf29 100644
--- a/gnucash/gtkbuilder/dialog-print-check.glade
+++ b/gnucash/gtkbuilder/dialog-print-check.glade
@@ -367,7 +367,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Check _format:</property>
+ <property name="label" translatable="yes">Check _format</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">check_format_combobox</property>
@@ -382,7 +382,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Check po_sition:</property>
+ <property name="label" translatable="yes">Check po_sition</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">check_position_combobox</property>
@@ -398,7 +398,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
- <property name="label" translatable="yes">_Date format:</property>
+ <property name="label" translatable="yes">_Date format</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -541,7 +541,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Checks on first _page:</property>
+ <property name="label" translatable="yes">Checks on first _page</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">first_page_count_entry</property>
</object>
@@ -662,7 +662,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Pa_yee:</property>
+ <property name="label" translatable="yes">Pa_yee</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">payee_x_entry</property>
@@ -677,7 +677,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Date:</property>
+ <property name="label" translatable="yes">_Date</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">date_x_entry</property>
@@ -692,7 +692,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Amount (_words):</property>
+ <property name="label" translatable="yes">Amount (_words)</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">amount_words_x_entry</property>
@@ -707,7 +707,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Amount (_numbers):</property>
+ <property name="label" translatable="yes">Amount (_numbers)</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">amount_numbers_x_entry</property>
@@ -722,7 +722,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Notes:</property>
+ <property name="label" translatable="yes">_Notes</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">notes_x_entry</property>
@@ -915,7 +915,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Units:</property>
+ <property name="label" translatable="yes">_Units</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">units_combobox</property>
@@ -946,7 +946,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Translation:</property>
+ <property name="label" translatable="yes">_Translation</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">translation_x_entry</property>
@@ -1060,7 +1060,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Address:</property>
+ <property name="label" translatable="yes">_Address</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -1105,7 +1105,7 @@ to print an address on the check.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Memo:</property>
+ <property name="label" translatable="yes">_Memo</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">memo_x_entry</property>
diff --git a/gnucash/gtkbuilder/dialog-report.glade b/gnucash/gtkbuilder/dialog-report.glade
index 4e4c76ce9..0a1386158 100644
--- a/gnucash/gtkbuilder/dialog-report.glade
+++ b/gnucash/gtkbuilder/dialog-report.glade
@@ -548,7 +548,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Row span:</property>
+ <property name="label" translatable="yes">_Row span</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">row_spin</property>
@@ -563,7 +563,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Column span:</property>
+ <property name="label" translatable="yes">_Column span</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">col_spin</property>
@@ -799,7 +799,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Name:</property>
+ <property name="label" translatable="yes">_Name</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">name_entry</property>
@@ -814,7 +814,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Template:</property>
+ <property name="label" translatable="yes">_Template</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">template_combobox</property>
diff --git a/gnucash/gtkbuilder/dialog-sx.glade b/gnucash/gtkbuilder/dialog-sx.glade
index 677eb905e..9fb42d6a5 100644
--- a/gnucash/gtkbuilder/dialog-sx.glade
+++ b/gnucash/gtkbuilder/dialog-sx.glade
@@ -228,13 +228,13 @@
<object class="GtkGrid" id="param_table">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="column_spacing">5</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label847842">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Name:</property>
+ <property name="label" translatable="yes">Name</property>
<property name="justify">center</property>
</object>
<packing>
@@ -247,7 +247,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Frequency:</property>
+ <property name="label" translatable="yes">Frequency</property>
<property name="justify">center</property>
</object>
<packing>
@@ -260,7 +260,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Start Date:</property>
+ <property name="label" translatable="yes">Start Date</property>
<property name="justify">center</property>
</object>
<packing>
@@ -332,7 +332,7 @@
<property name="can_focus">False</property>
<child>
<object class="GtkRadioButton" id="end_on_date_button">
- <property name="label" translatable="yes">End Date:</property>
+ <property name="label" translatable="yes">End Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -363,7 +363,7 @@
<property name="can_focus">False</property>
<child>
<object class="GtkRadioButton" id="n_occurrences_button">
- <property name="label" translatable="yes">Number of Occurrences:</property>
+ <property name="label" translatable="yes">Number of Occurrences</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -421,7 +421,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">End: </property>
+ <property name="label" translatable="yes">End</property>
<property name="use_markup">True</property>
</object>
<packing>
@@ -603,7 +603,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Crea_te in advance:</property>
+ <property name="label" translatable="yes">Crea_te in advance</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/create-days</property>
</object>
@@ -625,7 +625,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">R_emind in advance:</property>
+ <property name="label" translatable="yes">R_emind in advance</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/dialogs.sxs.transaction-editor/remind-days</property>
</object>
@@ -836,6 +836,7 @@
<object class="GtkBox" id="hbox96">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label847707">
<property name="visible">True</property>
@@ -930,7 +931,7 @@
<property name="column_spacing">6</property>
<child>
<object class="GtkCheckButton" id="advance_opt">
- <property name="label" translatable="yes">Create in advance:</property>
+ <property name="label" translatable="yes">Create in advance</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -945,7 +946,7 @@
</child>
<child>
<object class="GtkCheckButton" id="remind_opt">
- <property name="label" translatable="yes">Remind in advance:</property>
+ <property name="label" translatable="yes">Remind in advance</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -1228,7 +1229,7 @@
</child>
<child>
<object class="GtkRadioButton" id="rb_enddate">
- <property name="label" translatable="yes">Until:</property>
+ <property name="label" translatable="yes">Until</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -1244,7 +1245,7 @@
</child>
<child>
<object class="GtkRadioButton" id="rb_num_occur">
- <property name="label" translatable="yes">For:</property>
+ <property name="label" translatable="yes">For</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
diff --git a/gnucash/gtkbuilder/dialog-tax-info.glade b/gnucash/gtkbuilder/dialog-tax-info.glade
index 9d9519880..1774b04da 100644
--- a/gnucash/gtkbuilder/dialog-tax-info.glade
+++ b/gnucash/gtkbuilder/dialog-tax-info.glade
@@ -116,7 +116,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Name:</property>
+ <property name="label" translatable="yes">Name</property>
<property name="use_markup">True</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
@@ -139,7 +139,7 @@
<object class="GtkLabel" id="label847742">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Type:</property>
+ <property name="label" translatable="yes">Type</property>
<property name="use_markup">True</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
diff --git a/gnucash/gtkbuilder/dialog-tax-table.glade b/gnucash/gtkbuilder/dialog-tax-table.glade
index 03755a9d8..f16bec408 100644
--- a/gnucash/gtkbuilder/dialog-tax-table.glade
+++ b/gnucash/gtkbuilder/dialog-tax-table.glade
@@ -451,7 +451,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
- <property name="label" translatable="yes">_Account:</property>
+ <property name="label" translatable="yes">_Account</property>
<property name="use_underline">True</property>
</object>
</child>
@@ -471,7 +471,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Value: </property>
+ <property name="label" translatable="yes">_Value</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
</object>
@@ -492,7 +492,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Type: </property>
+ <property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">type_combobox</property>
@@ -543,7 +543,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Name: </property>
+ <property name="label" translatable="yes">_Name</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">name_entry</property>
diff --git a/gnucash/gtkbuilder/dialog-totd.glade b/gnucash/gtkbuilder/dialog-totd.glade
index 6b0d5f865..f85ba8ac5 100644
--- a/gnucash/gtkbuilder/dialog-totd.glade
+++ b/gnucash/gtkbuilder/dialog-totd.glade
@@ -95,7 +95,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes"><b>Tip of the Day:</b></property>
+ <property name="label" translatable="yes"><b>Tip of the Day</b></property>
<property name="use_markup">True</property>
<property name="use_underline">True</property>
</object>
diff --git a/gnucash/gtkbuilder/dialog-transfer.glade b/gnucash/gtkbuilder/dialog-transfer.glade
index 81b3ad534..cb4f00fb7 100644
--- a/gnucash/gtkbuilder/dialog-transfer.glade
+++ b/gnucash/gtkbuilder/dialog-transfer.glade
@@ -112,7 +112,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Amount:</property>
+ <property name="label" translatable="yes">Amount</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -139,7 +139,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Date:</property>
+ <property name="label" translatable="yes">Date</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -167,7 +167,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Num:</property>
+ <property name="label" translatable="yes">Num</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -192,7 +192,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Description:</property>
+ <property name="label" translatable="yes">Description</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -219,7 +219,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Memo:</property>
+ <property name="label" translatable="yes">Memo</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -281,7 +281,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Currency:</property>
+ <property name="label" translatable="yes">Currency</property>
<property name="justify">center</property>
</object>
<packing>
@@ -369,7 +369,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Currency:</property>
+ <property name="label" translatable="yes">Currency</property>
<property name="justify">center</property>
</object>
<packing>
@@ -512,7 +512,7 @@
<property name="column_spacing">12</property>
<child>
<object class="GtkRadioButton" id="price_radio">
- <property name="label" translatable="yes">Exchange Rate:</property>
+ <property name="label" translatable="yes">Exchange Rate</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -552,7 +552,7 @@
</child>
<child>
<object class="GtkRadioButton" id="amount_radio">
- <property name="label" translatable="yes">To Amount:</property>
+ <property name="label" translatable="yes">To Amount</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
diff --git a/gnucash/gtkbuilder/dialog-userpass.glade b/gnucash/gtkbuilder/dialog-userpass.glade
index 6de881499..b2c01f78d 100644
--- a/gnucash/gtkbuilder/dialog-userpass.glade
+++ b/gnucash/gtkbuilder/dialog-userpass.glade
@@ -83,7 +83,7 @@
<object class="GtkLabel" id="label847713">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Username:</property>
+ <property name="label" translatable="yes">_Username</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">username_entry</property>
@@ -97,7 +97,7 @@
<object class="GtkLabel" id="label847714">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Password:</property>
+ <property name="label" translatable="yes">_Password</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">password_entry</property>
diff --git a/gnucash/gtkbuilder/dialog-vendor.glade b/gnucash/gtkbuilder/dialog-vendor.glade
index 147523505..385d5fdbc 100644
--- a/gnucash/gtkbuilder/dialog-vendor.glade
+++ b/gnucash/gtkbuilder/dialog-vendor.glade
@@ -127,6 +127,7 @@
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="border_width">2</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkBox" id="vbox11">
<property name="visible">True</property>
@@ -138,7 +139,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Vendor Number: </property>
+ <property name="label" translatable="yes">Vendor Number</property>
<property name="justify">right</property>
</object>
<packing>
@@ -152,7 +153,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Company Name: </property>
+ <property name="label" translatable="yes">Company Name</property>
<property name="justify">right</property>
</object>
<packing>
@@ -280,7 +281,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Name: </property>
+ <property name="label" translatable="yes">Name</property>
<property name="justify">right</property>
</object>
<packing>
@@ -294,7 +295,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Address: </property>
+ <property name="label" translatable="yes">Address</property>
<property name="justify">right</property>
</object>
<packing>
@@ -344,7 +345,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Phone: </property>
+ <property name="label" translatable="yes">Phone</property>
<property name="justify">right</property>
</object>
<packing>
@@ -358,7 +359,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Fax: </property>
+ <property name="label" translatable="yes">Fax</property>
<property name="justify">right</property>
</object>
<packing>
@@ -372,7 +373,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Email: </property>
+ <property name="label" translatable="yes">Email</property>
<property name="justify">right</property>
</object>
<packing>
@@ -590,6 +591,7 @@
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkBox" id="vbox7">
<property name="visible">True</property>
@@ -601,7 +603,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Currency: </property>
+ <property name="label" translatable="yes">Currency</property>
<property name="justify">right</property>
</object>
<packing>
@@ -615,7 +617,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Terms: </property>
+ <property name="label" translatable="yes">Terms</property>
<property name="justify">right</property>
</object>
<packing>
@@ -629,7 +631,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Tax Included:</property>
+ <property name="label" translatable="yes">Tax Included</property>
<property name="justify">right</property>
</object>
<packing>
@@ -643,7 +645,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Tax Table:</property>
+ <property name="label" translatable="yes">Tax Table</property>
<property name="justify">right</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/gnc-date-format.glade b/gnucash/gtkbuilder/gnc-date-format.glade
index c8c85a214..96bc2dcac 100644
--- a/gnucash/gtkbuilder/gnc-date-format.glade
+++ b/gnucash/gtkbuilder/gnc-date-format.glade
@@ -166,7 +166,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Months:</property>
+ <property name="label" translatable="yes">Months</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -178,7 +178,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Years:</property>
+ <property name="label" translatable="yes">Years</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -190,7 +190,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Format:</property>
+ <property name="label" translatable="yes">Format</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -203,7 +203,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_right">5</property>
- <property name="label" translatable="yes">Sample:</property>
+ <property name="label" translatable="yes">Sample</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -221,7 +221,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Date format:</property>
+ <property name="label" translatable="yes">Date format</property>
</object>
<packing>
<property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/gnc-frequency.glade b/gnucash/gtkbuilder/gnc-frequency.glade
index 1539fa80f..7b97fb030 100644
--- a/gnucash/gtkbuilder/gnc-frequency.glade
+++ b/gnucash/gtkbuilder/gnc-frequency.glade
@@ -585,12 +585,13 @@
<object class="GtkGrid" id="gncfreq_table">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="freq_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">12</property>
- <property name="label" translatable="yes">Frequency:</property>
+ <property name="label" translatable="yes">Frequency</property>
<property name="justify">right</property>
</object>
<packing>
@@ -603,7 +604,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">12</property>
- <property name="label" translatable="yes">Start Date:</property>
+ <property name="label" translatable="yes">Start Date</property>
<property name="justify">center</property>
</object>
<packing>
@@ -1090,13 +1091,14 @@
<object class="GtkBox" id="hbox127">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label847759">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_right">12</property>
- <property name="label" translatable="yes">First on the:</property>
+ <property name="label" translatable="yes">First on the</property>
<property name="justify">right</property>
</object>
<packing>
@@ -1131,7 +1133,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_right">12</property>
- <property name="label" translatable="yes">except on weekends:</property>
+ <property name="label" translatable="yes">except on weekends</property>
<property name="justify">right</property>
</object>
<packing>
@@ -1169,13 +1171,14 @@
<object class="GtkBox" id="hbox128">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label847760">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_right">12</property>
- <property name="label" translatable="yes">then on the:</property>
+ <property name="label" translatable="yes">then on the</property>
<property name="justify">right</property>
</object>
<packing>
@@ -1210,7 +1213,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_right">12</property>
- <property name="label" translatable="yes">except on weekends:</property>
+ <property name="label" translatable="yes">except on weekends</property>
<property name="justify">right</property>
</object>
<packing>
@@ -1341,12 +1344,12 @@
<object class="GtkBox" id="hbox125">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label847756">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="margin_right">12</property>
<property name="label" translatable="yes">On the</property>
<property name="justify">right</property>
</object>
@@ -1361,7 +1364,6 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="margin_right">12</property>
<property name="model">liststore4</property>
<child>
<object class="GtkCellRendererText" id="cellrenderertext4"/>
@@ -1382,8 +1384,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="margin_right">12</property>
- <property name="label" translatable="yes">except on weekends:</property>
+ <property name="label" translatable="yes">except on weekends</property>
<property name="justify">right</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-budget.glade b/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
index fcf780407..9d96d456c 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-budget.glade
@@ -99,12 +99,13 @@
<object class="GtkGrid" id="table1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Value:</property>
+ <property name="label" translatable="yes">Value</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -126,6 +127,7 @@
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="halign">start</property>
<property name="label" translatable="yes">Action</property>
</object>
<packing>
@@ -145,6 +147,7 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Replace the budget for all periods with new 'value'. Use empty value to unset budget for the accounts.</property>
+ <property name="halign">start</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
@@ -161,6 +164,7 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Add 'value' to current budget for each period</property>
+ <property name="halign">start</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">RB_Replace</property>
@@ -178,6 +182,7 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Multiply current budget for each period by 'value'</property>
+ <property name="halign">start</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">RB_Replace</property>
@@ -218,7 +223,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Significant Digits:</property>
+ <property name="label" translatable="yes">Significant Digits</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -329,12 +334,13 @@
<object class="GtkGrid" id="table6">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label96">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Start Date:</property>
+ <property name="label" translatable="yes">Start Date</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -346,7 +352,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Significant Digits:</property>
+ <property name="label" translatable="yes">Significant Digits</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -391,6 +397,7 @@
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Use the average value over all actual periods for all projected periods</property>
+ <property name="halign">start</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -492,14 +499,14 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">3</property>
- <property name="column_spacing">3</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label85">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">5</property>
- <property name="label" translatable="yes">Budget Name:</property>
+ <property name="label" translatable="yes">Budget Name</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -526,7 +533,7 @@
<property name="halign">start</property>
<property name="valign">start</property>
<property name="margin_left">5</property>
- <property name="label" translatable="yes">Notes:</property>
+ <property name="label" translatable="yes">Notes</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -575,7 +582,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">5</property>
- <property name="label" translatable="yes">Number of Periods:</property>
+ <property name="label" translatable="yes">Number of Periods</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -604,7 +611,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">5</property>
- <property name="label" translatable="yes">Budget Period:</property>
+ <property name="label" translatable="yes">Budget Period</property>
</object>
<packing>
<property name="left_attach">0</property>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-register.glade b/gnucash/gtkbuilder/gnc-plugin-page-register.glade
index 1ffe4fa77..2f2f36c84 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-register.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-register.glade
@@ -141,7 +141,7 @@ If 0, all previous days included</property>
</child>
<child>
<object class="GtkRadioButton" id="filter_show_range">
- <property name="label" translatable="yes">Select _Range:</property>
+ <property name="label" translatable="yes">Select _Range</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -166,7 +166,7 @@ If 0, all previous days included</property>
<object class="GtkLabel" id="label847682">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, Start section">Start:</property>
+ <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, Start section">Start</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -191,7 +191,7 @@ If 0, all previous days included</property>
</child>
<child>
<object class="GtkRadioButton" id="end_date_choose">
- <property name="label" translatable="yes">Choo_se Date:</property>
+ <property name="label" translatable="yes">Choo_se Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -253,7 +253,7 @@ If 0, all previous days included</property>
<object class="GtkLabel" id="label847684">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, End section">End:</property>
+ <property name="label" translatable="yes" comments="Filter By Dialog, Date Tab, End section">End</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -262,7 +262,7 @@ If 0, all previous days included</property>
</child>
<child>
<object class="GtkRadioButton" id="start_date_choose">
- <property name="label" translatable="yes">C_hoose Date:</property>
+ <property name="label" translatable="yes">C_hoose Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -1007,7 +1007,7 @@ If 0, all previous days included</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Date:</property>
+ <property name="label" translatable="yes">_Date</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -1021,7 +1021,7 @@ If 0, all previous days included</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Number:</property>
+ <property name="label" translatable="yes">_Number</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">num_spin</property>
@@ -1064,7 +1064,7 @@ If 0, all previous days included</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Transaction Number:</property>
+ <property name="label" translatable="yes">_Transaction Number</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">tnum_spin</property>
@@ -1215,7 +1215,7 @@ If 0, all previous days included</property>
<object class="GtkLabel" id="label847671">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Reason for voiding transaction:</property>
+ <property name="label" translatable="yes">Reason for voiding transaction</property>
<property name="justify">center</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/gnc-plugin-page-register2.glade b/gnucash/gtkbuilder/gnc-plugin-page-register2.glade
index 53788d622..d50194451 100644
--- a/gnucash/gtkbuilder/gnc-plugin-page-register2.glade
+++ b/gnucash/gtkbuilder/gnc-plugin-page-register2.glade
@@ -97,7 +97,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Date:</property>
+ <property name="label" translatable="yes">_Date</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -111,7 +111,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Number:</property>
+ <property name="label" translatable="yes">_Number</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">num_spin</property>
@@ -291,7 +291,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Start:</property>
+ <property name="label" translatable="yes">Start</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -316,7 +316,7 @@
</child>
<child>
<object class="GtkRadioButton" id="end_date_choose">
- <property name="label" translatable="yes">Choo_se Date:</property>
+ <property name="label" translatable="yes">Choo_se Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -379,7 +379,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">End:</property>
+ <property name="label" translatable="yes">End</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -388,7 +388,7 @@
</child>
<child>
<object class="GtkRadioButton" id="start_date_choose">
- <property name="label" translatable="yes">C_hoose Date:</property>
+ <property name="label" translatable="yes">C_hoose Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -750,7 +750,7 @@
<object class="GtkLabel" id="label847671">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Reason for voiding transaction:</property>
+ <property name="label" translatable="yes">Reason for voiding transaction</property>
<property name="justify">center</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/gnc-recurrence.glade b/gnucash/gtkbuilder/gnc-recurrence.glade
index 7531fb711..3616bc7f2 100644
--- a/gnucash/gtkbuilder/gnc-recurrence.glade
+++ b/gnucash/gtkbuilder/gnc-recurrence.glade
@@ -103,11 +103,12 @@
<object class="GtkBox" id="hbox219">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label89">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">beginning on: </property>
+ <property name="label" translatable="yes">beginning on</property>
</object>
<packing>
<property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/window-autoclear.glade b/gnucash/gtkbuilder/window-autoclear.glade
index 0f99723d8..46307474f 100644
--- a/gnucash/gtkbuilder/window-autoclear.glade
+++ b/gnucash/gtkbuilder/window-autoclear.glade
@@ -91,13 +91,13 @@
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="row_spacing">6</property>
- <property name="column_spacing">4</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="end_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Ending Balance:</property>
+ <property name="label" translatable="yes">_Ending Balance</property>
<property name="use_underline">True</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/window-reconcile.glade b/gnucash/gtkbuilder/window-reconcile.glade
index 66661957e..ee35d457b 100644
--- a/gnucash/gtkbuilder/window-reconcile.glade
+++ b/gnucash/gtkbuilder/window-reconcile.glade
@@ -90,7 +90,7 @@
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="row_spacing">6</property>
- <property name="column_spacing">4</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="start_value">
<property name="visible">True</property>
@@ -107,7 +107,7 @@
<object class="GtkLabel" id="date_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Statement _Date:</property>
+ <property name="label" translatable="yes">Statement _Date</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -119,7 +119,7 @@
<object class="GtkLabel" id="start_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Starting Balance:</property>
+ <property name="label" translatable="yes">Starting Balance</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -130,7 +130,7 @@
<object class="GtkLabel" id="end_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Ending Balance:</property>
+ <property name="label" translatable="yes">_Ending Balance</property>
<property name="use_underline">True</property>
</object>
<packing>
commit 6897f13e782da46ef0623cfb8cab553c3b967d28
Author: Robert Fewell <14uBobIT at gmail.com>
Date: Mon Nov 18 17:34:21 2019 +0000
[I18N] Remove trailing colon and space from glade dialogue labels - part1
diff --git a/gnucash/gtkbuilder/assistant-acct-period.glade b/gnucash/gtkbuilder/assistant-acct-period.glade
index b7585494a..212edd616 100644
--- a/gnucash/gtkbuilder/assistant-acct-period.glade
+++ b/gnucash/gtkbuilder/assistant-acct-period.glade
@@ -124,12 +124,13 @@ Books will be closed at midnight on the selected date.</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">12</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="book_title">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
- <property name="label" translatable="yes">Title:</property>
+ <property name="label" translatable="yes">Title</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -140,7 +141,7 @@ Books will be closed at midnight on the selected date.</property>
<object class="GtkLabel" id="book_notes">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Notes:</property>
+ <property name="label" translatable="yes">Notes</property>
<property name="wrap">True</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/assistant-csv-export.glade b/gnucash/gtkbuilder/assistant-csv-export.glade
index 9d0727a27..ea8e71b0e 100644
--- a/gnucash/gtkbuilder/assistant-csv-export.glade
+++ b/gnucash/gtkbuilder/assistant-csv-export.glade
@@ -468,7 +468,7 @@ Select the type of Export required and the separator that will be used.
</child>
<child>
<object class="GtkRadioButton" id="show_range">
- <property name="label" translatable="yes">Select _Range:</property>
+ <property name="label" translatable="yes">Select _Range</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -493,7 +493,7 @@ Select the type of Export required and the separator that will be used.
<object class="GtkLabel" id="label847682">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Start:</property>
+ <property name="label" translatable="yes">Start</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -519,7 +519,7 @@ Select the type of Export required and the separator that will be used.
</child>
<child>
<object class="GtkRadioButton" id="end_date_choose">
- <property name="label" translatable="yes">Cho_ose Date:</property>
+ <property name="label" translatable="yes">Cho_ose Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -582,7 +582,7 @@ Select the type of Export required and the separator that will be used.
<object class="GtkLabel" id="label847684">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">End:</property>
+ <property name="label" translatable="yes">End</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -591,7 +591,7 @@ Select the type of Export required and the separator that will be used.
</child>
<child>
<object class="GtkRadioButton" id="start_date_choose">
- <property name="label" translatable="yes">C_hoose Date:</property>
+ <property name="label" translatable="yes">C_hoose Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
diff --git a/gnucash/gtkbuilder/assistant-loan.glade b/gnucash/gtkbuilder/assistant-loan.glade
index f615ec2da..c6ab8bc97 100644
--- a/gnucash/gtkbuilder/assistant-loan.glade
+++ b/gnucash/gtkbuilder/assistant-loan.glade
@@ -148,7 +148,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Interest Rate:</property>
+ <property name="label" translatable="yes">Interest Rate</property>
<property name="justify">center</property>
</object>
<packing>
@@ -161,7 +161,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Start Date:</property>
+ <property name="label" translatable="yes">Start Date</property>
<property name="justify">center</property>
</object>
<packing>
@@ -174,7 +174,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Length:</property>
+ <property name="label" translatable="yes">Length</property>
<property name="justify">center</property>
</object>
<packing>
@@ -187,7 +187,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Amount:</property>
+ <property name="label" translatable="yes">Amount</property>
<property name="justify">right</property>
</object>
<packing>
@@ -200,7 +200,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Loan Account:</property>
+ <property name="label" translatable="yes">Loan Account</property>
<property name="justify">center</property>
</object>
<packing>
@@ -351,7 +351,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Type:</property>
+ <property name="label" translatable="yes">Type</property>
<property name="justify">center</property>
</object>
<packing>
@@ -364,7 +364,7 @@ If you make a mistake or want to make changes later, you can edit the created Sc
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Months Remaining:</property>
+ <property name="label" translatable="yes">Months Remaining</property>
<property name="justify">center</property>
<property name="ellipsize">end</property>
</object>
@@ -519,7 +519,7 @@ Do you utilise an escrow account, if so an account must be specified...</propert
<object class="GtkLabel" id="label847963">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Escrow Account:</property>
+ <property name="label" translatable="yes">Escrow Account</property>
<property name="justify">center</property>
</object>
<packing>
@@ -594,7 +594,7 @@ All accounts must have valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Payment From:</property>
+ <property name="label" translatable="yes">Payment From</property>
<property name="justify">right</property>
</object>
<packing>
@@ -607,7 +607,7 @@ All accounts must have valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Principal To:</property>
+ <property name="label" translatable="yes">Principal To</property>
<property name="justify">right</property>
</object>
<packing>
@@ -620,7 +620,7 @@ All accounts must have valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Name:</property>
+ <property name="label" translatable="yes">Name</property>
<property name="justify">right</property>
</object>
<packing>
@@ -633,7 +633,7 @@ All accounts must have valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Amount:</property>
+ <property name="label" translatable="yes">Amount</property>
<property name="justify">right</property>
</object>
<packing>
@@ -646,7 +646,7 @@ All accounts must have valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Interest To:</property>
+ <property name="label" translatable="yes">Interest To</property>
<property name="justify">right</property>
</object>
<packing>
@@ -801,7 +801,7 @@ All enabled option pages must contain valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Amount:</property>
+ <property name="label" translatable="yes">Amount</property>
<property name="justify">center</property>
</object>
<packing>
@@ -814,7 +814,7 @@ All enabled option pages must contain valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Payment From:</property>
+ <property name="label" translatable="yes">Payment From</property>
<property name="justify">center</property>
</object>
<packing>
@@ -827,7 +827,7 @@ All enabled option pages must contain valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Name:</property>
+ <property name="label" translatable="yes">Name</property>
<property name="justify">center</property>
</object>
<packing>
@@ -840,7 +840,7 @@ All enabled option pages must contain valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Payment To (Escrow):</property>
+ <property name="label" translatable="yes">Payment To (Escrow)</property>
<property name="justify">right</property>
</object>
<packing>
@@ -895,7 +895,7 @@ All enabled option pages must contain valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Payment From (Escrow):</property>
+ <property name="label" translatable="yes">Payment From (Escrow)</property>
<property name="justify">center</property>
</object>
<packing>
@@ -908,7 +908,7 @@ All enabled option pages must contain valid entries to continue.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Payment To:</property>
+ <property name="label" translatable="yes">Payment To</property>
<property name="justify">center</property>
</object>
<packing>
@@ -1170,7 +1170,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
<object class="GtkLabel" id="label847973">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Range: </property>
+ <property name="label" translatable="yes">Range</property>
<property name="justify">center</property>
</object>
<packing>
@@ -1233,7 +1233,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
<object class="GtkLabel" id="label847971">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Start Date:</property>
+ <property name="label" translatable="yes">Start Date</property>
<property name="justify">center</property>
</object>
<packing>
@@ -1245,7 +1245,7 @@ Review the details below and if correct press Apply to create the schedule.</pro
<object class="GtkLabel" id="label847972">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">End Date:</property>
+ <property name="label" translatable="yes">End Date</property>
<property name="justify">center</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/assistant-qif-import.glade b/gnucash/gtkbuilder/assistant-qif-import.glade
index 0af625690..e82f37379 100644
--- a/gnucash/gtkbuilder/assistant-qif-import.glade
+++ b/gnucash/gtkbuilder/assistant-qif-import.glade
@@ -363,7 +363,7 @@ Please enter a name for the account. If the file was exported from another accou
<object class="GtkLabel" id="label824">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Account name:</property>
+ <property name="label" translatable="yes">Account name</property>
<property name="justify">center</property>
</object>
<packing>
@@ -550,7 +550,7 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
<object class="GtkLabel" id="label7609">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Select the matchings you want to change:</property>
+ <property name="label" translatable="yes">_Select the matchings you want to change</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">account_page_view</property>
</object>
@@ -591,7 +591,7 @@ Note that GnuCash will be creating many accounts that did not exist on your othe
<object class="GtkLabel" id="label7610">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Matchings selected:</property>
+ <property name="label" translatable="yes">Matchings selected</property>
<property name="wrap">True</property>
</object>
<packing>
@@ -682,7 +682,7 @@ If you change your mind later, you can reorganize the account structure safely w
<object class="GtkLabel" id="label7611">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Select the matchings you want to change:</property>
+ <property name="label" translatable="yes">_Select the matchings you want to change</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">category_page_view</property>
</object>
@@ -723,7 +723,7 @@ If you change your mind later, you can reorganize the account structure safely w
<object class="GtkLabel" id="label7613">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Matchings selected:</property>
+ <property name="label" translatable="yes">Matchings selected</property>
<property name="wrap">True</property>
</object>
<packing>
@@ -812,7 +812,7 @@ In the following page, you will see the text that appears in the Payee and Memo
<object class="GtkLabel" id="label7614">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Select the matchings you want to change:</property>
+ <property name="label" translatable="yes">_Select the matchings you want to change</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">memo_page_view</property>
</object>
@@ -853,7 +853,7 @@ In the following page, you will see the text that appears in the Payee and Memo
<object class="GtkLabel" id="label7616">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Matchings selected:</property>
+ <property name="label" translatable="yes">Matchings selected</property>
<property name="wrap">True</property>
</object>
<packing>
@@ -1281,7 +1281,7 @@ Click "Next" to review the possible matches.</property>
<object class="GtkLabel" id="label847716">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Imported transactions needing review:</property>
+ <property name="label" translatable="yes">_Imported transactions needing review</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">new_transaction_view</property>
</object>
@@ -1320,7 +1320,7 @@ Click "Next" to review the possible matches.</property>
<object class="GtkLabel" id="label847717">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Possible matches for the selected transaction:</property>
+ <property name="label" translatable="yes">_Possible matches for the selected transaction</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">old_transaction_view</property>
</object>
diff --git a/gnucash/gtkbuilder/assistant-stock-split.glade b/gnucash/gtkbuilder/assistant-stock-split.glade
index 3723fd1a5..876c0f6de 100644
--- a/gnucash/gtkbuilder/assistant-stock-split.glade
+++ b/gnucash/gtkbuilder/assistant-stock-split.glade
@@ -107,7 +107,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Date:</property>
+ <property name="label" translatable="yes">_Date</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -121,7 +121,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Shares:</property>
+ <property name="label" translatable="yes">_Shares</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -135,7 +135,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Desc_ription:</property>
+ <property name="label" translatable="yes">Desc_ription</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">description_entry</property>
@@ -188,7 +188,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">New _Price:</property>
+ <property name="label" translatable="yes">New _Price</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -202,7 +202,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Currenc_y:</property>
+ <property name="label" translatable="yes">Currenc_y</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -267,7 +267,7 @@
<object class="GtkLabel" id="cash_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Amount:</property>
+ <property name="label" translatable="yes">_Amount</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -280,7 +280,7 @@
<object class="GtkLabel" id="memo_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Memo:</property>
+ <property name="label" translatable="yes">_Memo</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">memo_entry</property>
diff --git a/gnucash/gtkbuilder/assistant-xml-encoding.glade b/gnucash/gtkbuilder/assistant-xml-encoding.glade
index b0f77b300..bcfbb35ef 100644
--- a/gnucash/gtkbuilder/assistant-xml-encoding.glade
+++ b/gnucash/gtkbuilder/assistant-xml-encoding.glade
@@ -67,7 +67,7 @@
<object class="GtkLabel" id="label12">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Default encoding:</property>
+ <property name="label" translatable="yes">Default encoding</property>
</object>
<packing>
<property name="expand">False</property>
diff --git a/gnucash/gtkbuilder/business-prefs.glade b/gnucash/gtkbuilder/business-prefs.glade
index 1f5055918..b0ed07cf0 100644
--- a/gnucash/gtkbuilder/business-prefs.glade
+++ b/gnucash/gtkbuilder/business-prefs.glade
@@ -167,7 +167,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Report for printing:</property>
+ <property name="label" translatable="yes">Report for printing</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -296,7 +296,7 @@
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Days in ad_vance:</property>
+ <property name="label" translatable="yes">Days in ad_vance</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/dialogs.business.bill/days-in-advance</property>
</object>
@@ -361,7 +361,7 @@
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Days in advance:</property>
+ <property name="label" translatable="yes">_Days in advance</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">pref/dialogs.business.invoice/days-in-advance</property>
</object>
diff --git a/gnucash/gtkbuilder/dialog-account.glade b/gnucash/gtkbuilder/dialog-account.glade
index 95ec4b83d..d21987b20 100644
--- a/gnucash/gtkbuilder/dialog-account.glade
+++ b/gnucash/gtkbuilder/dialog-account.glade
@@ -274,7 +274,7 @@
</child>
<child>
<object class="GtkRadioButton" id="sa_mrb">
- <property name="label" translatable="yes">_Move to:</property>
+ <property name="label" translatable="yes">_Move to</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -366,7 +366,7 @@
<property name="column_spacing">12</property>
<child>
<object class="GtkRadioButton" id="trans_mrb">
- <property name="label" translatable="yes">M_ove to:</property>
+ <property name="label" translatable="yes">M_ove to</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -487,7 +487,7 @@
<property name="column_spacing">12</property>
<child>
<object class="GtkRadioButton" id="sa_trans_mrb">
- <property name="label" translatable="yes">M_ove to:</property>
+ <property name="label" translatable="yes">M_ove to</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -783,17 +783,17 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="show_unused">
- <property name="label" translatable="yes">Show _unused accounts</property>
+ <object class="GtkCheckButton" id="show_zero">
+ <property name="label" translatable="yes">Show _zero total accounts</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
+ <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb" swapped="no"/>
+ <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -802,17 +802,17 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="show_zero">
- <property name="label" translatable="yes">Show _zero total accounts</property>
+ <object class="GtkCheckButton" id="show_unused">
+ <property name="label" translatable="yes">Show _unused accounts</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Show accounts which have a zero total value.</property>
+ <property name="tooltip_text" translatable="yes">Show accounts which do not have any transactions.</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
- <signal name="toggled" handler="gppat_filter_show_zero_toggled_cb" swapped="no"/>
+ <signal name="toggled" handler="gppat_filter_show_unused_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -1012,7 +1012,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Account _name:</property>
+ <property name="label" translatable="yes">Account _name</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">name_entry</property>
<property name="ellipsize">middle</property>
@@ -1028,7 +1028,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">_Account code:</property>
+ <property name="label" translatable="yes">_Account code</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">code_entry</property>
</object>
@@ -1043,7 +1043,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">_Description:</property>
+ <property name="label" translatable="yes">_Description</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">description_entry</property>
</object>
@@ -1058,7 +1058,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">_Security/currency:</property>
+ <property name="label" translatable="yes">_Security/currency</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -1085,7 +1085,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Smallest _fraction:</property>
+ <property name="label" translatable="yes">Smallest _fraction</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">account_scu</property>
</object>
@@ -1100,7 +1100,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">Account _Color:</property>
+ <property name="label" translatable="yes">Account _Color</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -1153,7 +1153,7 @@
<property name="halign">start</property>
<property name="valign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">No_tes:</property>
+ <property name="label" translatable="yes">No_tes</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">notes_text</property>
</object>
@@ -1507,7 +1507,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">_Balance:</property>
+ <property name="label" translatable="yes">_Balance</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
</object>
@@ -1522,7 +1522,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="label" translatable="yes">_Date:</property>
+ <property name="label" translatable="yes">_Date</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
</object>
@@ -1702,7 +1702,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Prefix:</property>
+ <property name="label" translatable="yes">Prefix</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1738,7 +1738,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Examples:</property>
+ <property name="label" translatable="yes">Examples</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1761,7 +1761,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Interval:</property>
+ <property name="label" translatable="yes">Interval</property>
</object>
<packing>
<property name="left_attach">0</property>
diff --git a/gnucash/gtkbuilder/dialog-billterms.glade b/gnucash/gtkbuilder/dialog-billterms.glade
index 1ce517f25..b91bf17c2 100644
--- a/gnucash/gtkbuilder/dialog-billterms.glade
+++ b/gnucash/gtkbuilder/dialog-billterms.glade
@@ -64,6 +64,7 @@
<object class="GtkBox" id="hbox9">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkBox" id="vbox7">
<property name="visible">True</property>
@@ -75,7 +76,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Due Days: </property>
+ <property name="label" translatable="yes">Due Days</property>
<property name="justify">right</property>
</object>
<packing>
@@ -89,7 +90,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Discount Days: </property>
+ <property name="label" translatable="yes">Discount Days</property>
<property name="justify">right</property>
</object>
<packing>
@@ -103,7 +104,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Discount %: </property>
+ <property name="label" translatable="yes">Discount %</property>
<property name="justify">right</property>
</object>
<packing>
@@ -651,7 +652,7 @@
<object class="GtkLabel" id="label16">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">De_scription:</property>
+ <property name="label" translatable="yes">De_scription</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">desc_entry</property>
@@ -665,7 +666,7 @@
<object class="GtkLabel" id="label9">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">_Type:</property>
+ <property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
</object>
@@ -893,7 +894,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">De_scription:</property>
+ <property name="label" translatable="yes">De_scription</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">entry_desc</property>
@@ -934,7 +935,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Type:</property>
+ <property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">type_combo</property>
@@ -1161,7 +1162,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Name:</property>
+ <property name="label" translatable="yes">_Name</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">name_entry</property>
@@ -1184,7 +1185,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">De_scription:</property>
+ <property name="label" translatable="yes">De_scription</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">description_entry</property>
@@ -1207,7 +1208,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Type:</property>
+ <property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
<property name="mnemonic_widget">type_combobox</property>
diff --git a/gnucash/gtkbuilder/dialog-book-close.glade b/gnucash/gtkbuilder/dialog-book-close.glade
index 0adbd432f..6be7d2a85 100644
--- a/gnucash/gtkbuilder/dialog-book-close.glade
+++ b/gnucash/gtkbuilder/dialog-book-close.glade
@@ -77,12 +77,13 @@
<object class="GtkGrid" id="table1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Closing Date:</property>
+ <property name="label" translatable="yes">Closing Date</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -94,7 +95,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Income Total:</property>
+ <property name="label" translatable="yes">Income Total</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -106,7 +107,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Expense Total:</property>
+ <property name="label" translatable="yes">Expense Total</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -157,7 +158,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Description:</property>
+ <property name="label" translatable="yes">Description</property>
</object>
<packing>
<property name="left_attach">0</property>
diff --git a/gnucash/gtkbuilder/dialog-commodity.glade b/gnucash/gtkbuilder/dialog-commodity.glade
index 93d9ddd09..075129942 100644
--- a/gnucash/gtkbuilder/dialog-commodity.glade
+++ b/gnucash/gtkbuilder/dialog-commodity.glade
@@ -306,7 +306,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Type of quote source:</property>
+ <property name="label" translatable="yes">Type of quote source</property>
<property name="justify">right</property>
</object>
</child>
@@ -326,7 +326,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Full name:</property>
+ <property name="label" translatable="yes">_Full name</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">fullname_entry</property>
@@ -348,7 +348,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Symbol/abbreviation:</property>
+ <property name="label" translatable="yes">_Symbol/abbreviation</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">mnemonic_entry</property>
@@ -370,7 +370,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Type:</property>
+ <property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -391,7 +391,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">ISIN, CUSI_P or other code:</property>
+ <property name="label" translatable="yes">ISIN, CUSI_P or other code</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
<property name="mnemonic_widget">code_entry</property>
@@ -413,7 +413,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">F_raction traded:</property>
+ <property name="label" translatable="yes">F_raction traded</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -509,7 +509,7 @@
<property name="left_padding">24</property>
<child>
<object class="GtkRadioButton" id="single_source_button">
- <property name="label" translatable="yes">Si_ngle:</property>
+ <property name="label" translatable="yes">Si_ngle</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -536,7 +536,7 @@
<property name="left_padding">24</property>
<child>
<object class="GtkRadioButton" id="multi_source_button">
- <property name="label" translatable="yes">_Multiple:</property>
+ <property name="label" translatable="yes">_Multiple</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -563,7 +563,7 @@
<property name="left_padding">24</property>
<child>
<object class="GtkRadioButton" id="unknown_source_button">
- <property name="label" translatable="yes">_Unknown:</property>
+ <property name="label" translatable="yes">_Unknown</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -593,7 +593,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Time_zone:</property>
+ <property name="label" translatable="yes">Time_zone</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
</object>
@@ -702,9 +702,9 @@
</object>
</child>
<action-widgets>
- <action-widget response="-11">help_button</action-widget>
<action-widget response="-6">cancel_button</action-widget>
<action-widget response="-5">ok_button</action-widget>
+ <action-widget response="-11">help_button</action-widget>
</action-widgets>
</object>
<object class="GtkDialog" id="security_selector_dialog">
@@ -810,7 +810,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Type:</property>
+ <property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
@@ -831,7 +831,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label">_Security/currency:</property>
+ <property name="label">_Security/currency</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
</object>
diff --git a/gnucash/gtkbuilder/dialog-customer.glade b/gnucash/gtkbuilder/dialog-customer.glade
index f372328f8..e856c9887 100644
--- a/gnucash/gtkbuilder/dialog-customer.glade
+++ b/gnucash/gtkbuilder/dialog-customer.glade
@@ -126,6 +126,7 @@
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="border_width">2</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkBox" id="vbox11">
<property name="visible">True</property>
@@ -137,7 +138,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Customer Number: </property>
+ <property name="label" translatable="yes">Customer Number</property>
<property name="justify">right</property>
</object>
<packing>
@@ -151,7 +152,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Company Name: </property>
+ <property name="label" translatable="yes">Company Name</property>
<property name="justify">right</property>
</object>
<packing>
@@ -279,7 +280,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Name: </property>
+ <property name="label" translatable="yes">Name</property>
<property name="justify">right</property>
</object>
<packing>
@@ -293,7 +294,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Address: </property>
+ <property name="label" translatable="yes">Address</property>
<property name="justify">right</property>
</object>
<packing>
@@ -343,7 +344,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Phone: </property>
+ <property name="label" translatable="yes">Phone</property>
<property name="justify">right</property>
</object>
<packing>
@@ -357,7 +358,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Fax: </property>
+ <property name="label" translatable="yes">Fax</property>
<property name="justify">right</property>
</object>
<packing>
@@ -371,7 +372,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Email: </property>
+ <property name="label" translatable="yes">Email</property>
<property name="justify">right</property>
</object>
<packing>
@@ -595,6 +596,7 @@
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkBox" id="vbox7">
<property name="visible">True</property>
@@ -606,7 +608,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Currency: </property>
+ <property name="label" translatable="yes">Currency</property>
<property name="justify">right</property>
</object>
<packing>
@@ -620,7 +622,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Terms: </property>
+ <property name="label" translatable="yes">Terms</property>
<property name="justify">right</property>
</object>
<packing>
@@ -634,7 +636,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Discount: </property>
+ <property name="label" translatable="yes">Discount</property>
<property name="justify">right</property>
</object>
<packing>
@@ -648,7 +650,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Credit Limit: </property>
+ <property name="label" translatable="yes">Credit Limit</property>
<property name="justify">right</property>
</object>
<packing>
@@ -662,7 +664,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Tax Included: </property>
+ <property name="label" translatable="yes">Tax Included</property>
<property name="justify">right</property>
</object>
<packing>
@@ -676,7 +678,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Tax Table: </property>
+ <property name="label" translatable="yes">Tax Table</property>
<property name="justify">right</property>
</object>
<packing>
@@ -901,7 +903,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Name: </property>
+ <property name="label" translatable="yes">Name</property>
<property name="justify">right</property>
</object>
<packing>
@@ -915,7 +917,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Address: </property>
+ <property name="label" translatable="yes">Address</property>
<property name="justify">right</property>
</object>
<packing>
@@ -965,7 +967,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Phone: </property>
+ <property name="label" translatable="yes">Phone</property>
<property name="justify">right</property>
</object>
<packing>
@@ -979,7 +981,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Fax: </property>
+ <property name="label" translatable="yes">Fax</property>
<property name="justify">right</property>
</object>
<packing>
@@ -993,7 +995,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Email: </property>
+ <property name="label" translatable="yes">Email</property>
<property name="justify">right</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/dialog-employee.glade b/gnucash/gtkbuilder/dialog-employee.glade
index 8538aebd8..b9cb59c39 100644
--- a/gnucash/gtkbuilder/dialog-employee.glade
+++ b/gnucash/gtkbuilder/dialog-employee.glade
@@ -102,6 +102,7 @@
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="border_width">2</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkBox" id="vbox11">
<property name="visible">True</property>
@@ -113,7 +114,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Employee Number: </property>
+ <property name="label" translatable="yes">Employee Number</property>
<property name="justify">right</property>
</object>
<packing>
@@ -127,7 +128,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Username: </property>
+ <property name="label" translatable="yes">Username</property>
<property name="justify">right</property>
</object>
<packing>
@@ -262,7 +263,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Name: </property>
+ <property name="label" translatable="yes">Name</property>
<property name="justify">right</property>
</object>
<packing>
@@ -276,7 +277,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Address: </property>
+ <property name="label" translatable="yes">Address</property>
<property name="justify">right</property>
</object>
<packing>
@@ -326,7 +327,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Phone: </property>
+ <property name="label" translatable="yes">Phone</property>
<property name="justify">right</property>
</object>
<packing>
@@ -340,7 +341,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Fax: </property>
+ <property name="label" translatable="yes">Fax</property>
<property name="justify">right</property>
</object>
<packing>
@@ -354,7 +355,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Email: </property>
+ <property name="label" translatable="yes">Email</property>
<property name="justify">right</property>
</object>
<packing>
@@ -541,12 +542,13 @@
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="border_width">2</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label34">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Language: </property>
+ <property name="label" translatable="yes">Language</property>
<property name="justify">right</property>
</object>
<packing>
@@ -634,11 +636,12 @@
<object class="GtkBox" id="hbox8">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label35">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Default Hours per Day: </property>
+ <property name="label" translatable="yes">Default Hours per Day</property>
<property name="justify">center</property>
</object>
<packing>
@@ -673,11 +676,12 @@
<object class="GtkBox" id="hbox9">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label36">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Default Rate: </property>
+ <property name="label" translatable="yes">Default Rate</property>
<property name="justify">center</property>
</object>
<packing>
@@ -712,11 +716,12 @@
<object class="GtkBox" id="hbox10">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label37">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Currency: </property>
+ <property name="label" translatable="yes">Currency</property>
<property name="justify">right</property>
</object>
<packing>
@@ -750,6 +755,7 @@
<object class="GtkBox" id="hbox11">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label39">
<property name="visible">True</property>
diff --git a/gnucash/gtkbuilder/dialog-file-access.glade b/gnucash/gtkbuilder/dialog-file-access.glade
index 6de6272cf..91b773d75 100644
--- a/gnucash/gtkbuilder/dialog-file-access.glade
+++ b/gnucash/gtkbuilder/dialog-file-access.glade
@@ -71,7 +71,7 @@
<object class="GtkLabel" id="uri_type_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes"><b>Data Format:</b></property>
+ <property name="label" translatable="yes"><b>Data Format</b></property>
<property name="use_markup">True</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/dialog-fincalc.glade b/gnucash/gtkbuilder/dialog-fincalc.glade
index 851138e57..4bb2cb683 100644
--- a/gnucash/gtkbuilder/dialog-fincalc.glade
+++ b/gnucash/gtkbuilder/dialog-fincalc.glade
@@ -601,7 +601,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Payment Total:</property>
+ <property name="label" translatable="yes">Payment Total</property>
<property name="justify">center</property>
</object>
<packing>
@@ -685,7 +685,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Type:</property>
+ <property name="label" translatable="yes">Type</property>
</object>
</child>
</object>
@@ -704,7 +704,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Frequency:</property>
+ <property name="label" translatable="yes">Frequency</property>
<property name="use_underline">True</property>
</object>
</child>
@@ -724,7 +724,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">Frequency:</property>
+ <property name="label" translatable="yes">Frequency</property>
<property name="use_underline">True</property>
</object>
</child>
@@ -744,7 +744,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">When paid:</property>
+ <property name="label" translatable="yes">When paid</property>
</object>
</child>
</object>
diff --git a/gnucash/gtkbuilder/dialog-import.glade b/gnucash/gtkbuilder/dialog-import.glade
index d144f3a45..8a457f18c 100644
--- a/gnucash/gtkbuilder/dialog-import.glade
+++ b/gnucash/gtkbuilder/dialog-import.glade
@@ -260,12 +260,12 @@
<object class="GtkBox" id="hbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">3</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label847775">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Format:</property>
+ <property name="label" translatable="yes">Format</property>
<property name="justify">right</property>
</object>
<packing>
@@ -659,7 +659,7 @@
<object class="GtkLabel" id="label847772">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes" comments="Dialog Select matching transactions">Imported transaction's first split:</property>
+ <property name="label" translatable="yes" comments="Dialog Select matching transactions">Imported transaction's first split</property>
<property name="justify">center</property>
</object>
<packing>
@@ -694,7 +694,7 @@
<object class="GtkLabel" id="label847766">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes" comments="Dialog Select matching transactions">Potential splits matching the selected transaction: </property>
+ <property name="label" translatable="yes" comments="Dialog Select matching transactions">Potential splits matching the selected transaction</property>
<property name="justify">center</property>
</object>
<packing>
@@ -1153,7 +1153,7 @@
<object class="GtkLabel" id="heading_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">List of downloaded transactions (source split shown):</property>
+ <property name="label" translatable="yes">List of downloaded transactions (source split shown)</property>
<property name="justify">center</property>
</object>
<packing>
diff --git a/gnucash/gtkbuilder/dialog-invoice.glade b/gnucash/gtkbuilder/dialog-invoice.glade
index 751838d9e..8ca33e9c7 100644
--- a/gnucash/gtkbuilder/dialog-invoice.glade
+++ b/gnucash/gtkbuilder/dialog-invoice.glade
@@ -412,12 +412,12 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">3</property>
- <property name="spacing">2</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Customer: </property>
+ <property name="label" translatable="yes">Customer</property>
<property name="justify">right</property>
</object>
<packing>
@@ -444,7 +444,7 @@
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Job: </property>
+ <property name="label" translatable="yes">Job</property>
<property name="justify">right</property>
</object>
<packing>
@@ -495,12 +495,12 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">3</property>
- <property name="spacing">2</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkLabel" id="label31">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Additional to Card:</property>
+ <property name="label" translatable="yes">Additional to Card</property>
<property name="justify">right</property>
</object>
<packing>
commit 063a2704995029cdc7f331e2d4d11c2cd8dbfdbf
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 20:30:16 2019 +0800
[new-owner-report] fix: payment->invoice gets invoice totals
previously the payment-amount deduction loop used the
payment-split-list to obtain the invoice-posting-split's amount. this
would occasionally fail and would return the invoice-payment-split
amount, obtaining the wrong sign.
modify to retrieve the invoice total via gncInvoice API.
therefore payment-amount, minus gncInvoiceGetTotal(inv) amounts,
results in the overpayment amount.
diff --git a/gnucash/report/business-reports/new-owner-report.scm b/gnucash/report/business-reports/new-owner-report.scm
index 10aaa60c8..5b40d0b7b 100644
--- a/gnucash/report/business-reports/new-owner-report.scm
+++ b/gnucash/report/business-reports/new-owner-report.scm
@@ -374,8 +374,7 @@
(else
(let* ((payment-split (car payment-splits))
(inv (car payment-split))
- (inv-split (cadr payment-split))
- (inv-amount (AP-negate (xaccSplitGetAmount inv-split))))
+ (inv-amount (gncInvoiceGetTotal inv)))
(lp (cdr payment-splits)
(- amount inv-amount)
(cons (list
commit b3493509d19f25de3498530e5409fd2559a9e6ff
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 09:57:51 2019 +0800
[balsheet-pnl] speed up by pre-generating account report-date splits
previous code was very inefficient: if an account had N old splits and
balance-sheet reported on M recent dates, it would scan splitlist
multiple times: (1) to retrieve splits, (2) filter until
column-date, (3) find the last one. i.e. total O(N * M * 3).
this algorithm pre-generates the account's report-date splits by
scanning each account only once, creating M splits which are queried
by get-cell-anchor-fn via list-ref. i.e. O(N)
it is immedialtely converted to a vector because we want O(1)
access. from get-cell-anchor-fn
a future optimisation may scan the accounts' splitlists once per
report run, acquiring all required data (i.e. last period split,
split->balance, closing entries) in 1 pass, to generate a column-data
record.
diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 0a6d618a7..2cf5d745a 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -30,6 +30,7 @@
(use-modules (gnucash gnc-module))
(use-modules (gnucash gettext))
(use-modules (srfi srfi-1))
+(use-modules (srfi srfi-2))
(gnc:module-load "gnucash/report/report-system" 0)
@@ -901,19 +902,25 @@ also show overall period profit & loss."))
((eq? report-type 'balsheet)
(let* ((get-cell-monetary-fn
(lambda (account col-idx)
- (let ((account-balance-list (assoc account accounts-balances)))
+ (let ((account-balance-list (assoc-ref accounts-balances account)))
(and account-balance-list
- (list-ref account-balance-list (1+ col-idx))))))
+ (list-ref account-balance-list col-idx)))))
+
+ ;; an alist of account->last-split at date boundary
+ (accounts-splits-dates
+ (map
+ (lambda (acc)
+ (cons acc (list->vector
+ (gnc:account-accumulate-at-dates
+ acc report-dates #:split->elt identity))))
+ accounts))
+
(get-cell-anchor-fn
(lambda (account col-idx)
- (and (not (pair? account))
- (let* ((splits (xaccAccountGetSplitList account))
- (split-date (compose xaccTransGetDate xaccSplitGetParent))
- (date (list-ref report-dates col-idx))
- (valid-split? (lambda (s) (< (split-date s) date)))
- (valid-splits (filter valid-split? splits)))
- (and (pair? valid-splits)
- (gnc:split-anchor-text (last valid-splits)))))))
+ (and-let* (((not (pair? account)))
+ (date-splits (assoc-ref accounts-splits-dates account))
+ (split (vector-ref date-splits col-idx)))
+ (gnc:split-anchor-text split))))
(asset-liability-balances
(let ((asset-liab-balances
commit dda3da841604c9a5b3aebcec8de5b0ca1b68a446
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 12:20:57 2019 +0800
[report-utilities][API] gnc:account-accumulate-at-dates
this is a generalised form from gnc:account-get-balances-at-dates to
accumulate a list from report dates.
this function will scan through account splitlist, processing each
split via split->elt, accumulating results at date boundaries into the
results list. it uses ice-9 match for conciseness.
in: acc - account
dates - a list of time64
split->elt - an unary lambda. the result of calling (split->elt split)
will be accumulated onto the resulting list. by
default it returns the last split-balance before
date boundary, similar to gnc:account-get-balances-at-dates
out: (list elt0 elt1 ...), each entry is the result of split->elt
diff --git a/gnucash/report/report-system/report-system.scm b/gnucash/report/report-system/report-system.scm
index 16726290d..4a80105f0 100644
--- a/gnucash/report/report-system/report-system.scm
+++ b/gnucash/report/report-system/report-system.scm
@@ -698,6 +698,7 @@
(export gnc:commodity-collector-get-negated)
(export gnc:commodity-collectorlist-get-merged) ;deprecated
(export gnc-commodity-collector-commodity-count)
+(export gnc:account-accumulate-at-dates)
(export gnc:account-get-balance-at-date)
(export gnc:account-get-balances-at-dates)
(export gnc:account-get-comm-balance-at-date)
diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm
index 36237a4b4..cd909c97e 100644
--- a/gnucash/report/report-system/report-utilities.scm
+++ b/gnucash/report/report-system/report-utilities.scm
@@ -19,6 +19,7 @@
(use-modules (srfi srfi-13))
(use-modules (ice-9 format))
+(use-modules (ice-9 match))
(define (list-ref-safe list elt)
(and (> (length list) elt)
@@ -468,53 +469,63 @@ flawed. see report-utilities.scm. please update reports.")
(define* (gnc:account-get-balances-at-dates
account dates-list #:key (split->amount xaccSplitGetAmount))
(define (amount->monetary bal)
- (gnc:make-gnc-monetary (xaccAccountGetCommodity account) bal))
- (let loop ((splits (xaccAccountGetSplitList account))
- (dates-list (sort dates-list <))
- (currentbal 0)
- (lastbal 0)
- (balancelist '()))
- (cond
-
- ;; end of dates. job done!
- ((null? dates-list)
- (map amount->monetary (reverse balancelist)))
-
- ;; end of splits, but still has dates. pad with last-bal
- ;; until end of dates.
- ((null? splits)
- (loop '()
- (cdr dates-list)
- currentbal
- lastbal
- (cons lastbal balancelist)))
-
- (else
- (let* ((this (car splits))
- (rest (cdr splits))
- (currentbal (+ (or (split->amount this) 0) currentbal))
- (next (and (pair? rest) (car rest))))
-
- (cond
- ;; the next split is still before date
- ((and next (< (xaccTransGetDate (xaccSplitGetParent next)) (car dates-list)))
- (loop rest dates-list currentbal lastbal balancelist))
-
- ;; this split after date, add previous bal to balancelist
- ((< (car dates-list) (xaccTransGetDate (xaccSplitGetParent this)))
- (loop splits
- (cdr dates-list)
- lastbal
- lastbal
- (cons lastbal balancelist)))
-
- ;; this split before date, next split after date, or end.
- (else
- (loop rest
- (cdr dates-list)
- currentbal
- currentbal
- (cons currentbal balancelist)))))))))
+ (gnc:make-gnc-monetary (xaccAccountGetCommodity account) (or bal 0)))
+ (define balance 0)
+ (map amount->monetary
+ (gnc:account-accumulate-at-dates
+ account dates-list #:split->elt
+ (lambda (s)
+ (if s (set! balance (+ balance (or (split->amount s) 0))))
+ balance))))
+
+
+;; this function will scan through account splitlist, building a list
+;; of split->elt results along the way at dates specified in dates.
+;; in: acc - account
+;; dates - a list of time64 -- it will be sorted
+;; split->date - an unary lambda. result to compare with dates list.
+;; split->elt - an unary lambda. it will be called successfully for each
+;; split in the account until the last date. the result
+;; will be accumulated onto the resulting list. the default
+;; xaccSplitGetBalance makes it similar to
+;; gnc:account-get-balances-at-dates.
+;; out: (list elt0 elt1 ...), each entry is the result of split->elt
+(define* (gnc:account-accumulate-at-dates
+ acc dates #:key
+ (split->date (compose xaccTransGetDate xaccSplitGetParent))
+ (split->elt xaccSplitGetBalance))
+ (let lp ((splits (xaccAccountGetSplitList acc))
+ (dates (sort dates <))
+ (result '())
+ (last-result #f))
+ (match dates
+
+ ;; end of dates. job done!
+ (() (reverse result))
+
+ ((date . rest)
+ (match splits
+
+ ;; end of splits, but still has dates. pad with last-result
+ ;; until end of dates.
+ (() (lp '() rest (cons last-result result) last-result))
+
+ ((head . tail)
+ (let ((next (and (pair? tail) (car tail))))
+ (cond
+
+ ;; the next split is still before date.
+ ((and next (< (split->date next) date))
+ (lp tail dates result (split->elt head)))
+
+ ;; head split after date, accumulate previous result
+ ((< date (split->date head))
+ (lp splits rest (cons last-result result) last-result))
+
+ ;; head split before date, next split after date, or end.
+ (else
+ (let ((head-result (split->elt head)))
+ (lp tail rest (cons head-result result) head-result)))))))))))
;; This works similar as above but returns a commodity-collector,
;; thus takes care of children accounts with different currencies.
diff --git a/gnucash/report/report-system/test/test-report-utilities.scm b/gnucash/report/report-system/test/test-report-utilities.scm
index 7fd9eee5a..adf648a36 100644
--- a/gnucash/report/report-system/test/test-report-utilities.scm
+++ b/gnucash/report/report-system/test/test-report-utilities.scm
@@ -653,6 +653,11 @@
(dates (gnc:make-date-list (gnc-dmy2time64 01 01 1970)
(gnc-dmy2time64 01 04 1970)
MonthDelta)))
+
+ (test-equal "empty account"
+ '(#f #f #f #f)
+ (gnc:account-accumulate-at-dates bank1 dates))
+
(env-transfer env 15 01 1970 income bank1 10)
(env-transfer env 15 02 1970 income bank1 10)
(env-transfer env 15 03 1970 income bank1 10)
@@ -690,5 +695,21 @@
(test-equal "1 txn in early slot"
'(("USD" . 0) ("USD" . 10) ("USD" . 10) ("USD" . 10))
- (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates))))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates)))
+
+ (test-equal "1 txn in each slot"
+ '(#f 10 20 40)
+ (gnc:account-accumulate-at-dates bank1 dates))
+
+ (test-equal "2 txn before start, 1 in middle"
+ '(20 20 30 30)
+ (gnc:account-accumulate-at-dates bank2 dates))
+
+ (test-equal "1 txn in late slot"
+ '(#f #f #f 10)
+ (gnc:account-accumulate-at-dates bank3 dates))
+
+ (test-equal "1 txn in early slot"
+ '(#f 10 10 10)
+ (gnc:account-accumulate-at-dates bank4 dates)))
(teardown)))
commit f0a189adbbe5ab9e66c0a76f7fa82c9969bb1b6a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 11:51:05 2019 +0800
[test-report-utilities] add test-get-account-at-dates
diff --git a/gnucash/report/report-system/test/test-report-utilities.scm b/gnucash/report/report-system/test/test-report-utilities.scm
index 79728dade..7fd9eee5a 100644
--- a/gnucash/report/report-system/test/test-report-utilities.scm
+++ b/gnucash/report/report-system/test/test-report-utilities.scm
@@ -24,6 +24,7 @@
(test-monetary-adders)
(test-make-stats-collector)
(test-utility-functions)
+ (test-get-account-at-dates)
(test-end "report-utilities"))
(define (NDayDelta t64 n)
@@ -625,3 +626,69 @@
0
(s 'numitems #f)))
(test-end "gnc:make-stats-collector"))
+
+(define (monetary->pair mon)
+ (cons (gnc-commodity-get-mnemonic (gnc:gnc-monetary-commodity mon))
+ (gnc:gnc-monetary-amount mon)))
+
+(define (split->amount split)
+ (and split (xaccSplitGetAmount split)))
+
+(define (test-get-account-at-dates)
+ (test-group-with-cleanup "test-get-balance-at-dates"
+ (let* ((env (create-test-env))
+ (structure (list "Root" (list (cons 'type ACCT-TYPE-ASSET))
+ (list "Asset"
+ (list "Bank1")
+ (list "Bank2")
+ (list "Bank3")
+ (list "Bank4"))
+ (list "Income" (list (cons 'type ACCT-TYPE-INCOME)))))
+ (accounts (env-create-account-structure-alist env structure))
+ (bank1 (assoc-ref accounts "Bank1"))
+ (bank2 (assoc-ref accounts "Bank2"))
+ (bank3 (assoc-ref accounts "Bank3"))
+ (bank4 (assoc-ref accounts "Bank4"))
+ (income (assoc-ref accounts "Income"))
+ (dates (gnc:make-date-list (gnc-dmy2time64 01 01 1970)
+ (gnc-dmy2time64 01 04 1970)
+ MonthDelta)))
+ (env-transfer env 15 01 1970 income bank1 10)
+ (env-transfer env 15 02 1970 income bank1 10)
+ (env-transfer env 15 03 1970 income bank1 10)
+ (let ((clos (env-transfer env 18 03 1970 income bank1 10)))
+ (xaccTransSetIsClosingTxn clos #t))
+
+ (env-transfer env 15 12 1969 income bank2 10)
+ (env-transfer env 17 12 1969 income bank2 10)
+ (env-transfer env 15 02 1970 income bank2 10)
+
+ (env-transfer env 15 03 1970 income bank3 10)
+
+ (env-transfer env 15 01 1970 income bank4 10)
+
+ (test-equal "1 txn in each slot"
+ '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 40))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank1 dates)))
+
+ (test-equal "1 txn in each slot, tests #:split->amount to ignore closing"
+ '(("USD" . 0) ("USD" . 10) ("USD" . 20) ("USD" . 30))
+ (map monetary->pair
+ (gnc:account-get-balances-at-dates
+ bank1 dates #:split->amount
+ (lambda (s)
+ (and (not (xaccTransGetIsClosingTxn (xaccSplitGetParent s)))
+ (xaccSplitGetAmount s))))))
+
+ (test-equal "2 txn before start, 1 in middle"
+ '(("USD" . 20) ("USD" . 20) ("USD" . 30) ("USD" . 30))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank2 dates)))
+
+ (test-equal "1 txn in late slot"
+ '(("USD" . 0) ("USD" . 0) ("USD" . 0) ("USD" . 10))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank3 dates)))
+
+ (test-equal "1 txn in early slot"
+ '(("USD" . 0) ("USD" . 10) ("USD" . 10) ("USD" . 10))
+ (map monetary->pair (gnc:account-get-balances-at-dates bank4 dates))))
+ (teardown)))
commit 267181425178bea6fc160bbf6e60687fcae298ca
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Wed Nov 20 21:00:14 2019 +0800
[balsheet-pnl] income statement parent account can link to TR
this commit modifies the recursive-parent subtotal generator to also
include a link to a transaction report with all relevant accounts.
diff --git a/gnucash/report/standard-reports/balsheet-pnl.scm b/gnucash/report/standard-reports/balsheet-pnl.scm
index 8d06801b1..0a6d618a7 100644
--- a/gnucash/report/standard-reports/balsheet-pnl.scm
+++ b/gnucash/report/standard-reports/balsheet-pnl.scm
@@ -573,7 +573,10 @@ also show overall period profit & loss."))
col-datum
#t)
col-datum
- #f)))
+ (and get-cell-anchor-fn
+ (get-cell-anchor-fn
+ (account-and-descendants lvl-acct)
+ col-datum)))))
cols-data))))
(define* (add-account-row lvl-curr curr #:key
@@ -903,13 +906,14 @@ also show overall period profit & loss."))
(list-ref account-balance-list (1+ col-idx))))))
(get-cell-anchor-fn
(lambda (account col-idx)
- (let* ((splits (xaccAccountGetSplitList account))
- (split-date (compose xaccTransGetDate xaccSplitGetParent))
- (date (list-ref report-dates col-idx))
- (valid-split? (lambda (s) (< (split-date s) date)))
- (valid-splits (filter valid-split? splits)))
- (and (pair? valid-splits)
- (gnc:split-anchor-text (last valid-splits))))))
+ (and (not (pair? account))
+ (let* ((splits (xaccAccountGetSplitList account))
+ (split-date (compose xaccTransGetDate xaccSplitGetParent))
+ (date (list-ref report-dates col-idx))
+ (valid-split? (lambda (s) (< (split-date s) date)))
+ (valid-splits (filter valid-split? splits)))
+ (and (pair? valid-splits)
+ (gnc:split-anchor-text (last valid-splits)))))))
(asset-liability-balances
(let ((asset-liab-balances
@@ -1149,7 +1153,9 @@ also show overall period profit & loss."))
(or common-currency book-main-currency))
(list "Display" "Amount" 'double)
(list "Accounts" "Accounts"
- (list account))))))
+ (if (pair? account)
+ account
+ (list account)))))))
(chart (and include-chart?
(gnc:make-report-anchor
commit 1ab95b5563d3de766f1680d6aac60b2fedfb7833
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Wed Nov 20 00:13:42 2019 +0800
[invoice][i18n] enable i18n options helptext
and remove obsolete options "My Company" and "My Company ID"
diff --git a/gnucash/report/business-reports/invoice.scm b/gnucash/report/business-reports/invoice.scm
index af4e29fb4..0beef5c12 100644
--- a/gnucash/report/business-reports/invoice.scm
+++ b/gnucash/report/business-reports/invoice.scm
@@ -207,13 +207,13 @@
(gnc:register-inv-option
(gnc:make-text-option
- (N_ "Layout") (N_ "CSS") "zz" "CSS code. This field specifies the CSS code
-for styling the invoice. Please see the exported report for the CSS class names."
+ (N_ "Layout") (N_ "CSS") "zz" (N_ "CSS code. This field specifies the CSS code \
+for styling the invoice. Please see the exported report for the CSS class names.")
(keylist-get-info variant-list variant 'css)))
(gnc:register-inv-option
(gnc:make-pixmap-option
- (N_ "Layout") (N_ "Picture Location") "zy" "Location for Picture"
+ (N_ "Layout") (N_ "Picture Location") "zy" (N_ "Location for Picture")
""))
(gnc:register-inv-option
@@ -261,11 +261,6 @@ for styling the invoice. Please see the exported report for the CSS class names.
(N_ "Display Columns") (N_ "Total")
"n" (N_ "Display the entry's value?") #t))
- ;; company details can now be toggled via Layout tab
- ;; and IMHO company-tax-id should be rendered if present
- (gnc:register-inv-option (gnc:make-internal-option "Display" "My Company" #f))
- (gnc:register-inv-option (gnc:make-internal-option "Display" "My Company ID" #f))
-
(gnc:register-inv-option
(gnc:make-simple-boolean-option
(N_ "Display") (N_ "Due Date")
diff --git a/gnucash/report/business-reports/test/test-invoice.scm b/gnucash/report/business-reports/test/test-invoice.scm
index d6a3588b4..04cfffe5b 100644
--- a/gnucash/report/business-reports/test/test-invoice.scm
+++ b/gnucash/report/business-reports/test/test-invoice.scm
@@ -105,9 +105,8 @@
(for-each
(lambda (disp-col-name)
(set-option! options "Display" disp-col-name setting))
- '("My Company" "My Company ID" "Due Date"
- "Use Detailed Tax Summary" "Totals" "Subtotal" "References"
- "Billing Terms" "Billing ID" "Invoice Notes"
+ '("Due Date" "Use Detailed Tax Summary" "Totals" "Subtotal"
+ "References" "Billing Terms" "Billing ID" "Invoice Notes"
"Payments" "Job Details"))
options))
Summary of changes:
gnucash/gnome-utils/dialog-account.c | 2 +-
gnucash/gnome-utils/dialog-commodity.c | 8 +-
gnucash/gnome-utils/dialog-dup-trans.c | 2 +-
gnucash/gnome-utils/dialog-options.c | 65 +++--------
gnucash/gnome-utils/dialog-transfer.c | 4 +-
gnucash/gnome-utils/gnc-dense-cal.c | 2 +-
gnucash/gnome-utils/gnc-frequency.h | 4 +-
gnucash/gnome/assistant-acct-period.c | 4 +-
gnucash/gnome/business-options-gnome.c | 7 +-
gnucash/gnome/gnc-split-reg.c | 6 +-
gnucash/gnome/window-reconcile.c | 12 +-
gnucash/gnome/window-reconcile2.c | 12 +-
gnucash/gtkbuilder/assistant-acct-period.glade | 5 +-
gnucash/gtkbuilder/assistant-csv-export.glade | 10 +-
gnucash/gtkbuilder/assistant-loan.glade | 44 ++++----
gnucash/gtkbuilder/assistant-qif-import.glade | 18 +--
gnucash/gtkbuilder/assistant-stock-split.glade | 14 +--
gnucash/gtkbuilder/assistant-xml-encoding.glade | 2 +-
gnucash/gtkbuilder/business-prefs.glade | 6 +-
gnucash/gtkbuilder/dialog-account.glade | 46 ++++----
gnucash/gtkbuilder/dialog-billterms.glade | 21 ++--
gnucash/gtkbuilder/dialog-book-close.glade | 9 +-
gnucash/gtkbuilder/dialog-commodity.glade | 26 ++---
gnucash/gtkbuilder/dialog-customer.glade | 38 ++++---
gnucash/gtkbuilder/dialog-employee.glade | 28 +++--
gnucash/gtkbuilder/dialog-file-access.glade | 2 +-
gnucash/gtkbuilder/dialog-fincalc.glade | 10 +-
gnucash/gtkbuilder/dialog-import.glade | 10 +-
gnucash/gtkbuilder/dialog-invoice.glade | 10 +-
gnucash/gtkbuilder/dialog-preferences.glade | 36 +++---
gnucash/gtkbuilder/dialog-price.glade | 22 ++--
gnucash/gtkbuilder/dialog-print-check.glade | 26 ++---
gnucash/gtkbuilder/dialog-report.glade | 8 +-
gnucash/gtkbuilder/dialog-sx.glade | 27 ++---
gnucash/gtkbuilder/dialog-tax-info.glade | 4 +-
gnucash/gtkbuilder/dialog-tax-table.glade | 8 +-
gnucash/gtkbuilder/dialog-totd.glade | 2 +-
gnucash/gtkbuilder/dialog-transfer.glade | 18 +--
gnucash/gtkbuilder/dialog-userpass.glade | 4 +-
gnucash/gtkbuilder/dialog-vendor.glade | 24 ++--
gnucash/gtkbuilder/gnc-date-format.glade | 10 +-
gnucash/gtkbuilder/gnc-frequency.glade | 21 ++--
gnucash/gtkbuilder/gnc-plugin-page-budget.glade | 25 +++--
gnucash/gtkbuilder/gnc-plugin-page-register.glade | 18 +--
gnucash/gtkbuilder/gnc-plugin-page-register2.glade | 14 +--
gnucash/gtkbuilder/gnc-recurrence.glade | 3 +-
gnucash/gtkbuilder/window-autoclear.glade | 4 +-
gnucash/gtkbuilder/window-reconcile.glade | 8 +-
.../import-export/qif-imp/assistant-qif-import.c | 6 +-
gnucash/report/html-document.scm | 28 +----
gnucash/report/html-style-info.scm | 63 +----------
gnucash/report/report-utilities.scm | 124 ++++++++++++---------
gnucash/report/report.scm | 13 +--
gnucash/report/reports/example/hello-world.scm | 11 +-
gnucash/report/reports/standard/balsheet-pnl.scm | 109 ++++++++++++------
.../report/reports/standard/category-barchart.scm | 23 ++--
gnucash/report/reports/standard/invoice.scm | 11 +-
gnucash/report/reports/standard/net-charts.scm | 14 +--
gnucash/report/reports/standard/new-aging.scm | 40 ++++++-
.../report/reports/standard/new-owner-report.scm | 3 +-
.../report/reports/standard/test/test-invoice.scm | 5 +-
gnucash/report/test/test-report-utilities.scm | 96 ++++++++++++++++
libgnucash/backend/xml/io-example-account.cpp | 2 -
libgnucash/backend/xml/io-gncxml-v2.cpp | 8 +-
libgnucash/backend/xml/io-utils.cpp | 19 +---
libgnucash/backend/xml/io-utils.h | 2 -
66 files changed, 663 insertions(+), 623 deletions(-)
More information about the gnucash-changes
mailing list