[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00972] Re: Link
From: Yuuichi Teranishi <teranisi@xxxxxxxxxxxxx> さん曰く
Subject: [mhc:00971] Link
Message-ID: <fzd7jhvjzu.wl@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 10 Aug 2000 13:05:25 +0900
寺> "Link" カテゴリのアイコンは,クリックすると、
寺> メール本体のヘッダから X-URL 部分を取って来て browse-url 経由で
寺> netscape に表示するようにしてみました (current).
寺> ついでに,Emacs with bitmap-mule では,ボタンになっているアイコンは
寺> ハイライトするようにしときました
便利です。
以下、Todo に関して気付いた点を 2点ほど。
1.
X-SC-Day: !20000817 !20000818 !20000816
X-SC-Category: Todo Holiday
X-SC-Duration: 20000811-20000820
な schedule を書くと "後何日" を計算するときにエラーになります。
(defsubst mhc-schedule-todo-deadline (schedule)
(and schedule
(or (car (mhc-logic/day (mhc-schedule-condition schedule)))
が '(11185) = !20000817 を返すためです。
ここは、こんな感じではないでしょうか。(ちょっと汚いけど)
(defsubst mhc-schedule-todo-deadline (schedule)
(and schedule
(or (let ((date (car (mhc-logic/day (mhc-schedule-condition schedule)))))
(if (numberp date) date))
(nth 1 (assq
'mhc-logic/condition-duration
(mhc-logic/and
(mhc-schedule-condition schedule))))
(cadr (assq
'mhc-logic/condition-duration-end
(mhc-logic/and
(mhc-schedule-condition schedule)))))))
2番目も 'nth 2' だと duration の end 側を返すと思うので 'nth 1'
にしましたが、三番目の cadr がその目的のような気もするし、良くわ
からないので、よろしくお願いします。(_ _)
2.
X-SC-Priority: なのですが、Ruby 側が対応していないため mhc-sync
などをすると消えてしまいます。とりあえず付属のパッチを書いてみた
のですが、Ruby は超弩級の素人のため、良いのかどうかまったくわか
りません。(それ以前に、Ruby 側の処理をわかっていない)
# 動作確認はしているのですが。。。
というわけで、こちらもどなたか見てくださいませ。(_ _)
--
白井秀行@明日から10日間ほど断続的に音信不通になります ^^;;;
--- mhc-schedule.rb.orig Fri Jul 28 13:42:57 2000
+++ mhc-schedule.rb Thu Aug 10 11:30:34 2000
@@ -19,6 +19,7 @@
##
## subject
## get X-SC-Subject: value or ''
+##
## set_subject(aString)
## set X-SC-Subject:
## location
@@ -90,6 +91,9 @@
## set X-SC-Category:
## A space separated string or an array of string is allowed as an arg.
##
+## priority
+## get X-SC-Priority: value or ''
+##
## add_category(String)
## del_category(String)
## add/remove a category.
@@ -171,7 +175,7 @@
WEK_REGEX = MhcDate::W_LABEL .join('|')
ORD_REGEX = MhcDate::O_LABEL .join('|')
- HDR_REGEX = '(Subject|Location|Day|Time|Category|Cond|Duration|Alarm|Record-Id)'
+ HDR_REGEX = '(Subject|Location|Day|Time|Category|Cond|Duration|Alarm|Record-Id|Priority)'
ALM_UNITS = {'Minute' => 60, 'Hour' => 60 * 60, 'Day' => 60 * 60 * 24}
ALM_LABEL = ALM_UNITS .keys
@@ -340,6 +344,10 @@
return self
end
+ def priority
+ return @priority
+ end
+
## cond
def cond
return @cond_mon + @cond_ord + @cond_wek + @cond_num
@@ -567,6 +575,7 @@
"X-SC-Day: #{day_as_string}\n" +
"X-SC-Time: #{time_as_string}\n" +
"X-SC-Category: #{category_as_string}\n" +
+ "X-SC-Priority: #{priority}\n" +
"X-SC-Cond: #{cond_as_string}\n" +
"X-SC-Duration: #{duration_as_string}\n" +
"X-SC-Alarm: #{alarm_as_string}\n" +
@@ -851,6 +860,8 @@
@duration_b, @duration_e = nil, nil
@alarm, @rec_id = nil, nil
+ @priority = ''
+
@modified = false
@non_xsc_header = ''
return self
@@ -930,6 +941,9 @@
when 'category:'
val .split .each{|c| @category << c .capitalize}
+
+ when 'priority:'
+ @priority = val
when 'cond:'
val .split .each{|d|