バグ #1548
完了gtk3: Gtk::ImageMenuItem.new の引数が適切でない
説明
題名のとおりですが
source:plugin/gtk3/widget/worldshifter.rb@f6025344 にあるImageMenuItem.new
の引数が意図通りになっていないようです。
Ruby-Gnome のマニュアル によればGtk::ImageMenuItem.new(label = nil, use_underline = true)
もしくはGtk::ImageMenuItem.new(stock_id, accel_group = nil)
という引数ですが、現状ではGtk::ImageMenuItem.new(label: world.title, accel_group: false)
およびGtk::ImageMenuItem.new(label: Plugin[:gtk3]._('Worldを追加'), accel_group: false)
と両者が混ざった記述になっています。(これが ruby 的にどう解釈されるのかよくわかってませんが)
なお https://noanoa07.livedoor.blog/archives/2136674.html によればuse_underline
は機能していない(?)らしいので実害はないようです。
ファイル
Izumi Tsutsui さんが約3年前に更新
- ファイル 0001-Gtk-ImageMenuItem.new.patch 0001-Gtk-ImageMenuItem.new.patch を追加
- ステータス を 分類待ち から パッチ適用待ち に変更
とりあえず修正パッチです。
source:core/mui/gtk_contextmenu.rb@f6025344 にもGtk::ImageMenuItem.new
があってこちらは 2つ目の引数がない(≒デフォルトで true
になっている?)のですが、
チケット本文記載の通り use_underline
は機能していないので見た目としても問題になっていないようです。
Shibafu Midorino さんが約3年前に更新
https://github.com/ruby-gnome/ruby-gnome/blob/3.4.9/gtk3/lib/gtk3/image-menu-item.rb と https://valadoc.org/gtk+-3.0/Gtk.ImageMenuItem.html を見る限り、label:
を渡す場合は他のキーワード引数には一切意味が無いようなのでこれ1つで良さそうです。
Shibafu Midorino さんが約3年前に更新
いや意味がないことはないか、new_with_mnemonic を使うかどうかの分岐になってますね。ろくに読めていませんでした。
Izumi Tsutsui さんが約3年前に更新
new_with_mnemonic
ってどこにあるんやと思ったら
https://valadoc.org/gtk+-3.0/Gtk.Label.Label.with_mnemonic.html とかなんですかね。
If characters in str are preceded by an underscore, they are underlined.
というのも ruby-gnome のドキュメント説明と合ってませんが、
アンダースコアつけても結局アンダーラインにならないような……。
toshi_a 初音 さんがほぼ3年前に更新
- ステータス を パッチ適用待ち から レビュー待ち に変更
- 担当者 を Izumi Tsutsui にセット
- ブランチ を topic/1548-gtk-menu-item にセット
確認お願いします
Izumi Tsutsui さんがほぼ3年前に更新
- ステータス を レビュー待ち から マージ待ち に変更
git merge topic/1548-gtk-menu-item
して起動して
worldshifter 動作は特に問題なしです。