Highlight the quote the replies are viewed for.

captchafix
Floens 11 years ago
parent dbafdb3159
commit c4aaf523df
  1. 3
      Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java
  2. 13
      Clover/app/src/main/java/org/floens/chan/core/model/PostLinkable.java
  3. 1
      Clover/app/src/main/java/org/floens/chan/ui/fragment/PostRepliesFragment.java
  4. 12
      Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java
  5. 6
      Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java
  6. 1
      Clover/app/src/main/res/values/attrs.xml
  7. 1
      Clover/app/src/main/res/values/styles.xml

@ -411,6 +411,7 @@ public class ThreadManager implements Loader.LoaderListener {
}
}
l.posts = p;
l.forNo = post.no;
if (p.size() > 0) {
showPostsRepliesFragment(l);
}
@ -430,6 +431,7 @@ public class ThreadManager implements Loader.LoaderListener {
Post post = findPostById((Integer) linkable.value);
if (post != null) {
RepliesPopup l = new RepliesPopup();
l.forNo = (Integer) linkable.value;
l.posts.add(post);
showPostsRepliesFragment(l);
}
@ -597,5 +599,6 @@ public class ThreadManager implements Loader.LoaderListener {
public List<Post> posts = new ArrayList<>();
public int listViewIndex;
public int listViewTop;
public int forNo = -1;
}
}

@ -56,7 +56,18 @@ public class PostLinkable extends ClickableSpan {
@Override
public void updateDrawState(TextPaint ds) {
if (type == Type.QUOTE || type == Type.LINK || type == Type.THREAD) {
ds.setColor(type == Type.LINK ? ThemeHelper.getInstance().getLinkColor() : ThemeHelper.getInstance().getQuoteColor());
if (type == Type.QUOTE) {
if (value instanceof Integer && post.getLinkableListener() != null && (Integer)value == post.getLinkableListener().getHighlightQuotesWithNo()) {
ds.setColor(ThemeHelper.getInstance().getHighlightQuoteColor());
} else {
ds.setColor(ThemeHelper.getInstance().getQuoteColor());
}
} else if (type == Type.LINK) {
ds.setColor(ThemeHelper.getInstance().getLinkColor());
} else {
ds.setColor(ThemeHelper.getInstance().getQuoteColor());
}
ds.setUnderlineText(true);
} else if (type == Type.SPOILER) {
if (!clicked) {

@ -124,6 +124,7 @@ public class PostRepliesFragment extends DialogFragment {
final Post p = getItem(position);
postView.setPost(p, manager);
postView.setHighlightQuotesWithNo(repliesPopup.forNo);
postView.setOnClickListeners(new View.OnClickListener() {
@Override
public void onClick(View v) {

@ -65,6 +65,7 @@ public class PostView extends LinearLayout implements View.OnClickListener {
private ThreadManager manager;
private Post post;
private int highlightQuotesNo = -1;
private boolean isBuild = false;
private LinearLayout full;
@ -114,6 +115,9 @@ public class PostView extends LinearLayout implements View.OnClickListener {
public void setPost(final Post post, final ThreadManager manager) {
this.post = post;
this.manager = manager;
highlightQuotesNo = -1;
boolean boardCatalogMode = manager.getLoadable().isBoardMode() || manager.getLoadable().isCatalogMode();
TypedArray ta = context.obtainStyledAttributes(null, R.styleable.PostView, R.attr.post_style, 0);
@ -242,6 +246,14 @@ public class PostView extends LinearLayout implements View.OnClickListener {
}
}
public void setHighlightQuotesWithNo(int no) {
highlightQuotesNo = no;
}
public int getHighlightQuotesWithNo() {
return highlightQuotesNo;
}
private void buildView(final Context context, TypedArray ta) {
int thumbnailBackground = ta.getColor(R.styleable.PostView_thumbnail_background, 0);
int replyCountColor = ta.getColor(R.styleable.PostView_reply_count_color, 0);

@ -44,6 +44,7 @@ public class ThemeHelper {
private static ThemeHelper instance;
private Context context;
private int quoteColor;
private int highlightQuoteColor;
private int linkColor;
private int spoilerColor;
private int inlineQuoteColor;
@ -92,6 +93,7 @@ public class ThemeHelper {
this.context = context;
TypedArray ta = context.obtainStyledAttributes(null, R.styleable.PostView, R.attr.post_style, 0);
quoteColor = ta.getColor(R.styleable.PostView_quote_color, 0);
highlightQuoteColor = ta.getColor(R.styleable.PostView_highlight_quote_color, 0);
linkColor = ta.getColor(R.styleable.PostView_link_color, 0);
spoilerColor = ta.getColor(R.styleable.PostView_spoiler_color, 0);
inlineQuoteColor = ta.getColor(R.styleable.PostView_inline_quote_color, 0);
@ -104,6 +106,10 @@ public class ThemeHelper {
return quoteColor;
}
public int getHighlightQuoteColor() {
return highlightQuoteColor;
}
public int getLinkColor() {
return linkColor;
}

@ -36,6 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<attr name="subject_color" format="color"/>
<attr name="date_color" format="color"/>
<attr name="quote_color" format="color"/>
<attr name="highlight_quote_color" format="color"/>
<attr name="link_color" format="color"/>
<attr name="spoiler_color" format="color"/>
<attr name="capcode_color" format="color"/>

@ -114,6 +114,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<item name="subject_color">#ff0F0C5D</item>
<item name="date_color">#ff646464</item>
<item name="quote_color">#ffDD0000</item>
<item name="highlight_quote_color">#ff950000</item>
<item name="link_color">#ff0000B4</item>
<item name="spoiler_color">#ff000000</item>
<item name="capcode_color">#ffff0000</item>

Loading…
Cancel
Save