[Kazehakase-devel 2577] HyperEstraierへの対応

Back to archive index

Ryo SHIMIZU furyo****@on-ai*****
2006年 1月 19日 (木) 21:39:12 JST


ふりょです.
#無駄に長いです.

履歴検索を HyperEstraier に対応させました.と,同時に Estraier をぶった切るコードを書きました.
HyperEstraier はバージョン1.0.6で試しました.
大きな変更になるので,みなさんの意見を聞かせてください.

パッチの内容は以下のようになってます.

○ src/utils/estsearch.c
estsearch_make_index()
estsearch_exist_index()
というふたつの関数を追加しました.

前者は HyperEstraier のインデックスを作成するコマンド
estcmd gather -fh -sd INDEX DIRECTORY
を実行する関数です.
後者は HyperEstraier のインデックスが存在するかを調べる関数です.

estsearch.c にあった関数はすべて HyperEstraier の動作に合うように
修正しました.大きな変更としては,Gna の bug #2865 で提案されている
「検索の検索をしない」という機能を付け加えました.
https://gna.org/bugs/?func=detailitem&item_id=2865
kzrc の History セクションに except_keyword という設定項目をもうけ,
履歴検索から排除したいキーワードをカンマ区切りで設定できるように
しました(ex. except_keyword=google,yahoo).
prefs_history.c の変更は,この設定画面の作成のためです.
except_keyword で設定されたキーワードを ANDNOT で結合して,
estcmd search の引数に与えています.

また,
history-search:風博士 ブラウザ
とすると,「風博士」と「ブラウザ」のAND検索をするようにしました.

Estraierにあった,検索にマッチした文書の概要を何文字表示するか,
というオプション(-snum)が HyperEstraier にはなくなってしまったので,
文字数を指定することができなくなりました.
ですが,将来的には実装されるであろうと推測し,設定画面からは
削除していません.

○ src/utils/utils.c
purge_history_file() を変更しました.
Estraier では,インデックスから特定の文書を削除する際に,文書のID
もしくはフルパスが必要でした.そのため,当該関数では設定した
保存期間を超えたファイルをリスト化していました.
HyperEstraier では,estcmd purge を実行すると,インデックスにあって
ローカルにないファイルを自動的にインデックスから削除してくれます.
この Estraier から HyperEstraier への機能の変更に伴い,purge_history_file()
から,purge するファイルをリスト化する処理をなくしました.

○ src/main.c
Estraier から HyperEstraier への自動移行を実装しました.
やり方は単純で,HyperEstraier のインデックスの名前を history_index.hest とし,
「履歴検索を利用する」かつ「estcmd がパス内にある」かつ「history_index.hest」がない,
という場合に前述の estsearch_make_index() を実行するようにしてあります.
これに伴って,ふたつの変更があります.
まず,kazehakase.h 中で設定されている HISTORY_INDEX の値を変更しました.
これは HyperEstraier への自動移行のためです.
また,今までは Estraier の検索コマンドである estindex が存在するかどうかを
格納していたグローバル変数の gboolean exists_estindex を,HyperEstraier の
コマンド名に合わせ gboolean exists_estcmd としました.

これに伴い,
actions/kz-smart-bookmark-action.c
mozilla/kz-mozembed.cpp
にあった exists_estindex を exists_estcmd に書き換えました.

変更点は以上です.

-- 
Ryo SHIMIZU 清水 涼
furyo****@on-ai*****
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: hest.diff
Descargar 


Kazehakase-devel メーリングリストの案内
Back to archive index