[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:01835] Re: 終了 (done) した Todo のまとめて移動



白井です。

From: sakura@xxxxxxxxxxxx <sakura@xxxxxxxxxxxx> さん曰く
Subject: [mhc:01834] 終了 (done) した Todo のまとめて移動
Message-ID: <20030912.200904.73367876.sakura@xxxxxxxxxxxx>
Date: Fri, 12 Sep 2003 20:09:04 +0900 (JST)

> …が、私の場合、Todoの数が異常に多いのか、zaurusだとmhcの一覧画面が表
> 示されるまでにかなりの時間がかります(C-c . g や C-c . R 等のほか、
> today でも)。
> 
> 多い理由は明白で、作業終了したTodoについては、C-c . d せずに 
> X-SC-Category に done todo と書くことにして、C-c . c で !done を指定し
> ているからなのです。

+schedule/intersect にたくさん入っちゃっているから遅くなっている
のですよね。それなら、

X-SC-Category: Todo

を

X-SC-Category: Done Todo

にするのではなく、

X-SC-Category: Done

だけにするのはどうでしょうか?

そうすると、日付指定があるスケジュールは、その日付に則ったフォル
ダに移動するので、intersect にたまるのは日付指定の無い "Done" だ
けになり、表示も高速化されると思います。

また、default 設定では、日付指定のない "Done" は MEMO(s) として
表示されるので必要なかったら消しちゃうとかできます。


Todo <==> Done を簡単に切り替える設定は、以前からみなさん追求さ
れていまして、ぼくは、みなさんの設定をかき集めて、

(add-hook 'mhc-mode-hook
          (lambda ()
            (define-key mhc-prefix-map "!" 'mhc-todo-toggle)))

(defadvice mhc-draft-set-as-done (after remove-todo activate)
  (when (mhc-draft-in-category-p "todo")
    (mhc-draft-delete-category "todo")))

(defadvice mhc-draft-set-as-not-done (before add-todo activate)
  (when (and (mhc-draft-in-category-p "done")
             (not (mhc-draft-in-category-p "todo")))
      (mhc-draft-append-category "Todo")))

(defun mhc-draft-toggle-todo ()
  "Toggle TODO category of current draft."
  (interactive)
  (cond
   ((mhc-draft-in-category-p "todo")
    (mhc-draft-delete-category "todo")
    (unless (mhc-draft-in-category-p "done")
      (mhc-draft-append-category "Done")))
   ((mhc-draft-in-category-p "done")
    (mhc-draft-delete-category "done")
    (unless (mhc-draft-in-category-p "todo")
      (mhc-draft-append-category "Todo")))))

(defun mhc-todo-toggle ()
  "Toggle TODO category of the schedule."
  (interactive)
  (message "Toggle TODO...")
  (mhc-modify-file (mhc-summary-filename))
  (mhc-draft-toggle-todo)
  (mhc-draft-finish)
  (message "Toggle TODO...done"))

なことをやっています。

> ざっとソースを見た限りでは、ある条件に合致する項目を削除、とか、ある条
> 件に合致する項目を移動、などの処理を発見することはできませんでした。

はい、そういう機能はありません。

> もし用意されていなければ、場当たり的に自分で作ろうかと考えています。

# それもまた楽しいかも。。。:-)

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxxxx)