diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
index 38f4cd5fc3..449b7ab555 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
@@ -27,8 +27,6 @@ import android.graphics.Bitmap;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
-import android.text.Editable;
-import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -39,7 +37,6 @@ import android.view.Window;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.CompoundButton;
-import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.SeekBar;
@@ -127,7 +124,8 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
private TextView tvPreviewLinesHint;
private SwitchCompat swAddresses;
- private EditText etMessageZoom;
+ private TextView tvMessageZoom;
+ private SeekBar sbMessageZoom;
private SwitchCompat swOverviewMode;
private SwitchCompat swContrast;
@@ -247,7 +245,8 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
spPreviewLines = view.findViewById(R.id.spPreviewLines);
tvPreviewLinesHint = view.findViewById(R.id.tvPreviewLinesHint);
swAddresses = view.findViewById(R.id.swAddresses);
- etMessageZoom = view.findViewById(R.id.etMessageZoom);
+ tvMessageZoom = view.findViewById(R.id.tvMessageZoom);
+ sbMessageZoom = view.findViewById(R.id.sbMessageZoom);
swOverviewMode = view.findViewById(R.id.swOverviewMode);
swContrast = view.findViewById(R.id.swContrast);
swMonospaced = view.findViewById(R.id.swMonospaced);
@@ -792,27 +791,24 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
}
});
- etMessageZoom.addTextChangedListener(new TextWatcher() {
+ sbMessageZoom.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- // Do nothing
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ int message_zoom = progress + 50;
+ if (message_zoom == 100)
+ prefs.edit().remove("message_zoom").apply();
+ else
+ prefs.edit().putInt("message_zoom", message_zoom).apply();
+ tvMessageZoom.setText(getString(R.string.title_advanced_message_text_zoom2, NF.format(message_zoom)));
}
@Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- try {
- int zoom = (s.length() > 0 ? Integer.parseInt(s.toString()) : 0);
- if (zoom == 0)
- prefs.edit().remove("message_zoom").apply();
- else
- prefs.edit().putInt("message_zoom", zoom).apply();
- } catch (NumberFormatException ex) {
- Log.e(ex);
- }
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ // Do nothing
}
@Override
- public void afterTextChanged(Editable s) {
+ public void onStopTrackingTouch(SeekBar seekBar) {
// Do nothing
}
});
@@ -1120,8 +1116,11 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
swAddresses.setChecked(prefs.getBoolean("addresses", false));
- int message_zoom = prefs.getInt("message_zoom", 0);
- etMessageZoom.setText(message_zoom == 0 ? null : Integer.toString(message_zoom));
+ int message_zoom = prefs.getInt("message_zoom", 100);
+ tvMessageZoom.setText(getString(R.string.title_advanced_message_text_zoom2, NF.format(message_zoom)));
+ if (message_zoom >= 50 && message_zoom <= 250)
+ sbMessageZoom.setProgress(message_zoom - 50);
+
swOverviewMode.setChecked(prefs.getBoolean("overview_mode", false));
swContrast.setChecked(prefs.getBoolean("contrast", false));
diff --git a/app/src/main/res/layout/fragment_options_display.xml b/app/src/main/res/layout/fragment_options_display.xml
index 0b130b644a..e2edfbc918 100644
--- a/app/src/main/res/layout/fragment_options_display.xml
+++ b/app/src/main/res/layout/fragment_options_display.xml
@@ -1121,35 +1121,23 @@
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginEnd="48dp"
- android:text="@string/title_advanced_message_text_zoom"
+ android:text="@string/title_advanced_message_text_zoom2"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
- android:textColor="?android:attr/textColorPrimary"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swAddresses" />
-
-
-
Expand address details by default
Show attachments after the message text
Show image thumbnails after the message text
- Default message text zoom
+ Default message text zoom: %1$s %%
Zoom original messages to fit the screen
Use high contrast for message text
Use monospaced font for message text by default