« 台場 | トップページ | SmartQ5 »

2009年3月18日 (水)

Zaurusでエディタを作ろう~ 番外編

Qcodeeditor_prea

職場が変わって忙しくなりそうなので、放置される前にPreviewα版として公開しちゃいます。
まぁ、電車の中では出来るだろうけど帰ったら寝ちゃう可能性もあるんで…^^;
目標としていた機能が全て実装されてるわけではありませんが、エディタコアの部分はこんな感じかな?って位にまではこぎつけたつもりです。

見た目はほとんど変わってないですね…

#3/12 無効なメニューを使用不可にしてみました。メニューへのコマンド実装も増えてます。

#3/18 嫁さんの誕生日記念w 年齢ばらしたらぶっ飛ばされそうなのでここでは控えておきます。
ファイル履歴へのアクセスとタブリスト、あとUTF8で実行属性付いたファイルをSAVEすると
実行属性が外れるアレを修正してみました。

テストショットって事で個人的にはバイナリ配布にしたかったのですが、Qtアプリは*.desktopファイルやらアイコンやらを用意するのが面倒で、そこまでしてもらうのもアレなんでパッケージにしちゃいました。
って事で簡単にインストール出来ちゃいますけど、まだ未完成のアプリケーションって事を念頭に置いて自己責任での使用をお願いします。
まぁ、QCodeEditor自身の開発で使ってるくらいだから大丈夫だとは思いますが…
とはいえ、使用前の編集対象ファイルのバックアップは必須です。

問題は使ってくれる人がいるかどうかですねw
ま、いいんです。自分は楽しんでやってるんで…。

■特殊な操作
Fn+1/2 フォントサイズ変更
Fn+N/M タブ切り替え
CTRL+3 選択中の文字列を検索
CTRL+4/N 次を検索
CTRL+6 カレント行をブックマーク
CTRL+7/8 前/次のブックマークへ
CTRL+A 全選択
CTRL+F 検索ダイアログで検索
CTRL+G 指定の行番号へ飛ぶ
CTRL+BS 上書きモード切り替え
CTRL+O ファイルを開く
CTRL+S ファイルの上書き保存
CTRL+←/→ 単語単位で移動
Fn+← 空文字の後ろの行頭へ移動

三角ボタンは現状では左から行番号表示切替/ViewMode切替/Tab数切替になってます。
手抜き加減がにじみ出てます。

■設定
設定は全て~/Setting/qcodeeditor*で行います。
最初に起動/した後にファイルが出来るんでそれをいじってみてください。

qcodeeditor.confのキモはここでしょうか。

[Profiles]
Profile00 = Normal Text|*.txt;*.log|qcodeeditor_prof00

ProfilesグループのProfilexxで00~99までエントリを指定し、"|"区切りで設定名、ファイルタイプ、タイプ別設定ファイル名(.confを除く)を指定します。
エントリ自体がなかったりタイプ別設定ファイルがなかった場合はデフォルトのが適用されてあとからエントリやファイルが出来るんで、無造作にエントリを書き連ねても大丈夫だと思います。タイプ別設定ファイル名とエントリ名の番号は違っててもOKです。

qcodeeditor_profxx.confは以下の感じ。

