Add option for font size

captchafix
Floens 11 years ago
parent 99cc65cea3
commit fc540645aa
  1. 5
      Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
  2. 19
      Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java
  3. 4
      Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java
  4. 6
      Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java
  5. 2
      Clover/app/src/main/res/values/attrs.xml
  6. 26
      Clover/app/src/main/res/values/strings.xml
  7. 2
      Clover/app/src/main/res/values/styles.xml
  8. 8
      Clover/app/src/main/res/xml/preference.xml

@ -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);
}
}

@ -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() {

@ -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);

@ -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;
}
}

@ -69,13 +69,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<attr name="grid_padding" format="dimension"/>
<attr name="grid_image_size" format="dimension"/>
<attr name="grid_comment_padding" format="dimension"/>
<attr name="grid_comment_size" format="dimension"/>
<attr name="grid_replies_count_size" format="dimension"/>
<attr name="list_comment_max_height" format="dimension"/>
<attr name="list_padding" format="dimension"/>
<attr name="list_image_size" format="dimension"/>
<attr name="list_comment_padding" format="dimension"/>
<attr name="list_comment_size" format="dimension"/>
<attr name="list_replies_count_size" format="dimension"/>
<attr name="grid_width" format="dimension"/>
<attr name="grid_height" format="dimension"/>

@ -158,6 +158,32 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<item>black</item>
</string-array>
<string name="preference_font">Font size</string>
<string-array name="preference_fonts">
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15 (normal)</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
</string-array>
<string-array name="preference_fonts_values">
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
</string-array>
<string name="preference_board_mode">Board mode</string>
<string-array name="preference_board_modes">
<item>Catalog</item>

@ -98,13 +98,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<item name="grid_padding">5dp</item>
<item name="grid_image_size">120dp</item>
<item name="grid_comment_padding">8dp</item>
<item name="grid_comment_size">14sp</item>
<item name="grid_replies_count_size">11sp</item>
<item name="list_padding">10dp</item>
<item name="list_image_size">70dp</item>
<item name="list_comment_padding">11dp</item>
<item name="list_comment_size">15sp</item>
<item name="list_replies_count_size">14sp</item>
<item name="list_comment_max_height">200dp</item>

@ -51,6 +51,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:key="preference_theme"
android:title="@string/preference_theme" />
<ListPreference
android:defaultValue="15"
android:dialogTitle="@string/preference_font"
android:entries="@array/preference_fonts"
android:entryValues="@array/preference_fonts_values"
android:key="preference_font"
android:title="@string/preference_font" />
<CheckBoxPreference
android:defaultValue="true"
android:key="preference_open_link_confirmation"

Loading…
Cancel
Save