Qtopia上でのファイルの関連づけ(暫定版)


・拡張子とファイル種別

 基本的に、SL-C7x0に於けるファイル連動は、拡張子に対して mimetype を関連づけ、さらに mimetype に対応して、アプリケーションが動作する仕組みになっている。

 ファイル名(拡張子)に対する mimetype の設定は、/home/QtPalmtop/etc/mime.types で、設定されている。

 さらに mimetype に対するアプリケーションの設定は、/home/QtPalmtop/.mimetypes.cache で、設定される。

 なお、関連づけされるアプリケーションであるが、基本的に SL-C7x0 のGUIは Qtopia上のものであるため、関連づけされるアプリケーションの実体は、*.desktop ファイルとなる。

*.desktop は 実行バイナリ本体を Qtopia-GUI に関連づけるためのファイルで、一種のショートカットファイル群のようだ。
 SL-C7x0においては、通常 /home/Qtopia/apps/ 以下に収められている。

 なお、上記のフォルダは、実質的な Qtopia ホーム画面そのものであり、ホーム画面のタブは、 /home/Qtopia/apps/ 以下のそれぞれのフォルダに対応している。
 各フォルダ内の ".directory" には、各国語に対応したタブ名が、 ".order" には、タブ内のアプリケーションの並び順が登録されている。

 また、 /home/Qtopia/apps/ 内の、先頭が "__" で始まるファイルは、スタートメニューに対応する *.desktop ファイル群である。
 書式に従って、desktopファイルを用意してやることで、スタートメニューに項目を追加することが可能となる。

@サンプル

 とりあえず、実験として SD/CFカード の取り外しを項目に追加してみた。



 内容としては、単純に /home/QtPalmtop/bin/ にシェルスクリプトを作成し、それを呼び出しているだけである。
 間に、 /bin/sh を通すためか、通常のタスクバーをタップして取り外すのに比べると、若干砂時計の表示時間=待ち時間が長くなっている。
 恐らく、タスクバーのSD/CFアイコンは、直接 qcop でシグナルを発生させているものと思われるが、いまのところ、筆者は QT 及び、 C++ はさっぱりなので、こういう形とあいなった(苦笑)。

 一応、ipk化して置いておく。

sdcfumnt_1.0.ipk

 が、現状のパッケージはインストールしただけでは、正常に動作しない(^^;)。
 SDカードをアンマウントするスクリプトは、実行する際にルート権限が必要となる。
 ルート権限で、アプリケーションを実行させる設定は、 /home/QtPalmtop/etc/privilegge.conf で、設定されているのだが、どうもこの記述法がよくわからない(^^;)。
 とりあえず、パッケージ内の sdum をルート権限で動作させるだけならば、上記ファイル中に「123b15231a332328」と一行加えれば、それで動いている(爆)。
 一応、複数台の SL-C7x0 で、ipkgインストール後、一行追加で、動作確認は行ったんで、それで勘弁して下さい(汗)。ここらへんは、もう少し検証後、 sed あたり使って、ちゃんとしたインストールスクリプト組む予定。

 なお、確実を期すならば、インストール後、設定タブ中のホーム画面設定で、 sdum を登録。アイコン長押しで、ルート権限の動作にチェックすれば OK。
 なお、動作の設定は、ホーム画面から該当アイコンを削除してもそのまま引き継がれるので、動作設定後は、アイコンを削除しても構わない。


おまけ

NetFront での外部ヘルパ追加方法(SL-C760以降)

 SL-C760以降の Netfrontは、メニューバー中のツール->ブラウザ設定のヘルパタブで設定することで、外部アプリケーションとの連動が可能になる。
 といっても、ストリームを直接渡す訳ではなく、あくまでも本体へダウンロード後、対応するアプリケーションを立ち上げると言った型になる。

 アプリケーションの指定は、 Qtopia で設定されている mimetype をそのまま引き継ぐ型となる。
 言い換えれば、ダイアログ中に存在しない拡張子への関連づけを行う場合は、 /home/QtPalmtop/etc/mime.types で、 mimetype を設定し、 /home/QtPalmtop/.mimetypes.cache で、 *.desktop を指定すれば良い。

 なお、ファイルの URL を指定後、表示されるデフォルトのダウンロードフォルダは、 /home/QtPalmtop/etc/slmime.types で、設定されている。
 引数で渡されるファイル名であるが、 Qtopia 上の引数渡しであるため、 -qcop /tmp/qcop-msg-ty -display と言う型で、引数が渡される。

 コマンドラインアプリケーションへ、関連づけを行うには、もう一工夫が必要なようだ。
 ・・・て、言うかぶっちゃけ mplayer に関連づけしたいんだが・・・。今回のコンテンツは、それをしたくて四苦八苦してる中で、解った副産物をまとめただけだったりします。そゆ意味では、ホントならまだ作業記録行きの内容かもしんない(苦笑)。

このページの文責: TAKETYON

Return to home