海月玲二

カテゴリ別リスト:マイカテゴリ-リリース情報(87件):新しい順

検索結果:87件中 1件-25件


前のエントリで書いた設定画面のリファクタリングであるが,本当にリファクタリングだけなのもアレなので,編集画面のショートカットキーを自由に設定できるやつにしてみた.最近のAndroidSKKとかKLOAで使ってる,モディファイヤキーと合わせて設定できるやつなのだが,Fragment版の設定画面に対応したやつがなんとか完成した.ほかのやつもいずれこれに変えよう.あとフォントサイズ設定はSeekBarにした.長大なリストから数字を選ぶよりはずっとマシだろう.

もうひとつの大きな更新点は,検索するときに複数スレッドで動作するようにしたことだ.けっこう速くなったように思う.まあ,タイトル一覧とかリマインダ一覧とかはテキストファイルにキャッシュしてるので,トップ画面とかの出る速さは別に一緒だ.でも,何かキーワードやハッシュタグで検索するときとか,リロードするときとかは違うはず.

じつは,キャッシュファイルを読みこんでデータを得るところも複数スレッド化してはみたのだが,何をどうやっても全然速くならなかったので中止した.よくわからないが,一行あたりの処理が小さすぎて,複数スレッドにするオーバーヘッドのほうが大きいのかもしれない.

やっと全kotlin化とコードのオーバーホールが完了した.ずっとほったらかしで,前々から気にはなっていたのだ.ややこしいAsynkTaskとか謎の機能つきEnumとかも一掃できて,だいぶすっきりした.

それだけではなんなので,KLOAと同じような画像を貼る機能とか,ホームスクリーンウィジェットをリサイズ可能にしたりとか,ちょっとだけ新機能もつけた.ウィジェット関係のAPIはなかなかへっぽこなので,サイズにあわせて表示件数を調整するのにはけっこう苦労した.もしかしたら画面によっては表示が切れるかもしれない.本来,表示しきれない場合は一番下に「...3 more」みたいに出るようにしたつもりである.

でももっとアレなのはLeadingMarginSpan関連ではないかと思う.Markdownのリストを実装するときに謎のずれが発生してわりと悩んだ.あれはどうももともとバグがあるような気がする.あと右側をあけるのには強引なworkaroundしか手がないし.

あとKLOAのときも思ったけど,自分のディレクトリ以外のファイルを扱うのがどんどん不便になっていて困る.実は,Nougat以降の端末だと,gotoリンクでファイルを開けないはずだ.どうやら,自分がストレージのパーミッションを持っていても,他のアプリにファイルを渡すにはセキュリティチェックがあるらしい.FileProviderを用意すれば渡せないこともないようなのだが,正直,そんなに頻繁に使う機能ではないので,そのためにわざわざ大掛かりなことをするかどうか悩む.

まあよそのアプリケーションが信用できないというのはいいとしても,そのための方策が「ファイルを原則的にそれぞれのアプリに帰属させる」というのはないと思う.ふつうにファイルごとのアクセス制御でいいじゃん.何を言ってもスマートフォンというのは結局小さいPCであり,データが特定のアプリケーションでしか処理できないというのは根本的におかしいのだ.

以前つけた,ノートに画像を入れられる簡単な機能で,なんと端末をリブートすると画像が見れなくなることに気付いて,とりあえず修正.

ついでに,Content Provider経由のURIではなく,普通にファイルパスを書いても表示されるようにしてみた.こっちのほうが便利なのだが,そうすると共通UIで画像ファイルを選択することができない.というか,共通UIで画像を選択すると,必ずContent Providerを通したURIが返ってくる,というべきか.まあファイルパスがわかってる場合は手で書けばいいのだ.

そもそもContent Provider経由のデータって,読み出しとかの許可はリブートしたら消えるというのも知らなかった.すなおにストレージにアクセスできないので,「インストールしたアプリは基本的に信用できない」という前提のシステムというのは実にめんどくさいね.わけのわからんアプリなぞ入れるほうが悪い,というわけにはいかんのだろうなあ.

