diff --git a/app/src/main/java/eu/faircode/email/ActivitySignature.java b/app/src/main/java/eu/faircode/email/ActivitySignature.java index 2982517fae..3fbec99114 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySignature.java +++ b/app/src/main/java/eu/faircode/email/ActivitySignature.java @@ -40,6 +40,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.widget.HorizontalScrollView; import android.widget.ImageButton; import android.widget.TextView; @@ -63,7 +64,7 @@ public class ActivitySignature extends ActivityBase { private TextView tvHtmlRemark; private EditTextCompose etText; private ImageButton ibFull; - private BottomNavigationView style_bar; + private HorizontalScrollView style_bar; private BottomNavigationView bottom_navigation; private boolean loaded = false; @@ -138,12 +139,7 @@ public class ActivitySignature extends ActivityBase { } }); - style_bar.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { - @Override - public boolean onNavigationItemSelected(@NonNull MenuItem item) { - return onActionStyle(item.getItemId()); - } - }); + StyleHelper.wire(this, view, etText); bottom_navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override @@ -152,6 +148,9 @@ public class ActivitySignature extends ActivityBase { if (itemId == R.id.action_insert_image) { insertImage(); return true; + } else if (itemId == R.id.action_insert_link) { + insertLink(); + return true; } else if (itemId == R.id.action_delete) { delete(); return true; @@ -385,18 +384,11 @@ public class ActivitySignature extends ActivityBase { startActivityForResult(intent, REQUEST_IMAGE); } - private boolean onActionStyle(int itemId) { - Log.i("Style action=" + itemId); - - if (itemId == R.id.menu_link) { - FragmentDialogInsertLink fragment = new FragmentDialogInsertLink(); - fragment.setArguments(FragmentDialogInsertLink.getArguments(etText)); - fragment.setTargetActivity(this, REQUEST_LINK); - fragment.show(getSupportFragmentManager(), "signature:link"); - - return true; - } else - return StyleHelper.apply(-1, itemId, ActivitySignature.this, findViewById(itemId), etText); + private void insertLink() { + FragmentDialogInsertLink fragment = new FragmentDialogInsertLink(); + fragment.setArguments(FragmentDialogInsertLink.getArguments(etText)); + fragment.setTargetActivity(this, REQUEST_LINK); + fragment.show(getSupportFragmentManager(), "signature:link"); } private void onImageSelected(Uri uri) { diff --git a/app/src/main/java/eu/faircode/email/FragmentAnswer.java b/app/src/main/java/eu/faircode/email/FragmentAnswer.java index 7ae7eed42a..7ed752aa37 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAnswer.java +++ b/app/src/main/java/eu/faircode/email/FragmentAnswer.java @@ -44,6 +44,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.EditText; +import android.widget.HorizontalScrollView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -70,7 +71,7 @@ public class FragmentAnswer extends FragmentBase { private CheckBox cbExternal; private ViewButtonColor btnColor; private EditTextCompose etText; - private BottomNavigationView style_bar; + private HorizontalScrollView style_bar; private BottomNavigationView bottom_navigation; private ContentLoadingProgressBar pbWait; private Group grpReady; @@ -157,12 +158,7 @@ public class FragmentAnswer extends FragmentBase { } }); - style_bar.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { - @Override - public boolean onNavigationItemSelected(@NonNull MenuItem item) { - return onActionStyle(-1, item.getItemId()); - } - }); + StyleHelper.wire(getViewLifecycleOwner(), view, etText); bottom_navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override @@ -171,6 +167,9 @@ public class FragmentAnswer extends FragmentBase { if (itemId == R.id.action_insert_image) { onInsertImage(); return true; + } else if (itemId == R.id.action_insert_link) { + onInsertLink(); + return true; } else if (itemId == R.id.action_delete) { onActionDelete(); return true; @@ -373,6 +372,13 @@ public class FragmentAnswer extends FragmentBase { startActivityForResult(intent, REQUEST_IMAGE); } + private void onInsertLink() { + FragmentDialogInsertLink fragment = new FragmentDialogInsertLink(); + fragment.setArguments(FragmentDialogInsertLink.getArguments(etText)); + fragment.setTargetFragment(this, REQUEST_LINK); + fragment.show(getParentFragmentManager(), "answer:link"); + } + private void onActionDelete() { Bundle args = new Bundle(); args.putString("question", getString(R.string.title_ask_delete_answer)); @@ -589,18 +595,4 @@ public class FragmentAnswer extends FragmentBase { } }.execute(this, args, "answer:delete"); } - - private boolean onActionStyle(int groupId, int itemId) { - Log.i("Style action=" + itemId); - - if (itemId == R.id.menu_link) { - FragmentDialogInsertLink fragment = new FragmentDialogInsertLink(); - fragment.setArguments(FragmentDialogInsertLink.getArguments(etText)); - fragment.setTargetFragment(this, REQUEST_LINK); - fragment.show(getParentFragmentManager(), "answer:link"); - - return true; - } else - return StyleHelper.apply(groupId, itemId, getViewLifecycleOwner(), view.findViewById(itemId), etText); - } } diff --git a/app/src/main/res/layout/activity_signature.xml b/app/src/main/res/layout/activity_signature.xml index 54df6ebff8..145880bd78 100644 --- a/app/src/main/res/layout/activity_signature.xml +++ b/app/src/main/res/layout/activity_signature.xml @@ -53,18 +53,14 @@ app:srcCompat="@drawable/twotone_fullscreen_24" app:tint="?attr/colorAccent" /> - + app:layout_constraintStart_toStartOf="parent" /> - + app:layout_constraintStart_toStartOf="parent" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintStart_toStartOf="parent" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/action_answer.xml b/app/src/main/res/menu/action_answer.xml index 30bfc3109d..b331153269 100644 --- a/app/src/main/res/menu/action_answer.xml +++ b/app/src/main/res/menu/action_answer.xml @@ -5,6 +5,11 @@ android:icon="@drawable/twotone_image_24" android:title="@string/title_edit_signature_image" /> + + - - - - - - - - - - - diff --git a/app/src/main/res/menu/action_signature.xml b/app/src/main/res/menu/action_signature.xml index 30bfc3109d..b331153269 100644 --- a/app/src/main/res/menu/action_signature.xml +++ b/app/src/main/res/menu/action_signature.xml @@ -5,6 +5,11 @@ android:icon="@drawable/twotone_image_24" android:title="@string/title_edit_signature_image" /> + + - - - - - - - - - - -