mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-09 02:23:38 +02:00
Added default send font size option
This commit is contained in:
@@ -34,6 +34,7 @@ import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.text.style.RelativeSizeSpan;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@@ -98,6 +99,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
|
||||
private ViewButtonColor btnComposeColor;
|
||||
private Spinner spComposeFont;
|
||||
private Spinner spComposeTextSize;
|
||||
private SwitchCompat swComposeMonospaced;
|
||||
private SwitchCompat swPrefixOnce;
|
||||
private SwitchCompat swPrefixCount;
|
||||
@@ -146,7 +148,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
"send_delayed", "send_undo",
|
||||
"answer_single", "answer_action",
|
||||
"sound_sent",
|
||||
"compose_color", "compose_font", "compose_monospaced",
|
||||
"compose_color", "compose_font", "compose_text_size", "compose_monospaced",
|
||||
"prefix_once", "prefix_count", "alt_re", "alt_fwd",
|
||||
"separate_reply", "extended_reply", "template_reply", "write_below", "quote_reply", "quote_limit",
|
||||
"resize_reply", "resize_paste",
|
||||
@@ -197,6 +199,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
|
||||
btnComposeColor = view.findViewById(R.id.btnComposeColor);
|
||||
spComposeFont = view.findViewById(R.id.spComposeFont);
|
||||
spComposeTextSize = view.findViewById(R.id.spComposeTextSize);
|
||||
swComposeMonospaced = view.findViewById(R.id.swComposeMonospaced);
|
||||
swPrefixOnce = view.findViewById(R.id.swPrefixOnce);
|
||||
swPrefixCount = view.findViewById(R.id.swPrefixCount);
|
||||
@@ -239,7 +242,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
List<StyleHelper.FontDescriptor> fonts = StyleHelper.getFonts(getContext(), false);
|
||||
|
||||
List<CharSequence> fn = new ArrayList<>();
|
||||
fn.add("-");
|
||||
fn.add(getString(R.string.title_style_font_default));
|
||||
for (int i = 0; i < fonts.size(); i++) {
|
||||
StyleHelper.FontDescriptor font = fonts.get(i);
|
||||
SpannableStringBuilder ssb = new SpannableStringBuilderEx(font.toString());
|
||||
@@ -248,9 +251,31 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
fn.add(ssb);
|
||||
}
|
||||
|
||||
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, fn);
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spComposeFont.setAdapter(adapter);
|
||||
ArrayAdapter<CharSequence> fontAdapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, fn);
|
||||
fontAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spComposeFont.setAdapter(fontAdapter);
|
||||
|
||||
int[] textSizeTitles = new int[]{
|
||||
R.string.title_style_size_xsmall,
|
||||
R.string.title_style_size_small,
|
||||
R.string.title_style_size_medium,
|
||||
R.string.title_style_size_large,
|
||||
R.string.title_style_size_xlarge};
|
||||
|
||||
List<CharSequence> ts = new ArrayList<>();
|
||||
ts.add(getString(R.string.title_style_font_default));
|
||||
for (int i = 0; i < textSizeTitles.length; i++) {
|
||||
SpannableStringBuilder ssb = new SpannableStringBuilderEx(getString(textSizeTitles[i]));
|
||||
Float size = HtmlHelper.getFontSize(HtmlHelper.fontSizeNames[i], 1.0f);
|
||||
if (size == null)
|
||||
size = 1.0f;
|
||||
ssb.setSpan(new RelativeSizeSpan(size), 0, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
ts.add(ssb);
|
||||
}
|
||||
|
||||
ArrayAdapter<CharSequence> sizeAdapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, ts);
|
||||
sizeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spComposeTextSize.setAdapter(sizeAdapter);
|
||||
|
||||
setOptions();
|
||||
|
||||
@@ -572,6 +597,21 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
}
|
||||
});
|
||||
|
||||
spComposeTextSize.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
|
||||
if (position == 0)
|
||||
prefs.edit().remove("compose_text_size").apply();
|
||||
else
|
||||
prefs.edit().putString("compose_text_size", HtmlHelper.fontSizeNames[position - 1]).apply();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNothingSelected(AdapterView<?> parent) {
|
||||
prefs.edit().remove("compose_text_size").apply();
|
||||
}
|
||||
});
|
||||
|
||||
swComposeMonospaced.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
@@ -1009,6 +1049,13 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
}
|
||||
}
|
||||
|
||||
String compose_text_size = prefs.getString("compose_text_size", "");
|
||||
for (int pos = 0; pos < HtmlHelper.fontSizeNames.length; pos++)
|
||||
if (HtmlHelper.fontSizeNames[pos].equals(compose_text_size)) {
|
||||
spComposeTextSize.setSelection(pos + 1);
|
||||
break;
|
||||
}
|
||||
|
||||
swComposeMonospaced.setChecked(prefs.getBoolean("compose_monospaced", false));
|
||||
|
||||
swPrefixOnce.setChecked(prefs.getBoolean("prefix_once", true));
|
||||
|
||||
Reference in New Issue
Block a user