April 24, 2006

Super Drag And Go 改造版 0.2.4x25

ブックマークサイドバーやSageサイドバーなど、コンテンツエリア(Webページの表示エリア)以外の Firefox 上の領域からドラッグ&ドロップした場合はフォーカスされた新しいタブで開くように変更しました。

先日ふと今日は・・・・・・ Drag And Drop Upload という拡張Drag And Drop Upload fieldという拡張が紹介されておりました。
何をしてくれる拡張かというと、Webページのアップロード用のファイルパス入力フィールドにエクスプローラなどからドラッグ&ドロップでファイルパスを入力してくれる拡張です。
サイドバーの表示が日本語では文字化けしているようですが(パスは日本語を含むパスも通ります。)、私のようにWeb上でブログを書いているとファイルをアップロードする際、この機能はとっても便利w
ということでこの機能いただき!!

Windouws Xp sp2 の環境では私がテストした限り日本語パスも表示可能でしたが、Windows 以外の環境の場合、文字化けするかもしれません。
(Windows以外の環境をお持ちの方は、動作報告をお願いします。不具合がある場合はSDaGを使って表示されたファイルパスとWebページ上で参照から表示されたファイルパスを報告していただけないでしょうか?よろしくお願いします。)

install.pngSuperDragAndGo-0.2.4x25_jp.xpi

上記以外の概要は Super Drag And Go 改造版についてをご覧ください。
また修正しなくてはいけなくなりそうですが、よろしくお願いします。

新機能の実装の詳細

Drag And Drop Upload fieldのソースをちゃんと読んでないのですが、この新機能の実装方法はたぶん異なると思います。(SDaGがもともとドラッグ&ドロップの機能を制御しているとはいえ新機能のためのコードは5〜6行程度なんで・・・。)
他の環境の方に不具合があるかもしれないので、私が行った実装方法についてちょっと書いておきます。

ドロップしたデータ中でファイルのパスは”file:///aaaa/aaaa.png”のようなURLの形式で Windows では”Shift-JIS”でエンコードされた状態で保持されています。
(Windowsでは同様な形式で保持されたファイル構造を Firefox から参照できるみたいです。しかしDrag And Drop Upload fieldでは、このファイル構造を unicode に文字コードを変換しないといけないところを、そのままサイドバーのツリーにぶち込んでいるため文字化けしているのではないかと思います。対応するには RDF ファイルは Firefox 起動時に読み込まれるだけなので、このファイル構造の文字コードを変換し、再度読み込ませなければ反映されないんじゃないかな?しかもファイル構造の変化などがあれば反映するにはそのつど変換→再読み込みということをさせないといけなさそう・・・。とりあえずめんどくさそうです。)
なのでこのURLから nsIFileProtocolHandler を使用しファイル自身を取得そこからパスを取得しました。

そしてFirefox以外のアプリケーションからドロップした場合で、かつそのドロップした先がファイルパスのインプットフィールドの場合のみ、上記の方法でパスを取得しそのインプットフィールドの値に取得したパスを入力しています。

Firefox3.0a1ではファイルパスの入力フィールドをクリックするとファイルを参照するダイアログが呼び出されるようになっています。そのためかどうか知りませんが、この機能は動きません。エラーはでてないようなのですが・・・。なんにせよFirefox3.0を常用する気にはまだなれないので、しばらく対応は考えません。(この機能以外は今のところ正常に機能しているみたいです。)

他の環境でのテストができないため、みなさまのご協力よろしくお願いします。

Get Firefox!
この記事へのコメント
素早い対応、本当にありがとうございます。
早速使わせていただきます。お疲れ様でした。
Posted by dati at 2006-04-23 09:00
I have a Bug Report on v0.2.4x23,
Steps:
1. First, drag a bookmark (SiteA) from Personal Bookmarks and drop it on Page's Context Area.
This will open SiteA (of course! = =;)
2. Again, but this time drag another bookmark (SiteB) from Personal Bookmarks into Page's Context Area. (this should open SiteB...but)
3. You will see: second time, it will still open SiteA, not SiteB. (A"A;)

Thanks the great extension!
Posted by yuoo2k at 2006-04-23 09:41
Ooh, that's not good.

I've never Open Bookmarks with Drag and Drop, so I had not care about this problem.

Thanx yuoo2k.
I`ll fix it immediately.
Posted by yukichi at 2006-04-23 10:40
I have a problem from v0.2.4x18
When I drag a link as "save link as...", the indicator displays "save extension as...". Is it a but?
Thank you for your excellent work!
Posted by oneuser at 2006-04-23 12:47
Thanks for your great extension, yukichi.

I have a suggestion.
In my opinion, people opens a bookmark by dragging a bookmark because he/she wants to open several bookmarks with less effort.
With the original Super DragAndGo, when dragging a bookmark to the page area, the site indicated by the bookmark would be opened in a new tab.
Even with the previous releases of Super DragandGo Mod in which the problem indicated by yuoo2k exists, the bookmark dragged would be opened in a new tab.

I hope that Super DragandGo mod would work in this way. Thank you.
Posted by tkh7819 at 2006-04-23 23:46
Hi,tkh7819.

I always use TMP, so I didn`t understand why peopele open bookmarks with drag and drop.

OK,I will change Super DragandGo mod work in the way you suggested.
But this change might cause another problem.
Posted by yukichi at 2006-04-24 12:39
Thank you so much.

I use TMP too.

Would you mind telling us what the possible problem is?

May you make the tab opened by dragging a bookmark open in background (or make an option for this)? It's the way Super DragandGo works in.
Posted by tkh7819 at 2006-04-24 22:09
THis extension observes drag and drop only in content area (Web page area).
And while dragging over the content area, this extension judge where from the dragged object start dragging as from other application, from the content area, or from out of the content area (e.g. Bookmarks sidebar, Status bar , Navigation toolbar).

I mean, when you drag a bookmark and move mouse to the content area, this extension identify where from the bookmark not as bookmarks sidebar but as out of content area.

So, if you drag and dorp something call dialog or window when it is loaded (from out of the content area to the content area), it might open blank new tab.
But I`m not aware of such an object at this time.

And I`m thinking of making an option for where to open a file or a bookmark.
I will add this option at next release.

Thanx
Posted by yukichi at 2006-04-24 23:45
thank you!
Posted by chenbp at 2008-05-10 16:02
コメントを書く
※Name:

Email Address:

URL:

※Comments:

この記事へのトラックバック