リビジョン:
rev1825
変更種別:
バグ修正
内容:
Fix: MSDEVLineSelect形式で「クリップボードから」全置換したときにラインモード貼り付けにならない
Fix: フリーカーソル時のデータ挿入がカーソル位置でなく次行頭への挿入になってしまうことがある
■Fix: MSDEVLineSelect形式で…」について
「置換」ではラインモード貼り付けで「全置換」では通常貼り付け、というように挙動が不統一になってました。
えぇ、実は、ラインモード貼り付け機能を実装した際、「クリップボードから貼り付ける置換」は考慮してませんでした…
未実装のままだとコードを読む際に意図不明に陥りそうですし、修正しておきました。
矩形(MSDEVColumnSelect形式)のほうは矩形貼り付けに統一されているので、MSDEVLineSelect形式もそれに倣ってラインモード貼り付けに統一しています。
(注:共通設定のオプションでOFFになっていれば通常貼り付けですけど)
なお、ラインモードでの「検索始点挿入」「検索終点追加」はどちらも同じような挙動になります。もともとラインモード貼り付けは同じ行内ならカーソル桁位置(挿入桁位置)が違っていても同じ結果になるので。
今回、Command_INSTEXT() にラインモード貼り付けの機能を追加して対処しましたが、結果、Command_PASTE() とほぼ同じに操作になったので、そのへんも整理・統合しておきました。
Command_PASTE() はクリップボードからデータを取り出した後は Command_INSTEXT() を呼び出してデータ挿入するように変更しています。
■「Fix: フリーカーソル時の…」について
細かいですが「Fix: フリーカーソル時の…」も、Command_INSTEXT() の見直しに伴う修正です。
具体的には、フリーカーソルの設定で行末よりも右側で範囲選択(行はまたがない)した状態から「日付挿入」などの挿入操作をした場合の挙動を、キーボード入力の場合の挙動と同様にしました。
修正前:次の行の先頭に指定データが挿入される
修正後:選択範囲の左端まで空白を挿入し、続けて指定データが挿入される
になります。