mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-02 15:17:03 +02:00
Experiment: delete translated text
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user