[Syntax00]
CaseSensitive = 1 アルファベットの大文字小文字判別
ColorSetIndex = 14 色インデックス。ユーザ色は14~17
OnlyWord = 1 単語のみ
Syntax = if|then|else 強調文字を指定
SyntaxGroup = qcodeeditor_syntax00.conf
UseRegExp = 0 正規表現メソッド 0:未使用 1:QRegExp
[System]
AutoIndent = 1 オートインデント
BlockCmntWordEnd = */ ブロックコメント文字列
BlockCmntWordStart = /*
CursorUnderLine = 1 カレント行の下線
EofWord = [EOF] EOFに表示する文字列
LineCmntWord0 = // 行コメント文字列
LineCmntWord1 =
TextFont = lcfont,12 テキストフォント、サイズ
LineFont = lcfont,10 行フォント、サイズ
LineNumberDisp = 1 行番号表示
RasterOpSelect = 2 選択文字の描画メソッド -1:未使用 qnamespace.h参照
ScrollBarDisp = 2 スクロールバーの表示方法
TabStopSize = 4,8,2 表示タブサイズ先頭が初期表示でボタンで切り替えられます
TabWord = ^とか指定できます
UseDoubleQuote = 1 クォート文字列の使用
UseSingleQuote = 1
ViewModeXScroll = 0 ViewMode時に横スクロールを許可するか

SyntaxGroupにはUTF8で改行区切りの強調文字リストファイルのファイル名を指定します。

■既知の不具合(仕様含む)

選択して張り付け
 ペーストが1回反応しない時がある
  2回目は多分正常に動いてるように見えると思います
 ペーストのイベントループが終わらない時がある
  上の現象が起こった場合はアプリ終了が正常に行われません
  killallかWhatsUpnZでプロセスを落としてください
 ブックマークがずれる
  選択した分は上にずれますが、ペーストした分は下にシフトしてくれません
  調整中

行の挿入があった時の行番号が最描画されない
 同じ行番号が表示されちゃいます
 Fn+↑↓などで掃除してください

画面が横にスクロールした後に行頭にカーソル移動した時に描画のゴミが残る
 paintEventの中でスクロール位置をシフト補正してるのでその反対側がちゃんと
 再描画されないためにゴミが残るようです
 これもFn+↑↓などで掃除してください

編集フラグ(*)が信用ならない
 Saveの後にUndoとかやると駄目です
 UndoバッファはQMultiLineEditで制御されてるので手を出せません

行番号表示/非表示やViewMode切替がタブ切替に対応して無い
 手抜きです

前を検索が無い
 これも手抜きです

折り返しが無い
 面倒そうなんで手抜きです

■ダウンロード

qcodeeditor_0.0.0-pre_Alpha-1_arm.ipk(115.5kb)

qcodeeditor_0.0.1-pre_Alpha-1_arm.ipk(116.4kb)

qcodeeditor_0.0.2-pre_Alpha-1_arm.ipk(117.8kb)

#使ってくれた方、一言で良いので何かコメントいただけたら嬉しいです。

|

« 台場 | トップページ | SmartQ5 »

コメント

えりおさん

開発お疲れ様です。

自分はコーディングをするわけではないんですが、複数のファイルが開けるエディターがほしかったので、こっそり待ってました。
早速ダウンロードさせていただきました。

まだファイルを複数ひらいてみただけですが、やっぱり複数開けるってのは便利でいいです。

また、タイトル部分に文字コードが出るのはイイですね。
自分はザウルス以外はWindowsなので、かなりゴッチャになっているので。

これからは、ZEditorに代わって活躍しそうです。

投稿: bxk07344 | 2009年3月 9日 (月) 18時15分

はじめまして。ありがとうございます。
待ってて頂いてたみたいで恐縮です。

が、使ってみて気づくと思いますが、このエディタ、こともあろうことか折り返しがありません。ZEditorの代わりなんてとてもじゃないけど無理だと思いますので、思い直すようお願いします^^;

でも、使ってくれてありがとうございます。

ちなみにEditメニュー、Viewメニューの全ての項目、ToolメニューのOutline項目に…アプリケーション終了が登録されてますw
不具合で落ちてるわけではないのでそこは安心して(?)使ってください。

投稿: えりお | 2009年3月 9日 (月) 21時44分

初めてこのブログをお訪ねしました。ZEditorで正規表現を使って色分けを行う機能ってどうやってやるか調べたら、運よくこちらに遭遇しました。

開発お疲れ様です。あっけなく終わってしまったけど、私はこんなエディタが欲しかったので早速使ってみるのを楽しみにしています。後で感想を述べます。

カスタマイズ性のいっぱいあるザウルスはまだまだ有力なプラットフォームと強く信じる私は、えりおさんの努力を心から感謝致します。

投稿: マーチ | 2009年3月28日 (土) 20時49分

はじめまして。コメントありがとうございます。

まだまだ開発中なので不具合は結構あると思いますが、
どうにかして自分好みのEditorに仕上げようと思ってますので
長い目で見ていただけたらと思ってます。

生産中止にはなっていますが、中身はLinuxなんで自分で色々出来るのは強みですね。
gccが2.95ってのがネックと言えばネックですが…

投稿: えりお | 2009年3月29日 (日) 11時30分

いただきます!
まだつかっていないのですが、楽しみです!
ところでもうzaurus使ってる人は僕くらいしかいないんでしょうか...

投稿: よつ | 2013年2月18日 (月) 16時40分

ありがとうございます。
ご期待に沿えるよう動いてくれると良いのですが…^^;

うちではC700は冬眠状態ですが、C1000はmdxplayer兼2chブラウザとして頑張ってくれてますよ。

まぁ、スマフォが性能高いですからねぇ…

投稿: えりお | 2013年2月19日 (火) 03時17分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Zaurusでエディタを作ろう~ 番外編:

« 台場 | トップページ | SmartQ5 »