2015年05月25日

作業日誌

 Windows用GTK+のウィジェット間ドラッグ&ドロップ機能の正しい使い方がいまいち把握できない。一番簡単に使おうと思ったら、とりあえずdrag-data-getシグナルとdrag-data-receivedシグナルのハンドラを書いとけばいいのかな。

 actionにCOPYとMOVEを指定しとくと、IconViewからのShiftキーを押しながらのドラッグで移動モードが動作するみたいだけど、そこはCtrlキーじゃないのか?

(追記)

 「Shiftキーで移動」は、例えばWindowsのエクスプローラでも同じだったので、上記の訂正部分は気にする必要はなかった。

 違和感は別のところに原因があった。

 Windowsのエクスプローラでは、アイコン選択のための最後のクリックで一度マウスボタンを放して、ドラッグのためのクリックは別にやり直すことができるが、GTK+の現在のWindows向けバイナリ版(3.6.4)のIconViewでは、アイコン選択時の最後のクリックで押したマウスボタンを放さずにそのままドラッグ操作を始めなければならない。そうしないと、アイコンの選択状態が変わってしまう。

 この仕様があるために、アイコンを複数選択するためのShift/Ctrlキー操作がドラッグ&ドロップのモード(移動orコピー)にも影響してしまう。つまり、一度のShift/Ctrlキー操作の中で、押す時と放す時で別のことを考えなければならない。これはかなり面倒だ。

 最新のソースコードで、このあたりどうなっているのか、自分では今のところちょっと確認できない。
posted by chrono at 07:37| Comment(0) | TrackBack(0) | 日記、雑文
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/133839057
※ブログオーナーが承認したトラックバックのみ表示されます。

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