mirror of https://github.com/M66B/FairEmail.git
Added option to highlight unread messages
This commit is contained in:
parent
d21113bcd1
commit
a70c5456e2
|
@ -3011,13 +3011,19 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||||
this.colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
|
this.colorAccent = Helper.resolveColor(context, R.attr.colorAccent);
|
||||||
this.textColorPrimary = Helper.resolveColor(context, android.R.attr.textColorPrimary);
|
this.textColorPrimary = Helper.resolveColor(context, android.R.attr.textColorPrimary);
|
||||||
this.textColorSecondary = Helper.resolveColor(context, android.R.attr.textColorSecondary);
|
this.textColorSecondary = Helper.resolveColor(context, android.R.attr.textColorSecondary);
|
||||||
|
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
boolean highlight_unread = prefs.getBoolean("highlight_unread", false);
|
||||||
|
|
||||||
|
if (highlight_unread)
|
||||||
this.colorUnread = Helper.resolveColor(context, R.attr.colorUnread);
|
this.colorUnread = Helper.resolveColor(context, R.attr.colorUnread);
|
||||||
|
else
|
||||||
|
this.colorUnread = this.textColorPrimary;
|
||||||
|
|
||||||
this.hasWebView = Helper.hasWebView(context);
|
this.hasWebView = Helper.hasWebView(context);
|
||||||
this.contacts = Helper.hasPermission(context, Manifest.permission.READ_CONTACTS);
|
this.contacts = Helper.hasPermission(context, Manifest.permission.READ_CONTACTS);
|
||||||
this.textSize = Helper.getTextSize(context, zoom);
|
this.textSize = Helper.getTextSize(context, zoom);
|
||||||
|
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
|
||||||
this.date = prefs.getBoolean("date", true);
|
this.date = prefs.getBoolean("date", true);
|
||||||
this.threading = prefs.getBoolean("threading", true);
|
this.threading = prefs.getBoolean("threading", true);
|
||||||
this.name_email = prefs.getBoolean("name_email", !compact);
|
this.name_email = prefs.getBoolean("name_email", !compact);
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class FragmentOptions extends FragmentBase {
|
||||||
private PagerAdapter adapter;
|
private PagerAdapter adapter;
|
||||||
|
|
||||||
static String[] OPTIONS_RESTART = new String[]{
|
static String[] OPTIONS_RESTART = new String[]{
|
||||||
"startup", "cards", "date", "threading", "avatars", "generated_icons", "identicons", "circular", "name_email", "subject_italic", "flags", "preview", "preview_italic",
|
"startup", "cards", "date", "threading", "highlight_unread", "avatars", "generated_icons", "identicons", "circular", "name_email", "subject_italic", "flags", "preview", "preview_italic",
|
||||||
"addresses", "attachments_alt", "contrast", "monospaced", "inline_images", "contact_images", "all_images", "collapse_quotes", "autocontent", "actionbar",
|
"addresses", "attachments_alt", "contrast", "monospaced", "inline_images", "contact_images", "all_images", "collapse_quotes", "autocontent", "actionbar",
|
||||||
"autoscroll", "swipenav", "autoexpand", "autoclose", "onclose",
|
"autoscroll", "swipenav", "autoexpand", "autoclose", "onclose",
|
||||||
"subscriptions", "debug",
|
"subscriptions", "debug",
|
||||||
|
|
|
@ -47,6 +47,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
||||||
private SwitchCompat swCards;
|
private SwitchCompat swCards;
|
||||||
private SwitchCompat swDate;
|
private SwitchCompat swDate;
|
||||||
private SwitchCompat swThreading;
|
private SwitchCompat swThreading;
|
||||||
|
private SwitchCompat swHighlightUnread;
|
||||||
private SwitchCompat swAvatars;
|
private SwitchCompat swAvatars;
|
||||||
private SwitchCompat swGeneratedIcons;
|
private SwitchCompat swGeneratedIcons;
|
||||||
private SwitchCompat swIdenticons;
|
private SwitchCompat swIdenticons;
|
||||||
|
@ -69,7 +70,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
||||||
private SwitchCompat swActionbar;
|
private SwitchCompat swActionbar;
|
||||||
|
|
||||||
private final static String[] RESET_OPTIONS = new String[]{
|
private final static String[] RESET_OPTIONS = new String[]{
|
||||||
"theme", "startup", "cards", "date", "threading", "avatars", "generated_icons", "identicons", "circular", "name_email", "subject_italic",
|
"theme", "startup", "cards", "date", "threading", "highlight_unread", "avatars", "generated_icons", "identicons", "circular", "name_email", "subject_italic",
|
||||||
"flags", "preview", "preview_italic", "addresses", "attachments_alt",
|
"flags", "preview", "preview_italic", "addresses", "attachments_alt",
|
||||||
"contrast", "monospaced", "inline_images", "contact_images", "all_images", "collapse_quotes", "autocontent", "actionbar",
|
"contrast", "monospaced", "inline_images", "contact_images", "all_images", "collapse_quotes", "autocontent", "actionbar",
|
||||||
};
|
};
|
||||||
|
@ -89,6 +90,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
||||||
swCards = view.findViewById(R.id.swCards);
|
swCards = view.findViewById(R.id.swCards);
|
||||||
swDate = view.findViewById(R.id.swDate);
|
swDate = view.findViewById(R.id.swDate);
|
||||||
swThreading = view.findViewById(R.id.swThreading);
|
swThreading = view.findViewById(R.id.swThreading);
|
||||||
|
swHighlightUnread = view.findViewById(R.id.swHighlightUnread);
|
||||||
swAvatars = view.findViewById(R.id.swAvatars);
|
swAvatars = view.findViewById(R.id.swAvatars);
|
||||||
swGeneratedIcons = view.findViewById(R.id.swGeneratedIcons);
|
swGeneratedIcons = view.findViewById(R.id.swGeneratedIcons);
|
||||||
swIdenticons = view.findViewById(R.id.swIdenticons);
|
swIdenticons = view.findViewById(R.id.swIdenticons);
|
||||||
|
@ -156,6 +158,13 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
swHighlightUnread.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||||
|
prefs.edit().putBoolean("highlight_unread", checked).apply();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
swAvatars.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
swAvatars.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||||
|
@ -353,6 +362,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
||||||
swCards.setChecked(prefs.getBoolean("cards", true));
|
swCards.setChecked(prefs.getBoolean("cards", true));
|
||||||
swDate.setChecked(prefs.getBoolean("date", true));
|
swDate.setChecked(prefs.getBoolean("date", true));
|
||||||
swThreading.setChecked(prefs.getBoolean("threading", true));
|
swThreading.setChecked(prefs.getBoolean("threading", true));
|
||||||
|
swHighlightUnread.setChecked(prefs.getBoolean("highlight_unread", false));
|
||||||
swAvatars.setChecked(prefs.getBoolean("avatars", true));
|
swAvatars.setChecked(prefs.getBoolean("avatars", true));
|
||||||
swGeneratedIcons.setChecked(prefs.getBoolean("generated_icons", true));
|
swGeneratedIcons.setChecked(prefs.getBoolean("generated_icons", true));
|
||||||
swIdenticons.setChecked(prefs.getBoolean("identicons", false));
|
swIdenticons.setChecked(prefs.getBoolean("identicons", false));
|
||||||
|
|
|
@ -99,6 +99,18 @@
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/swThreading" />
|
app:layout_constraintTop_toBottomOf="@id/swThreading" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
|
android:id="@+id/swHighlightUnread"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:checked="true"
|
||||||
|
android:text="@string/title_advanced_highlight_unread"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/tvThreadingHint"
|
||||||
|
app:switchPadding="12dp" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
android:id="@+id/swAvatars"
|
android:id="@+id/swAvatars"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
@ -108,7 +120,7 @@
|
||||||
android:text="@string/title_advanced_avatars"
|
android:text="@string/title_advanced_avatars"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tvThreadingHint"
|
app:layout_constraintTop_toBottomOf="@id/swHighlightUnread"
|
||||||
app:switchPadding="12dp" />
|
app:switchPadding="12dp" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.SwitchCompat
|
<androidx.appcompat.widget.SwitchCompat
|
||||||
|
|
|
@ -216,6 +216,7 @@
|
||||||
<string name="title_advanced_cards">Show cards</string>
|
<string name="title_advanced_cards">Show cards</string>
|
||||||
<string name="title_advanced_date_header">Group by date</string>
|
<string name="title_advanced_date_header">Group by date</string>
|
||||||
<string name="title_advanced_threading">Conversation threading</string>
|
<string name="title_advanced_threading">Conversation threading</string>
|
||||||
|
<string name="title_advanced_highlight_unread">Highlight unread messages</string>
|
||||||
<string name="title_advanced_avatars">Show contact photos</string>
|
<string name="title_advanced_avatars">Show contact photos</string>
|
||||||
<string name="title_advanced_generated_icons">Show generated icons</string>
|
<string name="title_advanced_generated_icons">Show generated icons</string>
|
||||||
<string name="title_advanced_identicons">Show identicons</string>
|
<string name="title_advanced_identicons">Show identicons</string>
|
||||||
|
|
Loading…
Reference in New Issue