diff options
author | Carsten Dominik <carsten.dominik@gmail.com> | 2011-02-09 10:10:04 +0100 |
---|---|---|
committer | Carsten Dominik <carsten.dominik@gmail.com> | 2011-02-09 10:10:04 +0100 |
commit | ce217d153afc4e68c72defc2a788d3f084f0fd83 (patch) | |
tree | 5f3bbc129e773338bd26ab8cfa571e0792bf0470 | |
parent | ca7aeada15aa2f3e5f8343d72acf58d54f67ca3c (diff) | |
parent | 09c5ff835973f4353d2022a4c746d60df4d7f0f0 (diff) | |
download | org-mode-ce217d153afc4e68c72defc2a788d3f084f0fd83.tar.gz |
Merge branch 'agenda-refresh-clocktable-on-filter-change'
-rw-r--r-- | lisp/org-agenda.el | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 9a3d953..800aefc 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -3611,7 +3611,7 @@ given in `org-agenda-start-on-weekday'." (when (and org-agenda-clockreport-mode clocktable-start) (let ((org-agenda-files (org-agenda-files nil 'ifmode)) ;; the above line is to ensure the restricted range! - (p org-agenda-clockreport-parameter-plist) + (p (copy-sequence org-agenda-clockreport-parameter-plist)) tbl) (setq p (org-plist-delete p :block)) (setq p (plist-put p :tstart clocktable-start)) @@ -3625,7 +3625,6 @@ given in `org-agenda-start-on-weekday'." "" x)) filter "")))) - (message "%s" (plist-get p :tags)) (sit-for 2) (setq tbl (apply 'org-get-clocktable p)) (insert tbl))) (goto-char (point-min)) @@ -5924,7 +5923,7 @@ to switch to narrowing." (effort-prompt "") (inhibit-read-only t) (current org-agenda-filter) - a n tag) + maybe-reftresh a n tag) (unless char (message "%s by tag [%s ], [TAB], %s[/]:off, [+-]:narrow, [>=<?]:effort: " @@ -5970,11 +5969,13 @@ to switch to narrowing." (if modifier (push modifier org-agenda-filter)))) (if (not (null org-agenda-filter)) - (org-agenda-filter-apply org-agenda-filter)))) + (org-agenda-filter-apply org-agenda-filter))) + (setq maybe-reftresh t)) ((equal char ?/) (org-agenda-filter-by-tag-show-all) (when (get 'org-agenda-filter :preset-filter) - (org-agenda-filter-apply org-agenda-filter))) + (org-agenda-filter-apply org-agenda-filter)) + (setq maybe-reftresh t)) ((or (equal char ?\ ) (setq a (rassoc char alist)) (and (>= char ?0) (<= char ?9) @@ -5990,8 +5991,12 @@ to switch to narrowing." (setq org-agenda-filter (cons (concat (if strip "-" "+") tag) (if narrow current nil))) - (org-agenda-filter-apply org-agenda-filter)) - (t (error "Invalid tag selection character %c" char))))) + (org-agenda-filter-apply org-agenda-filter) + (setq maybe-reftresh t)) + (t (error "Invalid tag selection character %c" char))) + (when (and maybe-reftresh + (eq org-agenda-clockreport-mode 'with-filter)) + (org-agenda-redo)))) (defun org-agenda-get-represented-tags () "Get a list of all tags currently represented in the agenda." |