diff --git a/app/src/main/java/eu/faircode/email/StyleHelper.java b/app/src/main/java/eu/faircode/email/StyleHelper.java index 636a74d377..7cc27c036d 100644 --- a/app/src/main/java/eu/faircode/email/StyleHelper.java +++ b/app/src/main/java/eu/faircode/email/StyleHelper.java @@ -15,6 +15,7 @@ import android.text.style.ForegroundColorSpan; import android.text.style.ImageSpan; import android.text.style.QuoteSpan; import android.text.style.RelativeSizeSpan; +import android.text.style.StrikethroughSpan; import android.text.style.StyleSpan; import android.text.style.TypefaceSpan; import android.text.style.URLSpan; @@ -122,6 +123,8 @@ public class StyleHelper { return setFont(item); case R.id.group_style_blockquote: return setBlockquote(item); + case R.id.group_style_strikethrough: + return setStrikethrough(item); case R.id.group_style_clear: return clear(item); default: @@ -321,6 +324,22 @@ public class StyleHelper { return true; } + private boolean setStrikethrough(MenuItem item) { + boolean has = false; + for (StrikethroughSpan span : t.getSpans(s, e, StrikethroughSpan.class)) { + has = true; + t.removeSpan(span); + } + + if (!has) + t.setSpan(new StrikethroughSpan(), s, e, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + etBody.setText(t); + etBody.setSelection(s, e); + + return true; + } + private boolean clear(MenuItem item) { for (Object span : t.getSpans(s, e, Object.class)) if (!(span instanceof ImageSpan)) diff --git a/app/src/main/res/menu/popup_style.xml b/app/src/main/res/menu/popup_style.xml index fbc3cfa121..e6797d13ce 100644 --- a/app/src/main/res/menu/popup_style.xml +++ b/app/src/main/res/menu/popup_style.xml @@ -64,8 +64,16 @@ + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 955d03821b..5d3916cf38 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -939,6 +939,7 @@ Font Default Block quote + Strikethrough Clear formatting Insert link