使ってて不便だった部分をちょこちょこ機能追加した.
まず,「長くなってくるとスクロールがめんどい」問題のため,ListViewとかにもあるFastScrollerを追加してみた.
というか,俺は長い間この機能はTextViewにもあるものだとばかり思っていて,いろいろ調べたり試したりしてもうまくいかず困っていたのだが,実際にはこれはListViewにしかない機能だったんだな.Jota Text Editorにはついていたので,TextViewの機能だと思いこんでいたのだ.Jotaでは,ListView用のものを元にして自前で実装していたことに,ようやく気付いた次第である.
しょうがないので,Jotaの実装を簡略化してKotlinで書いて,やっつけで実装してみた.やっつけのわりにはそれらしく動いている.
それから,「一旦レベルを深くしてから戻すとき,しばらく前のやつと同じレベルに戻したいことがよくあるのに,何回Shift+Tabすればいいのかぱっとわからない」問題に対応するため,レベル数を表す縦線を入れてみた.これはVisual Studio Codeにあった,インデントレベルを表示する拡張機能のパクりである.あんなにカラフルじゃないけど.
あと,やっとフォントサイズ変更ダイアログをつけてみて,ついでに,インデント量や行頭ドットの大きさなんかも合わせて変わるようにしてみた.だいぶ見栄えがよくなってきた.
正直,日本ではアウトライナーというと2ペイン型が人気のようなので,KLOAは俺以外誰も使ってないんじゃないだろうか.TreeNoteのほうが好きな人は,自由に勝手版などを作って楽しむといいと思う.俺のクソコードを読むぐらいならイチから書いたほうがいいかもしれんが.