バグ #1519
完了gtk3: mastodon カスタム投稿起動時に postbox 入力済みテキストがカスタム投稿本文に反映されない
説明
従来の mikutter mastodon postbox の「カスタム投稿」は、
すでに postbox に入力済みのテキストがカスタム投稿側の「本文」にコピーされる仕様と思います。
一方、 gtk3版では postbox 入力済みのテキストがカスタム投稿側に反映されません。
gtk3版ではカスタム投稿のコードが source:plugin/mastodon/spell.rb@62fa5341#L35 から
source:plugin/mastodon_custom_post/mastodon_custom_post.rb@a1c13c70#L19
に移動しているものの、 postbox テキストから本文へのコピーの処理はほぼ同じ記述のようです。
i_postbox = opt.widget
postbox, = Plugin.filtering(:gui_get_gtk_widget, i_postbox)
body = postbox.widget_post.buffer.text
reply_to = postbox.mastodon_get_reply_to
dialog _('カスタム投稿') do
# オプションを並べる
multitext _('CW警告文'), :spoiler_text
self[:body] = body
multitext _('本文'), :body
debug用 notice
で見ると body
にも本文テキストは入っているようですが、
なぜかカスタム投稿ウインドウの表示としては反映されていないようです。
ファイル
Izumi Tsutsui さんが約3年前に更新
- ファイル 0001-multitext-refs-1519.patch 0001-multitext-refs-1519.patch を追加
- ステータス を 分類待ち から パッチ適用待ち に変更
5933f4fb4 での main/core/mui/gtk_form_dsl.rb の multitext
の修正漏れのようです。
添付(以下にも貼り付け)の差分で従来と同じく buffer.text
を設定すると
従来と同じくカスタム投稿本文に入力済み postbox 文字列が入るようになりました。
diff --git a/core/mui/gtk_form_dsl.rb b/core/mui/gtk_form_dsl.rb
index 1f4f6cb3..62a1c008 100644
--- a/core/mui/gtk_form_dsl.rb
+++ b/core/mui/gtk_form_dsl.rb
@@ -58,6 +58,7 @@ module Gtk::FormDSL
text_view.border_width = 6
text_view.accepts_tab = false
text_view.editable = true
+ text_view.buffer.text = self[key] || ''
self[key] and text_view.buffer.text
text_view.buffer.ssc :changed do
self[key] = text_view.buffer.text
Izumi Tsutsui さんが約3年前に更新
書き忘れましたが source:core/mui/gtk_form_dsl.rb@5933f4fb4#L52 の
self[key] and text_view.buffer.text
というのが何を意図しているのか理解していません。この行を書き換えるべき?
Izumi Tsutsui さんが約3年前に更新
Izumi Tsutsui さんは #note-2 で書きました:
書き忘れましたが source:core/mui/gtk_form_dsl.rb@5933f4fb4#L52 の
self[key] and text_view.buffer.text
というのが何を意図しているのか理解していません。この行を書き換えるべき?
source:core/mui/gtk_form_dsl.rb@5933f4fb4#L180 の
self[key] and entry.text = self[key]
からすると以下が意図していたコードですかね……
diff --git a/core/mui/gtk_form_dsl.rb b/core/mui/gtk_form_dsl.rb
index 1f4f6cb3..7685efd1 100644
--- a/core/mui/gtk_form_dsl.rb
+++ b/core/mui/gtk_form_dsl.rb
@@ -58,7 +58,7 @@ module Gtk::FormDSL
text_view.border_width = 6
text_view.accepts_tab = false
text_view.editable = true
- self[key] and text_view.buffer.text
+ self[key] and text_view.buffer.text = self[key]
text_view.buffer.ssc :changed do
self[key] = text_view.buffer.text
false
gtk3 対応と直接関係ない差分でトラブるとちょっとしんどいですね。
toshi_a 初音 さんが約3年前に更新
- ステータス を パッチ適用待ち から レビュー待ち に変更
- 担当者 を Izumi Tsutsui にセット
- ブランチ を topic/1519-custom-post にセット
対応しました。developの実装に近い1つ目のパッチにします。
Izumi Tsutsui さんが約3年前に更新
- ファイル 0001-custom-post-cleanup.patch 0001-custom-post-cleanup.patch を追加
- ステータス を レビュー待ち から まだダメ に変更
- 担当者 を Izumi Tsutsui から toshi_a 初音 に変更