カメラからそのまま転送したようなサイズの大きい画像を見ているとき,なんかページ切り替えに妙な間があるように思えたので修正した.

たいしたことじゃないだろうとタカをくくっていたら,意外と調べるのに手間取った.というか,ViewPagerの作りかたが適当なせいでちゃんと先読みできてないんだろうと思ってたけど,別にそういうことではなかったのだ.どうやら,画像の表示に使っているSubsampling Scale Image Viewというやつの特性に関係があったらしい.でかい画像をタイリングするときにタイルの最大サイズが指定されてない状態だと,実際に画面に表示されるまで画像読み込みタスクが起動しないようである.

あと画像表示中に出てるファイル名がずれてるのも直した.これも間抜けな話で,そもそもViewPagerは普通に作っても隣のページのgetItem()が動くことを知らなかったのである.

前から悩んでいた「候補表示が出るたびにぴょこぴょこ画面が上下する問題」であるが,「候補表示をいちいち消さない」という方向で解決してみた.どうだろうこれ.最下行をIMEがずっと確保しつづけるとかDOS時代かよ,という気もしないでもない.

AndroidのIMEフレームワークでは,CandidatesViewを自由な場所に表示することは不可能のようなので,一般PCのIMEみたいな動作にするには,PopupWindowで自作するぐらいしか方法がないようだ.でも,現在カーソルがある場所を画面上の座標で得る方法が思いつかないので(これも無理かもしれない),これだと結局入力中の場所にかぶってしまう可能性があるんだよなあ.

あと,Honeycomb以下を切り捨てたので,ついでにエラーログだとか個人辞書エクスポートだとか,その程度のことで「ストレージ」権限を要求するのを止めた.4.4以降なら,プライベートディレクトリの読み書きは権限が要らないし.

……ICSとJellyBeanはどうなるんだ,と思った君は正しい.たぶんこの二つの機能は動かないはず(個人辞書のインポートや,外部辞書の読みこみは可能だと思う).もしICSやJellyBeanでSKKを使ってて,個人辞書のエクスポートとかできなくて困る,という人がいたら連絡してください.権限を復活させます(Marshmallow以降なら,オンにしなきゃすむ話だし).

おまけとして,音声入力で候補が複数ある場合はちゃんと選択できるようにした.じっさい使ってみてわかったけど,長文入力のときは音声入力ってすごい便利だな.あとは個人の発音の癖を学習してくれると最高なんだけど,残念ながらAPI的にそんなのがない.というか,学習するには,その場で訂正してフィードバックする仕組みが必要だろうけど,どういうインターフェースだったら使いやすいだろうか.いちいちEditTextのダイアログが出たらやっぱ面倒かなあ.

旅行に行けなくてツマランのでプログラムを書いたりしている.

まあこのアプリは,昔作った簡単ランチャーNoTouchLauncherを現代の環境で作り直したものなのだが,わりと別物のコードになってしまったので,もう別のアプリにした.しいて違うところを言うと,

  • マテリアルデザインっぽい見た目
  • キーボードショートカットを設定できるようになった
  • 長押しが「アプリ詳細画面を開く」固定になった(今は詳細画面からGoogle Playに飛べるので)
  • アプリの追加削除を自動で認識しない(手動でリロードする必要がある)

最後の制限はアレだ,なんか知らんけどOreoから「暗黙的Broadcastに対するReceiverを勝手に作っては駄目」という制限が増えたからどうしようもない.そもそも「重くなるから,よくあるBroadcastに対していちいち処理をするな」という話なので,アプリの追加削除ごとに自動で何かする,ということ自体がご禁制ということなんだろうしなあ.

あと,Kotlinで最近使えるようになったcoroutineというのは便利で驚いた.単に非同期にViewを更新したいとかなら,もう全部これでいいな.むかしAsyncTaskとかいう面倒なやつでboilerplateをいちいち書くはめになったのとは随分変わった.

