plusone-masaki/csv-plus

タブを切り替えるとトップレフトの位置がA1に戻る

Closed this issue · 3 comments

2つ以上のファイルを開きタグを切り替えると、スクロールしていても必ずトップレフトがA1の位置に初期化されています。
2つのファイルを比較しながら作業すると都度戻ってしまうので、改良希望です。

再現手順

  1. 行数が多い(30行以上)のファイルを2つ開く。
  2. 1つ目のファイルを最下行までスクロールする。そのとき、左上は1行目(ex. A1)でないことを確認する。
  3. 2つ目のファイルにタブを切り替える。
  4. 1つ目のファイルにタブを切り替える(戻す)。
  5. 工程2でスクロールした位置が維持されておらず、左上がA1の位置へスクロール位置が戻っている。

確認バージョン

  • Windows10 Ver0.9.4
  • MacOS 10.15.7 Ver0.9.4

これはタブ切り替えのたびにインスタンスを再起動してるために起きる初期化が原因です。
タブ切り替え時にカーソルを記憶していた位置に戻す処理を入れることでおおよそ実現できそうです。
対応する方向で進めます。

別機能の仕様との兼ね合いですが、

「検索窓を開いた状態でタブを切り替え、戻したときは再度検索処理を実行する」
「検索をした際、対象のセルを選択状態にし、そのセルまでスクロールする」

という動作になっており、このチケットの課題と衝突します。

そのため、スクロール位置ではなく「最後に選択していたセル」を記憶し、
タブ切り替え時には「最後に選択していたセル」までスクロールをさせる形で実装しようかと思います。

v0.9.5で修正しました。
タブを切り替えてもセルの位置を保持するようになっていると思います。