Project

General

Profile

Actions

バグ #1519

closed

gtk3: mastodon カスタム投稿起動時に postbox 入力済みテキストがカスタム投稿本文に反映されない

Added by Izumi Tsutsui over 3 years ago. Updated over 3 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:
mastodon_custom_posts
クラッシュする:
No

Description

従来の 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 にも本文テキストは入っているようですが、
なぜかカスタム投稿ウインドウの表示としては反映されていないようです。


Files

0001-multitext-refs-1519.patch (1.06 KB) 0001-multitext-refs-1519.patch Izumi Tsutsui, 2021-10-24 23:23
0001-multitext-buffer-1519.patch (1.09 KB) 0001-multitext-buffer-1519.patch Izumi Tsutsui, 2021-10-26 00:47
0001-custom-post-cleanup.patch (889 Bytes) 0001-custom-post-cleanup.patch Izumi Tsutsui, 2021-10-30 18:16
Actions #1

Updated by Izumi Tsutsui over 3 years ago

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
Actions #2

Updated by Izumi Tsutsui over 3 years ago

書き忘れましたが source:core/mui/gtk_form_dsl.rb@5933f4fb4#L52

  self[key] and text_view.buffer.text

というのが何を意図しているのか理解していません。この行を書き換えるべき?

Actions #3

Updated by Izumi Tsutsui over 3 years ago

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 対応と直接関係ない差分でトラブるとちょっとしんどいですね。

Actions #4

Updated by toshi_a 初音 over 3 years ago

  • Status changed from パッチ適用待ち to レビュー待ち
  • Assignee set to Izumi Tsutsui
  • ブランチ set to topic/1519-custom-post

対応しました。developの実装に近い1つ目のパッチにします。

Actions #5

Updated by Izumi Tsutsui over 3 years ago

toshi_a 初音 さんは #note-4 で書きました:

対応しました。developの実装に近い1つ目のパッチにします。

あー、1つ目のパッチだと #note-2 のもともと意図してであろう行が不要になるのでそちらを削除しないといけないです。
添付しときます。

Actions #6

Updated by toshi_a 初音 over 3 years ago

  • Status changed from まだダメ to レビュー待ち
  • Assignee changed from toshi_a 初音 to Izumi Tsutsui

普通に見落としてました

Actions #7

Updated by Izumi Tsutsui over 3 years ago

  • Status changed from レビュー待ち to マージ待ち

差分OKです

Actions #8

Updated by toshi_a 初音 over 3 years ago

  • Status changed from マージ待ち to 終了

merged.

Actions

Also available in: Atom PDF