なんか「下からふたつめのアイテムに向かって下向き移動をすると表示がくずれる」というピンポイントなバグに気付いたので修正.一番下に向かって移動するときだけを判定して別処理をしたかったわけなので,単純な数え間違いだ.

ついでに,権限が許可されてないときは起動時に要求するようにしてみた.いちいち設定を開ける手間が一回減るだけだけど.

というか,requestPermission()がなんか妙に面倒な奴なので,正直放置してもよかったかもしれない.要求ダイアログっぽいやつが表示されても,別スレッドで普通に処理が進み,なんとActivity#onPause()が実行されていて仰天した.どうも件のダイアログっぽいやつは実はActivityらしくて,だから元のActivityは裏に回ろうとしてonPause()に進むらしい.なんというフザけた動きだ.でもそのわりに裏で表示されている元Activityも普通の画面に進んでるっぽいんだけどなあ.

あとは内部的な整理である.ToolBarを自前で用意するのやめたりとか.あとAndroid Studioか何かのバージョンが上がったせいか,EditText#getText()がnullを返す可能性があるとかすげえ大量にエラー出してきて,いちいちチェックするのに手間がかかった.EditText生成中に呼ぶとnullを返すように最近修正されたらしいけど,何をやったらそうなるんだよ.

どうもアレだ,スマートフォンで単純な画像ビューアーというのはあまり需要がないのだろうか.複雑な機能がなくて見るだけのやつ.あまり選択肢がなくて困るのだ.昔使っていたQuickPicはどうも最近は挙動が怪しいらしいし,代替になりそうなのをいろいろ探しても,なんか複雑だったりアップデートが打ち切りになったりで,どうも安心できない.

というわけで,しょうがないから自分用にビューアーアプリを作った.例によって偏った仕様なので,公開してはみたものの誰も使わないかもしれない.

ギャラリーアプリの類って,起動すると端末に含まれる画像をすべてリストアップするよね.俺はそもそもあの動作が気にいらないのだ.なんかwebページを保存したときに入ってた画像とか,何かのスクリーンショットとか,そういうのまでいつも全部出てこなくていいと思う.いちいちフォルダごとにhideしたりするのめんどくさい.そこで,このアプリでは,明示的にディレクトリを開く仕様にした.ディレクトリ名を直接入力することもできるので,SDカードとかでも(途中で入れないディレクトリを通る先でも)ちゃんと見れる.

あとこのアプリの「削除」というのは隠しディレクトリに移動するだけだし,「自動回転」というのは問答無用で画像の長辺を画面の長辺に合わせるだけだ.というか,「横長の画像を縦画面でちいさく表示する」というのは意味があるんだろうか? 見づらいのでどうせ回転させるのではなかろうか?

検索やフィルタリングとかはないので,手動で管理できないほど大量に画像がある場合はあまり役に立たないと思う.なにしろ俺はそうじゃないので,どういう検索機能があったら便利かよくわからんな.

簡単な検索機能と,なんかノートに画像とか出す機能をつけてみた.

画像は,まあその,そんなたいそうなもんではない.別に画像データ自体を保存するわけではなくて端末内の画像のありかを書くだけで,まあリンクみたいなものである.別のところに文書ファイルだけうつしたら当然表示されない.

なお,でかい画像は問答無用で縮小表示されるし,拡大する機能はない.あとノートひとつに画像はひとつだけ.これは仕様だ.アウトライナーとしては,画像がメインになる意味はないと思う.というか,ノート部分に大量の情報を入れるような場合,それはもうアウトライナーの出番じゃない気がする.

ところで,画像を出す機能は,howmmにもあったら便利かもしれない.そのうちつけてみようかな.

使ってて不便だった部分をちょこちょこ機能追加した.

まず,「長くなってくるとスクロールがめんどい」問題のため,ListViewとかにもあるFastScrollerを追加してみた.

