海月玲二

2chの人達にもらった意見を参考に,TreeNoteを直してみた. 以前から,アプリの利用中に縦横変更するのって意味ねえだろと思ってたけど,アウトラインプロセッサーだと確かにちょっと意味があるような気がしなくもない.つまり,編集に便利な方向と閲覧に便利な方向が異なる場合があるんだろう.

しかたがないので,androidではどうやって回転に対応するのか真面目に調べた.なんかonSavedなんとかいうやつで一時的にBundleに状態を保存する機能を使えばいいのかと思っていたのだが,どうも回転に対応する場合はActivity#onRetainNonConfigurationInstance()というのを使ったらいいらしい.これはどうやら「何かconfigurationが変わり,activityが破棄されてすぐ作りなおす」という状況専用で,でもどんなobjectでも扱えるのでParcelableとか考えなくても超簡単に使える.わかってしまえばたいして面倒でもなかった.

あとだんだんPreferencesが増えてきて地味にめんどい.正直,androidのPreferenceは数が増えると管理が大変である.設定値をsummaryに表示させるとかも個別にやんないといけないし,なによりpreference keyの管理を簡単確実にする方法がなさそうだ.なんかそれ用のクラス作ってほしいなあ.xmlの記述に対応するとかはこっちではどうしようもないし.xmlでの記述を気にしないで全部コードで作るんなら,もうEnumとか使ってもいいんだけど.

【このトピックへのコメント】
  • 綺羅某所でレスをつけていたL-04Cの者です。ほしくてプログラムなんて触ったこともないのに自分で作ろうかと思っていたものが出てきてうれしい限りです。
    あちらでレスしたものの他に検索や置換(ノード内、全文)など、ほしい機能はいろいろあったりしますが、難しいと思うのでゆっくりつくっていっていただければと思います。
    (2012-11-24 02:55:06)

TreeNoteをまた更新.今回は,

・ショートカットキーの改善(menuキー+?でも大丈夫,IMEより先に発動させてみた,設定できる機能を増やした,など)
・ファイル選択画面のタッチ操作の改善
・本文を全画面で表示できる機能

の三本でーす.しかし,このアプリは多少はアウトラインプロセッサーとして使いものになると言えるんだろうか.こんなの使うような知り合いはいないからよくわからない.

キー選択Preferenceはずいぶん仕様が迷走してるが,なんとか安定してきたかな.「『設定なし』にできなかった」という事実に最近やっと気付いたというていたらくだが.

そういえば,あまりいないと思うけど,俺のアプリとかそういうのの更新情報を見に来たという人は,上のほうにある「リリース情報」というリンクを押すと,これ関連のエントリだけ出せるのでいいと思うよ.このブログはそれ以外にも旅行記とかどうでもいい愚痴とか関係ないことも書いてあるので.たしか「特定カテゴリだけの更新情報をrssで取得」というのまでは残念ながらできなかったと思うけど.

【このトピックへのコメント】
  • 綺羅早速インストールして試してみました。L-04Cの人です。
    ほぼ満足と言える出来ではないでしょうか。
    Menuでショートカットが扱え、さらにMenu表示も問題なく使えるようになっていますし、画面のサイズからツリー+本文の表示では編集が難しかったのが、本文のみ表示が可能な上、ショートカットも設定されているのはかなり良い感じです。
    気づいた点がありましたのでご確認を。
    ファイルを開くの画面で、キーボードのカーソルキーでファイルを選択、一回Enterを押すと下のボックスにファイル名が表示されますが、開くためには画面のOKボタンをタッチしなければならないようです。機種に依存する問題かも知れませんが、Enter→Enterでファイルを開くことはできるでしょうか?
    (2012-11-27 00:42:07)
  • 海月玲二あー,ファイル選択画面で,わざわざOKボタンにフォーカスを持ってかなきゃいけないのは確かに面倒ですね.これは直します.(2012-11-27 20:11:00)

TreeNoteをちょっと修正.

前の版だとちょっとショートカットキーの扱いの扱いに問題があるようだ.具体的には,修飾キーに設定したものがショートカット以外の用途に全く使えなくなってしまう.たとえば,IS01だとAlt+Pで@が入力できる.ここで,修飾キーをAltにしておいて,Pに何かのショートカットを設定した場合は,@が入力できなくなるのは当然である.しかし,Altを修飾キーにした時点で,Pを空けておいても問答無用で@が入力できなくなってしまうのだ.

これは不便に思ったので,内部的なショートカットの扱いを変えてみた.これで,上記のような問題は解決するはず.ただ,この方式で,修飾キーに何でも設定できるようにするのは難しそうだったので,選択肢から選ぶ方式にした.もし,XXX端末のYYYキーも修飾キーにできないか,とかいうのがあったら,個別に教えてもらえれば対応できるかも.あと,バージョンアップすると修飾キーの設定がリセットされ,もう一度設定が必要なので注意.

