バグ #465
未完了
favとRTが両方されているとfavった人アイコンのマウスオーバーでのID表示がされない
Izumi Tsutsui さんが12年以上前に追加.
ほぼ3年前に更新.
説明
ツイート表示下のRTした人アイコンやfavした人アイコンにマウスオーバーすると
favstarと同じくツールチップでその人のTwitter IDが表示されるようになっていますが、
favとRTとが両方されていて両者が2段でアイコンが表示されている場合、
下段のRTアイコンのほうはマウスオーバーでツールチップが表示されますが、
上段のfavアイコンのほうはマウスオーバーしてもツールチップが出ません。
RTだけ、favだけの場合はそれぞれ表示されます。
0.1の時点で起きていたと思いますが、素の0.1.1.783でも確認しました。
ツールチップの条件分岐は問題なく、不思議な力でその表示がされないというところまで確認しました。
マウスオーバー時にツールチップに表示するユーザー名は取れているため、表示の部分(おそらくGTK周り?)が悪さしてるんだと思います。
引き続きツールチップの動作を確認していきます。
Gtk::Tooltips のドキュメントを見てみたら、どうやら ToolTips は deprecated らしいです。
Gtk::Tooltips is deprecated since Gtk+ 2.12. Use Gtk::Tooltip and the tooltip_* methods in Gtk::Widget instead.
https://ruby-gnome2.osdn.jp/hiki.cgi?Gtk%3A%3ATooltips
Gtk::ToolTip の方はほとんど情報量がないので Gtk::Widget の tooltip_* を追ったほうがいいかもしれないですね。
もしかしたら、こちらを使うとうまくいくとかあればいいですが。
あまり参考にならない情報ですが、気づいたことがあったのでメモ
- RTのみされたツイートがTLの一番上にある状態
- RTした人のアイコン上にマウスカーソルがあってツールチップでIDが表示されている状態
において、
- TLの一番上にあった「RTのみされたツイート」がふぁぼられた
- ふぁぼられたことにより、従来RTした人のアイコンが表示されていたところにふぁぼった人のアイコンが挿入された
- マウスカーソルは動かしていないので結果としてマウスカーソルがふぁぼった人のアイコンの上に来た
という状態ではふぁぼった人のIDがツールチップで表示されていました。
上記の状態からマウスカーソルを下に動かしてRTした人のIDをツールチップで表示させた後に
再度ふぁぼった人のアイコンにマウスカーソルを動かした後はツールチップが表示されませんでした。
「表示しようとはしているものの、不思議な力で抑制されている」という流れには見えます。
懸賞金対象だったなあ、などと思いだしたのでとりあえず変えてみます。
source:core/mui/cairo_sub_parts_voter.rb@a9180163#L37 の helper.ssc(:motion_notify_event)
に
notice
をいろいろ散りばめてながめてみたのですが、以下のような動きをしているように見えます。
motion_notify_event
が fav列のsub_parts と RT列のsub_parts と 2回呼ばれる?
- fav列の高さにポインタがある場合、
fav列のsub_parts で呼ばれたときは tooltip_text
にユーザ名セットされるが
直後に RT列のsub_parts で呼ばれたときに tooltip_text
が空にされる
- RT列の高さにポインタがある場合、
fav列のsub_parts で呼ばれたときは tooltip_text
が空にされるが
直後に RT列のsub_parts で呼ばれたときに tooltip_text
にユーザ名セットされる
「fav列のsub_parts で tooltip_text
セットされてたら RT列のsub_parts ではクリアしない」みたいな処理が必要?
last_motion_user
というのがこのあたりを対処しようとした形跡にも見えるのですが、
#203 で最初に「voterのアイコンにチップヘルプでscreen_nameが出るようにした」の変更が入った
source:core/mui/cairo_sub_parts_voter.rb@d54e3a75#L39 を見てもイマイチわかりませんでした……。
他の形式にエクスポート: Atom
PDF