というか,俺は長い間この機能はTextViewにもあるものだとばかり思っていて,いろいろ調べたり試したりしてもうまくいかず困っていたのだが,実際にはこれはListViewにしかない機能だったんだな.Jota Text Editorにはついていたので,TextViewの機能だと思いこんでいたのだ.Jotaでは,ListView用のものを元にして自前で実装していたことに,ようやく気付いた次第である.

しょうがないので,Jotaの実装を簡略化してKotlinで書いて,やっつけで実装してみた.やっつけのわりにはそれらしく動いている.

それから,「一旦レベルを深くしてから戻すとき,しばらく前のやつと同じレベルに戻したいことがよくあるのに,何回Shift+Tabすればいいのかぱっとわからない」問題に対応するため,レベル数を表す縦線を入れてみた.これはVisual Studio Codeにあった,インデントレベルを表示する拡張機能のパクりである.あんなにカラフルじゃないけど.

あと,やっとフォントサイズ変更ダイアログをつけてみて,ついでに,インデント量や行頭ドットの大きさなんかも合わせて変わるようにしてみた.だいぶ見栄えがよくなってきた.

正直,日本ではアウトライナーというと2ペイン型が人気のようなので,KLOAは俺以外誰も使ってないんじゃないだろうか.TreeNoteのほうが好きな人は,自由に勝手版などを作って楽しむといいと思う.俺のクソコードを読むぐらいならイチから書いたほうがいいかもしれんが.

▽モード(漢字の読みを入力中)にバックスペースで文字を消していって,最後の一文字を消してしまうと▽モードを抜けてしまうようになっていたのを,▽が残るように修正してみた.「SKK日本語FEPではこうなってるので,AndroidSKKでも合わせたらどうか」という意見をもらったので試してみた次第.よく考えたらuim-skkとかもこういう動作だな.確かにシフトキーを押しなおすのは若干めんどうな気もする(emacsではどうだったかもう覚えてない).

ついでに再変換のときに表示が変だったり,Abbrevモードの再変換したときの動作が変だったり,フリック感度の調整が若干変だったりしたのをちょこちょこ直した.まあどうせ再変換とかAbbrevモードとか誰も使ってないかな.

さらに言えば,AndroidのKotlin style guideとか出てきたので,それに合わせて改行とか直してみたけど,これは本当にどうでもいい.

今回は少々操作感が変わるところがあるので,アップグレードしてみる人は注意してほしい.ダウンロードページに3.2も置いておいたので,どうもやっぱり嫌だというひとは,元に戻すことも可能.

  • フリック判定の再調整

フリック・カーブフリック操作の判定を見直してみた.フリック感度の設定もリセットされるはず.俺個人は,3.3は以前より誤認識が減ったような気がしてるけど,俺の気のせいかもしれない.ご意見募集中.

  • 音声入力キーボードの追加

日本語モードから,「カナ」の下フリックで音声入力モードに入れる.音声入力しながら句読点やカッコも入れられるので,いちおう長文も入力できると思う.

ただし,下フリックをつけなければいけなかったので,一番下のキーではどうにも入力が難しく,やむなく「ABC」キーと位置を入れかえた.これもちょっと慣れるまで気になると思う.しばらく使ってたら,qwertyモードと同じ位置になったわけなので,むしろいいような気もしてきたけど.

こないだの旅行中,スマートフォンに向かって音声でメモか何かを取ってるやつをけっこう見かけて,なんかうらやましくなったので付けてみた機能である.じっさい付けてみると,GoogleのSpeechRecognizerが,日本語の文でもかなり実用できそうな精度で認識するのでびっくりした.オフラインですらほぼ問題ない.こんな小さなコンピューターでここまでのことが可能とは,すごい時代になったものだ.

最初は,一般的なGoogle音声入力のダイアログを出すだけにしようと思ったのだが,あれだと句読点が入れられないのな.俺が音声入力するとすれば,それは旅行中の日記を書くときなので,句読点が入れられないのは不便なのだ.しかたがないので自前で音声モードをつけることにした.まあ外国なら,日本語で音声入力しても内容を聞かれるおそれもないしな!

