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

[mhc:01773] Re: mhc2ol (ToDo はイベントにしない、 Alarm は鳴らさない)



大賀きゆきです。mhc2ol -s の対応ありがとうございました。

> `-s' オプションを新設しました。
> このオプションを指定することで、ToDo を Outlook の Appointment に
> 変換しなくなります。

このオプションですが、使用すると、このような動作になってしまいます。

       ToDo は Outlook に反映されるが、通常のスケジュールが更新されなくなる。
       mhc2ol -i -s すると、通常のスケジュールが Outlook からすべて消えて
       しまう。

これは、$flag_separation が設定されていると appoint を一切セーブしなくなる
からだと思われます。

以下のようなパッチ上段を利用すれば、-s 使用時には、

       ToDo	は OlTaskItem    として Outlook に渡される。
       ToDo以外 は OlAppointItem として Outlook に渡される。

ようになると思います。

また、ToDo では X-SC-Day に期限を記入し、X-SC-Time/X-SC-Duration には
何も記入しない、というのが私の一般的な利用方法です。
    ←他の方はいかがですか?

この場合、mhc2ol では、X-SC-Day を期限開始日、その一日後(60*24 min)を
期限終了日としてしまい、task .DueDate が1日後にずれてしまいます。

もし上記の私のような利用法が一般的であるならば、以下のパッチ下段を適用
すれば、ひとまず対処が可能です。


------------------------------------------------------------------------------------------
diff -u /home/src/mhc/mhc2ol mhc2ol
--- /home/src/mhc/mhc2ol        2003-03-07 16:11:27.000000000 +0900
+++ mhc2ol      2003-03-07 17:02:25.000000000 +0900
@@ -449,7 +449,7 @@
       appoint .Categories = cats .join(',')
       $= = old_sp
       appoint .Body = MhcKconv::todisp(sch .dump())
-      appoint .Save() if !$flag_separation
+      appoint .Save() if !$flag_separation || !todo_p

       # Copy TODO
       if todo_p
@@ -457,6 +457,7 @@
         sdate, edate = sch .duration
         task .StartDate = Exporter .to_ol_date(sdate) || appoint .Start
        task .DueDate = Exporter .to_ol_date(edate) || appoint .End
+       task .DueDate = task .StartDate if !edate
         if done_p
          task .Complete = true
          task .DateCompleted = appoint .End
------------------------------------------------------------------------------------------

--
sakura@xxxxxxxxxxxx
http://www.tennodai.com/~sakura/