;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; migrate-prefs.scm ;;; Custom generated script to migrate user preferences from ;;; gconf to gsettings. This should only be run once - ;;; when running GnuCash 2.6.x for the first time. ;;; ;;; Copyright 2013 Geert Janssens <geert@kobaltwit.be> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-module (migrate-prefs-user)) (use-modules (gnucash core-utils)) ;(use-modules (gnucash gnc-module)) ;; Guile 2 needs to find the symbols from the c module at compile time already ;(cond-expand ; (guile-2 ; (eval-when ; (compile load eval) ; (load-extension "libgnc-core-utils" "scm_init_sw_core_utils_module"))) ; (else ; (load-extension "libgnc-core-utils" "scm_init_sw_core_utils_module"))) ;(use-modules (sw_core_utils)) (define (run-migration-internal) ;; Processing preferences in group ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (display "Preference migration has finished")(newline) ) (define (run-migration) (catch #t run-migration-internal (lambda args (display (string-append "An error occurred while migrating preferences." (newline) "The error is: " (symbol->string key) " - " (car (caddr args)) ".")) #f)) ) (export run-migration) ;; Processing preference ;; Gconf value (boolean): (gnc-prefs-set-bool ; preference group "" ; preference name "" ; preference value #t #f ) ;; Gconf value (string): "" -> gsettings (integer) (gnc-prefs-set-int ; preference group "" ; preference name "" ; preference value ) ;; Type: pair of decimals (stored in Gconf as [d,d]) ; guile command to write pair of decimals value ;; Gconf value (decimal): (gnc-prefs-set-float ; preference group "" ; preference name "" ; preference value ) ;; Gconf value (integer): (gnc-prefs-set-int ; preference group "" ; preference name "" ; preference value ) ;; Gconf value (string): "" -> gsettings (boolean) (let ((suffix (string-delete "" #\_))) (gnc-prefs-set-bool ; preference group "" ; preference name "" ; preference value (string-suffix? suffix ""))) ;; Gconf value (string): "" (gnc-prefs-set-string ; preference group "" ; preference name "" ; preference value "" ) ;; Gconf value (64bit integer): (gnc-prefs-set-int64 ; preference group "" ; preference name "" ; preference value ) us0 uk1 ce2 iso3 locale4