KLOAは所詮俺の俺による俺用のアプリなので,実は今まで行頭ドットのサイズはピクセルサイズ決め打ちだった(つまりZC553KLの画面が前提).なんとなく別解像度のエミュレータで見てみて,さすがにちょっとどうかという気がしてきたので,とりあえず行の高さを基準にするように直してみた.

あと横画面のときにノート表示しているとちゃんと右半分に出るようにした.これでいちおう,ZC553KLと違う画面でもそれなりに使える感じになっただろうか.

ところで,こいつのテキスト編集は要するにAndroidのEditTextそのままだし,しかもその上で入力を監視していちいちレイアウトを調整したりしているので,テキストサイズがでかくなってくると無理が出る.試しに,1万行ぐらいのファイルを作って読みこませてみたら,何か操作するたびに数秒待たされるようになって,とても使えたものではなかった.何かガチな用途で使おうと思った人は思いなおすといいと思う.

ホイストを実装すると多少マシになるかもしれんが,どうだろ.

まあその,要するにKotlinに書きかえてみただけなのだが,それだけではなんなので,いくつか修正したりちょっとした機能を加えたりしてみた.

今回追加した変換候補絞りこみ機能は,わりと適当に作ったので,なんか変な挙動とかあるかもしんない.あと本家SKKの機能と比べると,「スペースキーを押した後で」発動させるものだという点が違う.というかSKK日本語入力FEPのパクりだ.SKK日本語入力FEPの中の人も言っているが,この機能はスペースキーを押して「うわぁ同音の候補いっぱいじゃんめんどくせえ」ってなった後で発動できなければほぼ意味がないと思うので,こっちの仕様にした.最初から「樹木のジュ」とかわかってれば,樹木と入力して消したらいいんだよ.

あとAbbrevモードでスペースを押さずにenterを押すと,そのままアルファベットを確定する仕様にしたのも,SKK日本語入力FEPのページで読んだ意見にもとづく変更だ.確かに,一時的に英単語とかを入力するとき,このほうがCtrlとか押す手間がはぶけるな.

ところで,今までの版だとMarshmallowの端末でステータスバーのアイコン(ハードキーモードで出る,モードを示すやつ)がまっしろになるんだけど,俺の端末が変とかじゃないよね? 単なるビットマップのはずなのになんで一部だけ色とか変わるんだろう.しょうがないので,単色のVector Drawableのアイコンを用意してみたら,こんどはKitKat以下でちゃんと表示されなくてバージョンで分岐するはめになった.このアプリに限らずだんだんめんどくさくなってきたので,Lollipop以降だけ対象にしようかなあと思わなくもない.

また少しバグ修正.ハードウェアキーボードの接続が切れたときとか,最初や最後のアイテムを動かそうとしたときとかに落ちるのを回避した.あとテキスト折り返し位置がおかしくなるのをさらに何パターンか修正.初期バージョンに比べればまあまあ実際に使えないこともない気がしてきたが,まだバグとか変な挙動とかあると思うので,誰か気付いたら教えてください.

ていうかDynamicLayout#reflow()が思ったときに呼ばれないのはなんでなんだろうな……Spanが変わったら呼ばれるようにしといてもおかしくないと思うんだけど.

やっと「ノートを常時表示する」という機能を付けた.まだ横画面のときでも下に出てしまうけど.

なんかアレだ,TreeNoteのときはSplitPaneLayoutとか用意していろいろやってたけど,今回は単にViewのサイズをその場で変更するだけの単純な形式にしている.別にこれで問題ないんじゃなかろうか.

あと子項目の展開・格納,最下部のマージンを空ける機能をつけた.前者は技術的にちょっと面白い.「完全に何も表示されなくなるSpan」というものが必要な場合,draw()を空にしてgetSize()でゼロを返すだけではなくchooseHeight()でもゼロを設定するようにしないと,空の行が表示されちゃうのな.