あとついでに,ファイル選択画面でEnterを押したら,OKボタンとかにフォーカスが移動するようにもした.地味に便利.

【このトピックへのコメント】
  • 綺羅更新お疲れさまです。L-04Cの人です。
    Enter→EnterでOKにフォーカスが移動するのは便利ですね。
    もし機能的追加が可能であれば、本文入力モードを抜けるためには画面のOKボタンを押さなければならないようなので、本文入力モード終了してツリーモードに戻るショートカットの新設、もしくはフォーカス移動のショートカットでツリーモードに戻れるようになるといいかもしれません。
    その機能があればだいたいの端末では、アプリ起動以降は画面に触れずに入力に関わる操作のすべてができるようになりそうです。
    (2012-11-29 02:46:33)
  • 海月玲二どこにも書いてませんが,実は「保存」のショートカットで本文編集を終了できます.カーソルキーでフォーカス変えてもいいですけど.(2012-11-29 07:19:36)
  • やまTreeNoteをIS11Tで使わせてもらっています。
    装飾キーにAltキーを使うのはできていませんが、Menuキーを使うことができるようになったので、ショートカットキーを使えるようになりました(^^)。ありがとうございます。
    また、本文の全画面編集も期待していたので、これもうれしいことです。
    今後とも、よろしくお願いします。
    (2012-12-01 18:29:15)
  • 綺羅海月玲二氏
    保存操作で本文入力モードの件、確認しました。
    これで起動させれば画面にタッチせずにほぼすべての操作が可能なので、予備として置いておいたSLザウルスを完全引退できます。
    画面サイズによりツリー+本文が使いにくいのですが、それはL-04Cの画面サイズと解像度の問題なのでどうにもなりません。IS01orSH-10Bが気になってしまう今日この頃。
    個人的にはキーボード端末向けツリー型メモとしては必要最低限の機能は備えているものと思います。ひとつ贅沢を言うならば、ノードの追加と削除のショートカットがあると、ツリーの途中にノードの追加がしやすく、ノードの削除の際に画面を触れずに済むくらいでしょうか。
    それ以上の機能となるとエディタ部分の強化が関わってくると思われるので、必要だと思う機能を追加していけばいいかと。
    (2012-12-02 15:16:55)
  • 海月玲二やま様:
    IS11Tの場合,なんかALTキーの扱いが特殊らしいので,MENUで対応してください.もしかするとSYMにしたら「文字/記号」キーでいけたりしませんか?
    綺羅様:
    削除は「カット」のショートカットではどうでしょうか.というかそもそもカット以外には削除機能自体ないですが.追加する場合,現在の選択位置に追加するはずなので,フォーカスを移動するときにカーソルキーではなく「フォーカス移動」ショートカットを使うほうが便利だと思います.
    (2012-12-04 20:30:22)
  • 綺羅海月玲二氏
    削除をカットでの代用、新規ノードを途中に追加するのにフォーカス移動で行う方法については、それで問題なさそうです。ありがとうございます。
    先日の本文編集モード終了については、上書き保存以外のショートカットがあった方がいいかも、といまは考えていたりします。パソコンでも編集している文書の場合、TreeNoteで閲覧していて、間違って文字を入力してしまったときなど、保存をせずにツリーモードに戻るためには画面をタッチするか、一度TreeNoteを終了するしかないかな、と。状況が特殊なのでほとんどの場合大丈夫だとは思いますが。
    あまりショートカットを増やしても操作が面倒になりそうなので、難しいところかもしれません。
    (2012-12-06 01:08:14)
  • 海月玲二本文編集モードですが,バック(戻る)キーで保存せずに戻れませんか? 確認ダイアログは出ますけどあれもカーソルキーとかで操作できると思います.(2012-12-06 19:46:19)
2012-11-29(木)

無題

TreeNoteを作ってて疑問だったのは,「何故Activity#dispatchKeyEventPreIme()が存在しないのか」という点である.dispatchKeyEvent()は存在するのに,これがViewクラスにしか存在していないせいで,ショートカットキーをIMEより前に発動させるためにはLinearLayoutとかのサブクラスを作って処理するしかない.まあ今回は,ショートカット関係を分離できたから結果的にはよかったような気もするけど,もっと単純にバックキーで一気に終了したいだけとかの場合にわざわざサブクラス作るのって面倒だよな.

あと,ちょっと調べてみただけでもandroid端末のハードウェアキーが実にバラバラでびっくりした.モディファイヤキーがあったりなかったりするのは序の口で,勝手なキーコードを割りつけてるパターンも少なくない模様.こりゃショートカットキーは設定できるようにしないとあんまり意味ないな.howmmのエディタとかもそのうち直すか.