mirror of https://github.com/M66B/FairEmail.git
Moved translate button to action bar
This commit is contained in:
parent
1cdd5ea8aa
commit
d7eda33689
|
@ -227,6 +227,7 @@ public class FragmentCompose extends FragmentBase {
|
|||
private enum State {NONE, LOADING, LOADED}
|
||||
|
||||
private ViewGroup view;
|
||||
private View vwAnchorMenu;
|
||||
private Spinner spIdentity;
|
||||
private EditText etExtra;
|
||||
private TextView tvDomain;
|
||||
|
@ -251,7 +252,7 @@ public class FragmentCompose extends FragmentBase {
|
|||
private ImageButton ibCloseRefHint;
|
||||
private ImageButton ibReferenceEdit;
|
||||
private ImageButton ibReferenceImages;
|
||||
private FloatingActionButton fabTranslate;
|
||||
private View vwAnchor;
|
||||
private BottomNavigationView style_bar;
|
||||
private BottomNavigationView media_bar;
|
||||
private BottomNavigationView bottom_navigation;
|
||||
|
@ -344,6 +345,7 @@ public class FragmentCompose extends FragmentBase {
|
|||
view = (ViewGroup) inflater.inflate(R.layout.fragment_compose, container, false);
|
||||
|
||||
// Get controls
|
||||
vwAnchorMenu = view.findViewById(R.id.vwAnchorMenu);
|
||||
spIdentity = view.findViewById(R.id.spIdentity);
|
||||
etExtra = view.findViewById(R.id.etExtra);
|
||||
tvDomain = view.findViewById(R.id.tvDomain);
|
||||
|
@ -368,7 +370,7 @@ public class FragmentCompose extends FragmentBase {
|
|||
ibCloseRefHint = view.findViewById(R.id.ibCloseRefHint);
|
||||
ibReferenceEdit = view.findViewById(R.id.ibReferenceEdit);
|
||||
ibReferenceImages = view.findViewById(R.id.ibReferenceImages);
|
||||
fabTranslate = view.findViewById(R.id.fabTranslate);
|
||||
vwAnchor = view.findViewById(R.id.vwAnchor);
|
||||
style_bar = view.findViewById(R.id.style_bar);
|
||||
media_bar = view.findViewById(R.id.media_bar);
|
||||
bottom_navigation = view.findViewById(R.id.bottom_navigation);
|
||||
|
@ -816,13 +818,6 @@ public class FragmentCompose extends FragmentBase {
|
|||
}
|
||||
});
|
||||
|
||||
fabTranslate.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
onTranslate(v);
|
||||
}
|
||||
});
|
||||
|
||||
style_bar.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
|
||||
@Override
|
||||
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
||||
|
@ -910,8 +905,6 @@ public class FragmentCompose extends FragmentBase {
|
|||
ibReferenceEdit.setVisibility(View.GONE);
|
||||
ibReferenceImages.setVisibility(View.GONE);
|
||||
tvReference.setVisibility(View.GONE);
|
||||
fabTranslate.setVisibility(
|
||||
DeepL.isAvailable(getContext()) ? View.VISIBLE : View.GONE);
|
||||
style_bar.setVisibility(View.GONE);
|
||||
media_bar.setVisibility(View.GONE);
|
||||
bottom_navigation.setVisibility(View.GONE);
|
||||
|
@ -1487,6 +1480,26 @@ public class FragmentCompose extends FragmentBase {
|
|||
}
|
||||
});
|
||||
|
||||
menu.findItem(R.id.menu_translate).setActionView(R.layout.action_button);
|
||||
ImageButton ibTranslate = (ImageButton)menu.findItem(R.id.menu_translate).getActionView();
|
||||
ibTranslate.setImageResource(R.drawable.twotone_translate_24);
|
||||
ibTranslate.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
onTranslate(vwAnchorMenu);
|
||||
}
|
||||
});
|
||||
|
||||
menu.findItem(R.id.menu_zoom).setActionView(R.layout.action_button);
|
||||
ImageButton ibZoom = (ImageButton)menu.findItem(R.id.menu_zoom).getActionView();
|
||||
ibZoom.setImageResource(R.drawable.twotone_format_size_24);
|
||||
ibZoom.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
onMenuZoom();
|
||||
}
|
||||
});
|
||||
|
||||
super.onCreateOptionsMenu(menu, inflater);
|
||||
}
|
||||
|
||||
|
@ -1495,6 +1508,8 @@ public class FragmentCompose extends FragmentBase {
|
|||
super.onPrepareOptionsMenu(menu);
|
||||
|
||||
menu.findItem(R.id.menu_encrypt).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_translate).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_translate).setVisible(DeepL.isAvailable(getContext()));
|
||||
menu.findItem(R.id.menu_zoom).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_media).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_compact).setEnabled(state == State.LOADED);
|
||||
|
@ -1564,6 +1579,9 @@ public class FragmentCompose extends FragmentBase {
|
|||
if (itemId == R.id.menu_encrypt) {
|
||||
onMenuEncrypt();
|
||||
return true;
|
||||
} else if (itemId == R.id.menu_translate) {
|
||||
onTranslate(vwAnchorMenu);
|
||||
return true;
|
||||
} else if (itemId == R.id.menu_zoom) {
|
||||
onMenuZoom();
|
||||
return true;
|
||||
|
@ -1788,7 +1806,6 @@ public class FragmentCompose extends FragmentBase {
|
|||
return;
|
||||
}
|
||||
|
||||
View vwAnchorMenu = view.findViewById(R.id.vwAnchorMenu);
|
||||
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(getContext(), getViewLifecycleOwner(), vwAnchorMenu);
|
||||
Menu main = popupMenu.getMenu();
|
||||
|
||||
|
@ -3437,7 +3454,6 @@ public class FragmentCompose extends FragmentBase {
|
|||
new Intent(getContext(), ActivitySetup.class)
|
||||
.putExtra("tab", "encryption"));
|
||||
else {
|
||||
View vwAnchor = view.findViewById(R.id.vwAnchor);
|
||||
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(getContext(), getViewLifecycleOwner(), vwAnchor);
|
||||
popupMenu.getMenu().add(Menu.NONE, R.string.title_send_dialog, 1, R.string.title_send_dialog);
|
||||
popupMenu.getMenu().add(Menu.NONE, R.string.title_advanced_manage_certificates, 2, R.string.title_advanced_manage_certificates);
|
||||
|
|
|
@ -115,19 +115,16 @@ public class PopupMenuLifecycle extends PopupMenu implements LifecycleObserver {
|
|||
}
|
||||
|
||||
private static void insertIcon(Context context, MenuItem menuItem) {
|
||||
if (menuItem.getItemId() == R.id.menu_zoom)
|
||||
return;
|
||||
Drawable icon = menuItem.getIcon();
|
||||
|
||||
if (icon == null)
|
||||
icon = new ColorDrawable(Color.TRANSPARENT);
|
||||
else {
|
||||
icon = icon.getConstantState().newDrawable().mutate();
|
||||
int color = Helper.resolveColor(context, R.attr.colorAccent);
|
||||
icon.setTint(color);
|
||||
if (!menuItem.isEnabled()) {
|
||||
icon.mutate();
|
||||
if (!menuItem.isEnabled())
|
||||
icon.setAlpha(Math.round(Helper.LOW_LIGHT * 255));
|
||||
}
|
||||
}
|
||||
|
||||
int iconSize = context.getResources().getDimensionPixelSize(R.dimen.menu_item_icon_size);
|
||||
|
|
|
@ -500,21 +500,6 @@
|
|||
app:layout_constraintBottom_toTopOf="@+id/style_bar"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/fabTranslate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/fab_padding"
|
||||
android:alpha="0.5"
|
||||
android:contentDescription="@string/title_translate"
|
||||
app:backgroundTint="?attr/colorFabBackground"
|
||||
app:fabSize="mini"
|
||||
app:layout_constraintBottom_toTopOf="@+id/style_bar"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:srcCompat="@drawable/twotone_translate_24"
|
||||
app:tint="?attr/colorFabForeground"
|
||||
app:tooltipText="@string/title_translate" />
|
||||
|
||||
<com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
android:id="@+id/style_bar"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
@ -7,6 +7,12 @@
|
|||
android:title="@string/title_encrypt"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_translate"
|
||||
android:icon="@drawable/twotone_translate_24"
|
||||
android:title="@string/title_translate"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_zoom"
|
||||
android:icon="@drawable/twotone_format_size_24"
|
||||
|
|
Loading…
Reference in New Issue