IME用に最下部にマージンを空ける機能は,ほかのアプリで見たことがないのだけど,実際にハードウェアキーボードでSKKと使ってるとすんごい便利である.入力中の文字がぴょこぴょこ上下しないので大変快適だ.というか,もしかすると普通のIMEは,ハードウェアキーボードを繋いでてもいちいち表示が出たり消えたりしないんだろうか? むしろSKKのほうで,候補表示のサイズのViewを表示し続けるようにしたほうがいいのかな?

内部的にもいろいろ整理して,だいぶんKotlinらしいプログラムになってきたかな.例によって一人で遊んでるだけだからよくわからないけど.

もうちょっと更新.

カットペーストや上下移動のときとかにレベルや親子関係がおかしくなるのとか,アンドゥでノートが復活しないのとか,いくつかバグを直してみた.なんとか普通に使えるようになってきたかな?

さっそくいくつかバグがあったので修正した.ノートのないところでアンドゥすると落ちたりする致命的なやつとか,ファイルを保存してもアンドゥボタンが押せちゃったりするやつとか.あと「改行コードの設定」が全然そうなってなかった.コピーして直すつもりで忘れてた間抜けなバグである.

TreeNoteで文章とか書くとき,トピック新規作成のテキストボックスが分かれていたり,既存のトピックを修正するのにいちいち長押ししたりするのは面倒だと,かなり前から思ってはいた.「EditTextにTextWatcherをつけて,改行されるごとに自動的にBulletSpan的なものを貼りなおしてやれば,箇条書きモードみたいにできるのではないか?」というのも,だいぶ前から思ってはいたのだ.

というわけで,yet anotherなアウトライナーである.「ListView系のものを使っていない」というのがほぼ唯一の特徴だ.なんかPowerPointで箇条書きを書くみたいなかんじで使える.例によってキーボードショートカット機能も完備しているので,物理キーボードがあればTabとかShift+Tabで階層の上げ下げができたりして,ますますPowerPointみたい.

今回,キーボードショートカットの仕組みをだいぶ改善したので,なんとモディファイヤキーも自由に設定できる.PromoteをShift+TabにしてMove UpをCtrl+Alt+kにするとか普通に可能だ.けっこう気にいったので,AndroidSKKとかHowmmにも入れようかな.

現バージョンだと,各トピックに対するノート(TreeNoteで言うところの「本文」のぶぶん)は,なんとノート編集画面に行かないとそもそも表示されない.たぶん2ペイン派には使いにくいかも.ちょっとあんまりなのでそのうちなんとかしたいけど,どういう形が便利だろうか.正直俺自身は1ペイン派なので,もひとつぴんと来ない.

あと,少なくとも検索機能とホイスト(ズーム)機能はそのうち付ける予定.

初回なのでURLも貼っておくとここである.使ってみるという人は,設定から手動で権限を許可しないとファイルのセーブ・ロードができないかもしれないこと(ページ冒頭の注意のとおり)と,なにぶん初期バージョンなので不安定なことにご注意を.現在のところ,トピックを上下に動かした時に表示レイアウトが崩れることがある,というバグが判明している.何か一文字打ったら直るのだが,どうも見苦しい.うーん.

どうでもいいが,相変らずアプリ名やアイコンをデザインするセンスがない.何かマシな案はないだろうか.

いろいろ要望とかもあったので,たまには更新してみた.

  • ソフトキーボードの数字モードを若干変更
  • ソフトキーボードの日本語モードで,括弧とかのキーを追加(シフト中)

記号をもうちょっと使いそうなやつに変えたりとか,そういう調整.かぎ括弧は本来最下段の下フリックにあったのだが,若干入れにくいので,シフトキー→記号キーフリックで入力するようにした.

  • 単語登録中にクリップボードから貼り付けできるようにした
  • 再帰的に単語登録できるように(単語登録中に別の単語登録が可能に)した

単語登録のちょっとした機能改善.

  • Gingerbreadの端末で,設定画面が開けないバグに対処

na2co3氏の指摘で初めて気付いた.場当たり的に対処しただけなので,とりあえず落ちはしないはずだけど,画面は乱れたり真っ黒になったりするかも.動かしたら表示されると思うんだけど.

