gnucash/libgnucash/app-utils/prefs.scm
Geert Janssens 83d14e1c1c Restructure the src directory
It is split into
- /libgnucash (for the non-gui bits)
- /gnucash (for the gui)
- /common (misc source files used by both)
- /bindings (currently only holds python bindings)

This is the first step in restructuring the code. It will need much
more fine tuning later on.
2017-08-10 18:45:00 +02:00

101 lines
4.0 KiB
Scheme

;; Preferences
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation; either version 2 of
;; the License, or (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, contact:
;;
;; Free Software Foundation Voice: +1-617-542-5942
;; 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652
;; Boston, MA 02110-1301, USA gnu@gnu.org
;; (define gnc:*double-entry-restriction*
;; (gnc:make-config-var
;; "Determines how the splits in a transaction will be balanced.
;; The following values have significance:
;;
;; #f anything goes
;;
;; 'force The sum of all splits in a transaction will be
;; forced to be zero, even if this requires the
;; creation of additional splits. Note that a split
;; whose value is zero (e.g. a stock price) can exist
;; by itself. Otherwise, all splits must come in at
;; least pairs.
;;
;; 'collect splits without parents will be forced into a
;; lost & found account. (Not implemented)"
;; (lambda (var value)
;; (cond
;; ((eq? value #f)
;; (_gnc_set_force_double_entry_ 0)
;; (list value))
;; ((eq? value 'force)
;; (_gnc_set_force_double_entry_ 1)
;; (list value))
;; ((eq? value 'collect)
;; (gnc:warn
;; "gnc:*double-entry-restriction* -- 'collect not supported yet. "
;; "Ignoring.")
;; #f)
;; (else
;; (gnc:warn
;; "gnc:*double-entry-restriction* -- " value " not supported. Ignoring.")
;; #f)))
;; eq?
;; #f))
(use-modules (gnucash gettext))
;; Old-school config files depend on this API
(define (gnc:config-file-format-version version) #t)
;;;;;; Create config vars
(define gnc:*debit-strings*
(list (cons ACCT-TYPE-NONE (N_ "Funds In"))
(cons ACCT-TYPE-BANK (N_ "Deposit"))
(cons ACCT-TYPE-CASH (N_ "Receive"))
(cons ACCT-TYPE-CREDIT (N_ "Payment"))
(cons ACCT-TYPE-ASSET (N_ "Increase"))
(cons ACCT-TYPE-LIABILITY (N_ "Decrease"))
(cons ACCT-TYPE-STOCK (N_ "Buy"))
(cons ACCT-TYPE-MUTUAL (N_ "Buy"))
(cons ACCT-TYPE-CURRENCY (N_ "Buy"))
(cons ACCT-TYPE-INCOME (N_ "Charge"))
(cons ACCT-TYPE-EXPENSE (N_ "Expense"))
(cons ACCT-TYPE-PAYABLE (N_ "Payment"))
(cons ACCT-TYPE-RECEIVABLE (N_ "Invoice"))
(cons ACCT-TYPE-TRADING (N_ "Decrease"))
(cons ACCT-TYPE-EQUITY (N_ "Decrease"))))
(define gnc:*credit-strings*
(list (cons ACCT-TYPE-NONE (N_ "Funds Out"))
(cons ACCT-TYPE-BANK (N_ "Withdrawal"))
(cons ACCT-TYPE-CASH (N_ "Spend"))
(cons ACCT-TYPE-CREDIT (N_ "Charge"))
(cons ACCT-TYPE-ASSET (N_ "Decrease"))
(cons ACCT-TYPE-LIABILITY (N_ "Increase"))
(cons ACCT-TYPE-STOCK (N_ "Sell"))
(cons ACCT-TYPE-MUTUAL (N_ "Sell"))
(cons ACCT-TYPE-CURRENCY (N_ "Sell"))
(cons ACCT-TYPE-INCOME (N_ "Income"))
(cons ACCT-TYPE-EXPENSE (N_ "Rebate"))
(cons ACCT-TYPE-PAYABLE (N_ "Bill"))
(cons ACCT-TYPE-RECEIVABLE (N_ "Payment"))
(cons ACCT-TYPE-TRADING (N_ "Increase"))
(cons ACCT-TYPE-EQUITY (N_ "Increase"))))
(define (gnc:get-debit-string type)
(_ (assoc-ref gnc:*debit-strings* type)))
(define (gnc:get-credit-string type)
(_ (assoc-ref gnc:*credit-strings* type)))