共通設定プラグインタブのプラグイン一覧で、状態が稼働と停止の2つしかなくわかりにくかったため詳細化しました。
WSH_Plugin_U7.patch
また同じIDのプラグインを追加したときの処理を追加したり、ブラッシュアップしたりしています。
<バグでしょ? <いえ、改善です。
状態は以下の6種類になりました。
「」 プラグインテーブルに登録がない
「追加」 新規プラグイン追加で追加された(が、まだ一度も読み込まれていない)
「更新」 同じIDをもつ別のプラグインを登録した
「停止」 プラグインテーブルに登録があるが読み込めなかった
「稼働」 読み込まれた
「削除」 削除された
共通設定でキャンセルを選ぶと、プラグインの追加・削除は撤回されます。
また、状態は共有メモリに持っているため全エディタで共通ですが、プラグイン名はCPluginのインスタンスから取得するためエディタ毎に異なります。たとえばエディタAでプラグイン旧→新に更新した場合、Aでは旧プラグイン名を表示、その後開いたエディタBでは新プラグイン名を表示します。プラグイン名を見れば、そのエディタで読み込んでいるプラグインがわかるはず。
U7パッチへのパッチ
trunkからのU71への差分:snv diff形式
wikiのほうのテストバイナリで動かしてみました。
分かりやすくなって良いと思います。
動作上は問題ありませんが、コード上の気になったところをコメントする
よりパッチにしたほうが早かったので、パッチにしました。
[新規プラグインを追加]を押したとき、反応がないことが
あるので、ダイアログを出すように変更しました。
パッチへのパッチなので、普通のsvnではないdiffファイルです。
trunkからのsvn diffのpatchも添付しておきます。
BUFSIZは256以上で処理系依存みたいなので512にしました。
CPluginManager::m_pShareDataは未使用のようなので削除しました。
その他リソースリークとかreturnの値の微妙な修正です。
gentaさんのsvnの説明にあったような気がしますが、
追加されたファイルのpatchの改行コードが他と違ってCRLFになります。
元々あったファイルはLFのみになるようです。 svnのオプションが違うのかも。
共通設定「プラグイン」のヘルプのページ。暫定版。
ヘルプページの内容を書きました。
それと、忘れてましたが、
config\system_constants.h
N_SHAREDATA_VERSIONが更新されていなくて、
古いサクラと同時起動すると、大変なことになります。
#わたしは画面がピンクになってあせりました
U71+追加ソース属性変更+共有メモリ版数パッチ
もかさん、ご指摘ありがとうございます。
共有メモリバージョンは危うく気付かないところでした。今さらですが修正します。
WSH_Plugin_U72.patch
リビジョン1719, 1720でコミット済みです。