summaryrefslogtreecommitdiff
path: root/lisp/ldg-reconcile.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/ldg-reconcile.el')
-rw-r--r--lisp/ldg-reconcile.el23
1 files changed, 20 insertions, 3 deletions
diff --git a/lisp/ldg-reconcile.el b/lisp/ldg-reconcile.el
index d59185b1..6179428f 100644
--- a/lisp/ldg-reconcile.el
+++ b/lisp/ldg-reconcile.el
@@ -119,7 +119,7 @@
(defun ledger-reconcile-add ()
(interactive)
(with-current-buffer ledger-buf
- (call-interactively #'ledger-add-entry))
+ (call-interactively #'ledger-add-transaction))
(ledger-reconcile-refresh))
(defun ledger-reconcile-delete ()
@@ -128,7 +128,7 @@
(when (ledger-reconcile-get-buffer where)
(with-current-buffer (ledger-reconcile-get-buffer where)
(goto-char (cdr where))
- (ledger-delete-current-entry))
+ (ledger-delete-current-transaction))
(let ((inhibit-read-only t))
(goto-char (line-beginning-position))
(delete-region (point) (1+ (line-end-position)))
@@ -159,6 +159,23 @@
(set-buffer-modified-p nil)
(ledger-display-balance))
+(defun ledger-reconcile-finish ()
+ "Mark all pending transactions as cleared, save the buffers and exit reconcile mode"
+ (interactive)
+ (save-excursion
+ (goto-char (point-min))
+ (while (not (eobp))
+ (let ((where (get-text-property (point) 'where))
+ (face (get-text-property (point) 'face)))
+ (if (and (eq face 'bold)
+ (when (is-stdin (car where))))
+ (with-current-buffer ledger-buf
+ (goto-char (cdr where))
+ (ledger-toggle-current 'cleared))))
+ (forward-line 1)))
+ (ledger-reconcile-save))
+
+
(defun ledger-reconcile-quit ()
(interactive)
(ledger-reconcile-quit-cleanup)
@@ -191,7 +208,7 @@
(cons
buf
(save-excursion
- (if ledger-clear-whole-entries
+ (if ledger-clear-whole-transactions
(goto-line (nth 1 emacs-xact))
(goto-line (nth 0 posting)))
(1+ (point-marker))))))) ;Add 1 to make sure the marker is within the transaction