Menu

#86 矩形選択中にキャレットが操作と異なる方向に移動しないように。

closed
nobody
None
5
2012-11-09
2009-10-31
ds14050
No

#折り返しで次行の行頭に移動しません。
#行頭から左で前行の末尾一つ手前に移動しません。
#下移動で EOFのある行に移動したとき、
キャレットを EOFの前に移動しません。
#下移動で EOFのみの行に移動しません。

仕様変更なので勝手にコミットはしません。
(とはいえ誰が決められるのだろう?)
このパッチだけを適用したバイナリがここにあります。

http://vvvvvv.sakura.ne.jp/cgi_file/ds14050/diary/200910/26/sakuraW.zip

折り返し一文字手前までしか矩形選択範囲を拡大できな
い不都合の修正とは別に考えてもらって構いません。

http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=data&tree=r7061
この問題だけを解決することに興味はありませんので。

Discussion

  • ds14050

    ds14050 - 2009-10-31
     
  • Moca

    Moca - 2010-03-06

    私も変更に賛成票を入れておきます。

    本件パッチとは関係なく元からなのだとは思いますが、
    [EOF]がある行のEOFの右側を矩形選択中に、左右にスクロールなどで移動すると、
    反転表示がおかしくなります。

     
  • ds14050

    ds14050 - 2010-03-07

    [EOF]がある行のEOFの右側を矩形選択中に、左右にスクロールなどで移動すると、
    反転表示がおかしくなります。

    横にある程度スクロールした状態で矩形選択範囲を拡大縮小すると、スクロールしている分だけ EOF以降が反転表示されてしまうようです。

    trunk2/sakura_core/view/CViewSelect.cpp の 263行目。描画すべき選択範囲から EOF以降を除外する部分で、
    rcNew.left = pView->GetTextArea().GetAreaLeft() + (Int)(pView->GetTextArea().GetViewLeftCol() + ptLast.x) * nCharWidth;
    となっている部分を
    rcNew.left = pView->GetTextArea().GetAreaLeft() + (Int)(ptLast.x - pView->GetTextArea().GetViewLeftCol()) * nCharWidth;
    とすることで直った気がします。

    ----

    * Alt+ドラッグで EOF桁以降が矩形選択できない。
    * 折り返し方法を変更したときに矩形選択範囲が EOF桁までに縮小される。
    * ウィンドウをリサイズしたときに矩形選択範囲が EOF桁までに縮小される。
    いずれも EOFを含む行が矩形選択範囲に含まれている場合の話。キャレットの動きを変更するのならこれらの挙動も合わせて修正する必要がありそうです。

     
  • syat

    syat - 2011-11-06

    r1960向けにパッチを作りました。http://loda.jp/sakura_editor/?id=13.zip

     
  • syat

    syat - 2011-11-15

    rev1966でコミットしました。

     

Log in to post a comment.

MongoDB Logo MongoDB