Experiment: delete translated text

This commit is contained in:
M66B
2022-03-15 09:31:04 +01:00
parent 5d3c26c961
commit ddc5c434b1
2 changed files with 36 additions and 1 deletions

View File

@@ -591,6 +591,7 @@ public class FragmentCompose extends FragmentBase {
etBody.addTextChangedListener(new TextWatcher() {
private Integer added = null;
private Integer removed = null;
private Integer replaced = null;
@Override
public void beforeTextChanged(CharSequence text, int start, int count, int after) {
@@ -598,6 +599,10 @@ public class FragmentCompose extends FragmentBase {
Log.i("Removed=" + start);
removed = start;
}
if (BuildConfig.DEBUG && count - after == 1) {
replaced = start + after;
Log.i("Replaced=" + replaced);
}
}
@Override
@@ -736,6 +741,22 @@ public class FragmentCompose extends FragmentBase {
removed = null;
}
if (replaced != null && replaced > 0) {
StyleHelper.TranslatedSpan[] nc =
text.getSpans(replaced - 1, replaced, StyleHelper.TranslatedSpan.class);
if (nc != null)
for (StyleHelper.TranslatedSpan p : nc) {
int start = text.getSpanStart(p);
int end = text.getSpanEnd(p);
if (end == replaced) {
text.delete(start, end);
text.removeSpan(p);
}
}
replaced = null;
}
if (lp != null)
TextUtils.dumpSpans(text, lp, "---after>");
}
@@ -2154,6 +2175,8 @@ public class FragmentCompose extends FragmentBase {
*/
int len = 2 + translation.translated_text.length();
edit.insert(paragraph.second, "\n\n" + translation.translated_text);
StyleHelper.markAsTranslated(edit, paragraph.second, paragraph.second + len);
etBody.setSelection(paragraph.second + len);
boolean small = prefs.getBoolean("deepl_small", false);