summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2014-01-30 11:57:43 +0100
committerBastien Guerry <bzg@altern.org>2014-01-30 11:57:43 +0100
commit7fc6d3df3939e80b1261ed5cb8c77b389ee117af (patch)
tree212b69656772fb61f6fcfe0b15c952a78cb9ac28
parent33a0a198e342dd49f9beb3b507dd994447443dff (diff)
downloadorg-mode-7fc6d3df3939e80b1261ed5cb8c77b389ee117af.tar.gz
org-agenda.el (org-agenda-drag-line-forward): Call`org-agenda-mark-clocking-task' when done
* org-agenda.el (org-agenda-drag-line-forward): Call `org-agenda-mark-clocking-task' when done. (org-agenda-mark-clocking-task): Small refactoring.
-rw-r--r--lisp/org-agenda.el41
1 files changed, 21 insertions, 20 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index d3ee38a..a98ccba 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -3718,12 +3718,7 @@ generating a new one."
(org-agenda-fontify-priorities))
(when (and org-agenda-dim-blocked-tasks org-blocker-hook)
(org-agenda-dim-blocked-tasks))
- ;; We need to widen when `org-agenda-finalize' is called from
- ;; `org-agenda-change-all-lines' (e.g. in `org-agenda-clock-in')
- (when org-clock-current-task
- (save-restriction
- (widen)
- (org-agenda-mark-clocking-task)))
+ (org-agenda-mark-clocking-task)
(when org-agenda-entry-text-mode
(org-agenda-entry-text-hide)
(org-agenda-entry-text-show))
@@ -3760,20 +3755,25 @@ generating a new one."
(defun org-agenda-mark-clocking-task ()
"Mark the current clock entry in the agenda if it is present."
- (org-agenda-unmark-clocking-task)
- (when (marker-buffer org-clock-hd-marker)
- (save-excursion
- (goto-char (point-min))
- (let (s ov)
- (while (setq s (next-single-property-change (point) 'org-hd-marker))
- (goto-char s)
- (when (equal (org-get-at-bol 'org-hd-marker)
- org-clock-hd-marker)
- (setq ov (make-overlay (point-at-bol) (1+ (point-at-eol))))
- (overlay-put ov 'type 'org-agenda-clocking)
- (overlay-put ov 'face 'org-agenda-clocking)
- (overlay-put ov 'help-echo
- "The clock is running in this item")))))))
+ ;; We need to widen when `org-agenda-finalize' is called from
+ ;; `org-agenda-change-all-lines' (e.g. in `org-agenda-clock-in')
+ (when org-clock-current-task
+ (save-restriction
+ (widen)
+ (org-agenda-unmark-clocking-task)
+ (when (marker-buffer org-clock-hd-marker)
+ (save-excursion
+ (goto-char (point-min))
+ (let (s ov)
+ (while (setq s (next-single-property-change (point) 'org-hd-marker))
+ (goto-char s)
+ (when (equal (org-get-at-bol 'org-hd-marker)
+ org-clock-hd-marker)
+ (setq ov (make-overlay (point-at-bol) (1+ (point-at-eol))))
+ (overlay-put ov 'type 'org-agenda-clocking)
+ (overlay-put ov 'face 'org-agenda-clocking)
+ (overlay-put ov 'help-echo
+ "The clock is running in this item")))))))))
(defun org-agenda-unmark-clocking-task ()
"Unmark the current clocking task."
@@ -9952,6 +9952,7 @@ When the optional argument `backward' is non-nil, move backward."
(move-beginning-of-line (funcall (if backward '1- '1+) arg))
(insert line)
(org-agenda-reapply-filters)
+ (org-agenda-mark-clocking-task)
(move-beginning-of-line 0)))))
(defun org-agenda-drag-line-backward (arg)