なお,na2co3氏におかれましては,再帰的単語登録についても氏のコードを参考に(というか丸写しに近い)させていただきました.感謝いたします.

しかしもうGingerbreadの対応も正直めんどうになってきたな.4以降だけ対応にしちゃってもいいかもしんない.

あといつも思うけど,「より一般的な機能が導入されたときに,それまでのやつをdeprecatedにする」ってのやめてほしいなあ.たとえば,テキストしか使わないのに,わざわざ複数の形式をサポートしたクリップボードapiを使って処理するのめんどくさい.初期からあるテキスト専用のやつは簡単でいいのに.Preference画面についても,いちいちFragment強要するのやめてほしい.たまにしか触らないんだし,画面がでかい端末でも,単なるリストで別に問題ないと思う.

メジャーバージョンが上がっているのは,内部的に大幅に書き変わっているためと,Android 2.2以下を切り捨てたからである.ついにIS01では全く使えなくなった.いやIS01なら1.6を使ったほうがいいと思うけど.

今回は,恐怖の巨大クラスSKKEngine.javaがついに整理されたという面が大きい.SKK関係とAndroid関係がだいたい分割されたので,jp.deadend.noname.skk.engineパッケージはjavaで書いたSKKライブラリと言えなくもないかもしれない.言いすぎか.

使う人にとっては,

  • Abbrevモード用ソフトキーボード追加(フリックモードで,シフトを押してからabbrキー)
  • 数字入力用ソフトキーボード追加(フリックモードで,カナキーを上フリック)
  • 複数辞書(設定画面の「辞書管理」で新しい辞書を読みこむ.UTF8に変換しておくこと)
  • ハードウェアキーボードでも,読み入力中の補完候補一覧をtabキーとピリオドキーで選択できる

あたりの機能は,それなりに使う人もいるかも.あとはそうだな,登録中にASCII文字も打てるようにしたり,変換候補にセミコロンやスラッシュが入ってても大丈夫にしたので,顔文字とか登録できるようになった.

大規模に変更したので,もしかしたら変な強制終了とか起きるかもしれない.その場合は/sdcard以下にstraceファイルができると思うので,内容を教えてもらえると助かります.あと,ユーザー辞書が重要な人は,バージョンアップする前に一回バックアップしておいたほうが安全かも.

あと今回は内部を大幅に変更したので,万一,ソースのどのへんをどう変えたのか知りたいという人がいたら,連絡してもらえればgitのbundleファイルを送ります.

前から気になっていた,ハードウェアキーボードを使ってるときに選択ノードがずれる問題を修正した.

今までのバージョンだと,ノードを複数作ってから,

フォーカスをツリーにうつして適当に真ん中へんのノードを選択→フォーカスを新規作成欄にうつして,さらにいくつかノードを追加→フォーカスを再びツリーに戻し,Enter長押しでノード内容を修正

とすると(すべてキーボードショートカットで操作),ずれた位置のノードが開くはずである.つまり,TreeNote的には選択位置を自前で管理しているのだが,ツリー表示は結局ListViewであり,カーソルキー等で選択した位置をこっちでも覚えているわけだな.実にめんどくせえ.

前回変換やりなおし機能を導入したわけだが,あれを使うときはつまり,前回確定した変換自体が意図したものではなかったはずなので,個人辞書に学習したのを取り消すようにしてみた.これで,SKKによくある「タイプミスの結果が個人辞書にたまる問題」がちょっと解消できるかもしんない.

ちょっとだけ新機能.キャンセルキーを設定してある場合,変換確定直後にキャンセルキーを押すと変換をやり直せるようにした.というか,その後一度も変換してなければ直後じゃなくてもできるけど,あんまりそんな必要ないか.

なんかもうアレだ,ソフトウェアキーボードもキャンセルありのほうをデフォルトにしようかという気がしないでもない.正直,カーブフリックがあれば濁点キーとか使わなくない?