OSDN Git Service

PostClass.IsDeletedにtrueがセットされていても発言一覧上で(DELETED)に変化しない不具合を修正
authorKimura Youichi <kim.upsilon@bucyou.net>
Thu, 27 Oct 2016 01:44:16 +0000 (10:44 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Thu, 27 Oct 2016 01:53:17 +0000 (10:53 +0900)
発言一覧の描画時に ListViewSubItem.Text 経由ではなく直接 PostClass の
プロパティを参照するようになったことが原因

Fixes: d1e8cd58 ("スクリーンリーダーで引用ツイートの内容が発言一覧上でも読み上げられるように修正")

OpenTween/Resources/ChangeLog.txt
OpenTween/Tween.cs

index 091960b..8b230a4 100644 (file)
@@ -6,6 +6,7 @@
  * FIX: ツイートURLのコピー時に余分な改行文字が末尾に付く不具合を修正
  * FIX: Bing翻訳機能が使用できなくなっていた問題を修正
  * FIX: 未読発言への移動時にエラーが発生する不具合を修正 (thx @nue_of_k!)
+ * FIX: ツイートの削除時に「(DELETED)」の表示がされなくなっていた不具合を修正
 
 ==== Ver 1.3.5(2016/10/01)
  * NEW: 140文字を越えるツイートの表示に対応しました
index 5f678a1..d932def 100644 (file)
@@ -5104,7 +5104,7 @@ namespace OpenTween
                         using (Font fnt = new Font(e.Item.Font, FontStyle.Bold))
                         {
                             TextRenderer.DrawText(e.Graphics,
-                                                    post.TextSingleLine,
+                                                    post.IsDeleted ? "(DELETED)" : post.TextSingleLine,
                                                     e.Item.Font,
                                                     Rectangle.Round(rct),
                                                     color,
@@ -5123,30 +5123,39 @@ namespace OpenTween
                                                     TextFormatFlags.NoPrefix);
                         }
                     }
-                    else if (drawLineCount == 1)
-                    {
-                        TextRenderer.DrawText(e.Graphics,
-                                                e.ColumnIndex != 2 ? e.SubItem.Text : post.TextSingleLine,
-                                                e.Item.Font,
-                                                Rectangle.Round(rct),
-                                                color,
-                                                TextFormatFlags.SingleLine |
-                                                TextFormatFlags.EndEllipsis |
-                                                TextFormatFlags.GlyphOverhangPadding |
-                                                TextFormatFlags.NoPrefix |
-                                                TextFormatFlags.VerticalCenter);
-                    }
                     else
                     {
-                        TextRenderer.DrawText(e.Graphics,
-                                                e.ColumnIndex != 2 ? e.SubItem.Text : post.TextSingleLine,
-                                                e.Item.Font,
-                                                Rectangle.Round(rct),
-                                                color,
-                                                TextFormatFlags.WordBreak |
-                                                TextFormatFlags.EndEllipsis |
-                                                TextFormatFlags.GlyphOverhangPadding |
-                                                TextFormatFlags.NoPrefix);
+                        string text;
+                        if (e.ColumnIndex != 2)
+                            text = e.SubItem.Text;
+                        else
+                            text = post.IsDeleted ? "(DELETED)" : post.TextSingleLine;
+
+                        if (drawLineCount == 1)
+                        {
+                            TextRenderer.DrawText(e.Graphics,
+                                                    text,
+                                                    e.Item.Font,
+                                                    Rectangle.Round(rct),
+                                                    color,
+                                                    TextFormatFlags.SingleLine |
+                                                    TextFormatFlags.EndEllipsis |
+                                                    TextFormatFlags.GlyphOverhangPadding |
+                                                    TextFormatFlags.NoPrefix |
+                                                    TextFormatFlags.VerticalCenter);
+                        }
+                        else
+                        {
+                            TextRenderer.DrawText(e.Graphics,
+                                                    text,
+                                                    e.Item.Font,
+                                                    Rectangle.Round(rct),
+                                                    color,
+                                                    TextFormatFlags.WordBreak |
+                                                    TextFormatFlags.EndEllipsis |
+                                                    TextFormatFlags.GlyphOverhangPadding |
+                                                    TextFormatFlags.NoPrefix);
+                        }
                     }
                     //if (e.ColumnIndex == 6) this.DrawListViewItemStateIcon(e, rct);
                 }