プラグインの管理仕様周りの変更
PatchUnicode#1013762
・プラグイン追加より前の古いウィンドウ側で[稼働]のプラグイン設定ボタンを押すと強制終了するのを修正
・フォルダ名表示がSJIS未対応 tstring::rfind("\\") を修正
・プラグイン追加時のフォルダ名識別が大文字小文字を同一視していなかったのを修正
・kobake氏の仕様にあるようにplugins\unuseフォルダを特別視して無視するように
・削除→追加し直すときにPluginIDが変更されないように改良
・プラグイン追加時のIdentiferの使用不可文字列チェックを追加
「/\,[]*?<>&|;=" \t」を利用不可文字とする。ファイル名,ini,コメント,セパレータとみなされるようなものを排除
先頭が数字である場合も排除
・プラグインの読み込みを無効にした場合でも、プラグインを削除可能なように
・プラグインの削除/オプション設定ボタンの状態を設定
完全に無効の状態のものでは使えないようにする。
ボタンを押しても反応しない、何もないものを削除しようとするのをやめる
・プロセスごとの読込状態を一覧に表示。表示幅の調整
・オプション設定で現在のウィンドウのフォルダが共通設定側と違う場合は拒否する
・Plugin系ID変換関数をCPlugへ移動。PluginId/PlugId/EOutlineType/ESmartIndentTypeの混在を分離
CPluginManager::LoadAllPluginの
>m_plugins.sort();
はID順だと思っていたんですが
m_pluginsは => CPlugin::List => std::list<CPlugin*>
だからnewされたアドレス順のような気する。ここは意図が不明なためそのままです。
削除済プラグインのショートカットキー/ツールバーなどの設定値がsakura.iniに
「/01」みたいな文字列で書き込まれそうなのもそのままです。