org-mobile: Make the agendas to be pushed configurable

New variable `org-mobile-agendas'.
This commit is contained in:
Carsten Dominik 2009-11-25 00:53:03 +01:00
parent 4bfb32bb75
commit 7c59da0767
2 changed files with 36 additions and 3 deletions

View File

@ -1,5 +1,8 @@
2009-11-24 Carsten Dominik <carsten.dominik@gmail.com> 2009-11-24 Carsten Dominik <carsten.dominik@gmail.com>
* org-mobile.el (org-mobile-agendas): New option.
(org-mobile-sumo-agenda-command): Select the right agendas.
* org-latex.el (org-export-latex-format-image): Preserve the * org-latex.el (org-export-latex-format-image): Preserve the
original-indentation property. original-indentation property.

View File

@ -85,6 +85,22 @@ should point to this file."
:group 'org-mobile :group 'org-mobile
:type 'file) :type 'file)
(defcustom org-mobile-agendas 'all
"The agendas that should be pushed to MobileOrg.
Allowed values:
default the weekly agenda and the global TODO list
custom all custom agendas defined by the user
all the custom agendas and the default ones
list a list of selection key(s) as string."
:group 'org-mobile
:type '(choice
(const :tag "Default Agendas" default)
(const :tag "Custom Agendas" custom)
(const :tag "Default and Custom Agendas" all)
(repeat :tag "Selected"
(string :tag "Selection Keys"))))
(defcustom org-mobile-force-id-on-agenda-items t (defcustom org-mobile-force-id-on-agenda-items t
"Non-nil means make all agenda items carry and ID." "Non-nil means make all agenda items carry and ID."
:group 'org-mobile :group 'org-mobile
@ -426,8 +442,22 @@ The table of checksums is written to the file mobile-checksums."
((not (nth 1 x)) (cons (car x) (cons "" (cddr x)))) ((not (nth 1 x)) (cons (car x) (cons "" (cddr x))))
(t (cons (car x) (cons "" (cdr x)))))) (t (cons (car x) (cons "" (cdr x))))))
org-agenda-custom-commands))) org-agenda-custom-commands)))
new e key desc type match settings cmds gkey gdesc gsettings cnt) (default-list '(("a" "Agenda" agenda) ("t" "All TODO" alltodo)))
(while (setq e (pop custom-list)) thelist new e key desc type match settings cmds gkey gdesc gsettings cnt)
(cond
((eq org-mobile-agendas 'custom)
(setq thelist custom-list))
((eq org-mobile-agendas 'default)
(setq thelist default-list))
((eq org-mobile-agendas 'all)
(setq thelist custom-list)
(unless (assoc "t" thelist) (push '("t" "ALL TODO" alltodo) thelist))
(unless (assoc "a" thelist) (push '("a" "Agenda" agenda) thelist)))
((listp org-mobile-agendas)
(setq thelist (append custom-list default-list))
(setq thelist (delq nil (mapcar (lambda (k) (assoc k thelist))
org-mobile-agendas)))))
(while (setq e (pop thelist))
(cond (cond
((stringp (cdr e)) ((stringp (cdr e))
;; this is a description entry - skip it ;; this is a description entry - skip it
@ -438,7 +468,7 @@ The table of checksums is written to the file mobile-checksums."
((memq (nth 2 e) '(todo-tree tags-tree occur-tree)) ((memq (nth 2 e) '(todo-tree tags-tree occur-tree))
;; These are trees, not really agenda commands ;; These are trees, not really agenda commands
) )
((memq (nth 2 e) '(agenda todo tags)) ((memq (nth 2 e) '(agenda alltodo todo tags))
;; a normal command ;; a normal command
(setq key (car e) desc (nth 1 e) type (nth 2 e) match (nth 3 e) (setq key (car e) desc (nth 1 e) type (nth 2 e) match (nth 3 e)
settings (nth 4 e)) settings (nth 4 e))