From fc540645aa55e41c5c106c6d727d0a336b1352a8 Mon Sep 17 00:00:00 2001 From: Floens Date: Fri, 22 Aug 2014 20:38:50 +0200 Subject: [PATCH] Add option for font size --- .../org/floens/chan/core/ChanPreferences.java | 5 ++++ .../chan/ui/fragment/SettingsFragment.java | 19 ++++++++++++++ .../org/floens/chan/ui/view/PostView.java | 4 +-- .../org/floens/chan/utils/ThemeHelper.java | 6 +++++ Clover/app/src/main/res/values/attrs.xml | 2 -- Clover/app/src/main/res/values/strings.xml | 26 +++++++++++++++++++ Clover/app/src/main/res/values/styles.xml | 2 -- Clover/app/src/main/res/xml/preference.xml | 8 ++++++ 8 files changed, 66 insertions(+), 6 deletions(-) diff --git a/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java b/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java index 028165c7..67dce566 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java +++ b/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java @@ -188,4 +188,9 @@ public class ChanPreferences { public static boolean getVideoExternal() { return p().getBoolean("preference_video_external", false); } + + public static int getFontSize() { + String font = p().getString("preference_font", null); + return font == null ? 15 : Integer.parseInt(font); + } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java b/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java index b7129892..4c14e9b9 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java @@ -32,6 +32,7 @@ import android.widget.Toast; import org.floens.chan.R; import org.floens.chan.core.ChanPreferences; import org.floens.chan.ui.activity.AboutActivity; +import org.floens.chan.ui.activity.BaseActivity; import org.floens.chan.ui.activity.SettingsActivity; import org.floens.chan.utils.ThemeHelper; @@ -121,6 +122,24 @@ public class SettingsFragment extends PreferenceFragment { return true; } }); + + final ListPreference font = (ListPreference) findPreference("preference_font"); + String currentFontValue = font.getValue(); + if (currentFontValue == null) { + font.setValue((String) font.getEntryValues()[0]); + currentFontValue = font.getValue(); + } + updateSummary(font, currentFontValue); + + font.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + updateSummary(font, newValue.toString()); + BaseActivity.doRestartOnResume = true; + + return true; + } + }); } public void onStart() { diff --git a/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java b/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java index 5c5df326..e68168bf 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java @@ -268,13 +268,13 @@ public class PostView extends LinearLayout implements View.OnClickListener { int imageSize = 0; int repliesCountSize = 0; if (isList()) { - postCommentSize = ta.getDimensionPixelSize(R.styleable.PostView_list_comment_size, 0); + postCommentSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ThemeHelper.getInstance().getFontSize(), getResources().getDisplayMetrics()); commentPadding = ta.getDimensionPixelSize(R.styleable.PostView_list_comment_padding, 0); postPadding = ta.getDimensionPixelSize(R.styleable.PostView_list_padding, 0); imageSize = ta.getDimensionPixelSize(R.styleable.PostView_list_image_size, 0); repliesCountSize = ta.getDimensionPixelSize(R.styleable.PostView_list_replies_count_size, 0); } else if (isGrid()) { - postCommentSize = ta.getDimensionPixelSize(R.styleable.PostView_grid_comment_size, 0); + postCommentSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ThemeHelper.getInstance().getFontSize() - 1, getResources().getDisplayMetrics()); commentPadding = ta.getDimensionPixelSize(R.styleable.PostView_grid_comment_padding, 0); postPadding = ta.getDimensionPixelSize(R.styleable.PostView_grid_padding, 0); imageSize = ta.getDimensionPixelSize(R.styleable.PostView_grid_image_size, 0); diff --git a/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java b/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java index cea10ba2..b8b2a9fc 100644 --- a/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java +++ b/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java @@ -48,6 +48,7 @@ public class ThemeHelper { private int spoilerColor; private int inlineQuoteColor; private int codeTagSize; + private int fontSize; public static ThemeHelper getInstance() { if (instance == null) { @@ -95,6 +96,7 @@ public class ThemeHelper { spoilerColor = ta.getColor(R.styleable.PostView_spoiler_color, 0); inlineQuoteColor = ta.getColor(R.styleable.PostView_inline_quote_color, 0); codeTagSize = ta.getDimensionPixelSize(R.styleable.PostView_code_tag_size, 0); + fontSize = ChanPreferences.getFontSize(); ta.recycle(); } @@ -117,4 +119,8 @@ public class ThemeHelper { public int getCodeTagSize() { return codeTagSize; } + + public int getFontSize() { + return fontSize; + } } diff --git a/Clover/app/src/main/res/values/attrs.xml b/Clover/app/src/main/res/values/attrs.xml index 96a2f502..fc3d038f 100644 --- a/Clover/app/src/main/res/values/attrs.xml +++ b/Clover/app/src/main/res/values/attrs.xml @@ -69,13 +69,11 @@ along with this program. If not, see . - - diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml index 12ab099e..58c86529 100644 --- a/Clover/app/src/main/res/values/strings.xml +++ b/Clover/app/src/main/res/values/strings.xml @@ -158,6 +158,32 @@ along with this program. If not, see . black + Font size + + 10 + 11 + 12 + 13 + 14 + 15 (normal) + 16 + 17 + 18 + 19 + + + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + + Board mode Catalog diff --git a/Clover/app/src/main/res/values/styles.xml b/Clover/app/src/main/res/values/styles.xml index 4b7b4be0..bf390f78 100644 --- a/Clover/app/src/main/res/values/styles.xml +++ b/Clover/app/src/main/res/values/styles.xml @@ -98,13 +98,11 @@ along with this program. If not, see . 5dp 120dp 8dp - 14sp 11sp 10dp 70dp 11dp - 15sp 14sp 200dp diff --git a/Clover/app/src/main/res/xml/preference.xml b/Clover/app/src/main/res/xml/preference.xml index d468788d..b0f6e2a9 100644 --- a/Clover/app/src/main/res/xml/preference.xml +++ b/Clover/app/src/main/res/xml/preference.xml @@ -51,6 +51,14 @@ along with this program. If not, see . android:key="preference_theme" android:title="@string/preference_theme" /> + +