diff --git a/res/values/strings.xml b/res/values/strings.xml index b67922533..55f71187e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -322,6 +322,8 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin Message previews Roomier list items with message previews Preview lines + Show correspondent names + Show correspondent names rather than their email addresses Show contact names Use recipient names from Contacts when available Colorize contacts diff --git a/res/xml/global_preferences.xml b/res/xml/global_preferences.xml index fdfdb76aa..5d3fcc241 100644 --- a/res/xml/global_preferences.xml +++ b/res/xml/global_preferences.xml @@ -119,18 +119,29 @@ android:title="@string/global_settings_checkbox_label" android:summary="@string/global_settings_checkbox_summary" /> + + + android:summary="@string/global_settings_show_contact_name_summary" + android:dependency="messagelist_show_correspondent_names" + /> + android:dependency="messagelist_show_contact_name" + /> diff --git a/src/com/fsck/k9/K9.java b/src/com/fsck/k9/K9.java index 8bd3aa548..c1152e9a6 100644 --- a/src/com/fsck/k9/K9.java +++ b/src/com/fsck/k9/K9.java @@ -157,6 +157,7 @@ public class K9 extends Application private static boolean mMessageListTouchable = false; private static int mMessageListPreviewLines = 2; + private static boolean mShowCorrespondentNames = true; private static boolean mShowContactName = false; private static boolean mChangeContactNameColor = false; private static int mContactNameColor = 0xff00008f; @@ -436,6 +437,7 @@ public class K9 extends Application editor.putBoolean("messageListTouchable",mMessageListTouchable); editor.putInt("messageListPreviewLines",mMessageListPreviewLines); + editor.putBoolean("showCorrespondentNames",mShowCorrespondentNames); editor.putBoolean("showContactName",mShowContactName); editor.putBoolean("changeRegisteredNameColor",mChangeContactNameColor); editor.putInt("registeredNameColor",mContactNameColor); @@ -487,6 +489,7 @@ public class K9 extends Application mQuietTimeStarts = sprefs.getString("quietTimeStarts", "21:00" ); mQuietTimeEnds= sprefs.getString("quietTimeEnds", "7:00"); + mShowCorrespondentNames = sprefs.getBoolean("showCorrespondentNames", true); mShowContactName = sprefs.getBoolean("showContactName", false); mChangeContactNameColor = sprefs.getBoolean("changeRegisteredNameColor", false); mContactNameColor = sprefs.getInt("registeredNameColor", 0xff00008f); @@ -890,6 +893,16 @@ public class K9 extends Application mMessageListCheckboxes = checkboxes; } + public static boolean showCorrespondentNames() + { + return mShowCorrespondentNames; + } + + public static void setShowCorrespondentNames(boolean showCorrespondentNames) + { + mShowCorrespondentNames = showCorrespondentNames; + } + public static boolean showContactName() { return mShowContactName; diff --git a/src/com/fsck/k9/activity/setup/Prefs.java b/src/com/fsck/k9/activity/setup/Prefs.java index c81fc6f37..b3071baba 100644 --- a/src/com/fsck/k9/activity/setup/Prefs.java +++ b/src/com/fsck/k9/activity/setup/Prefs.java @@ -57,6 +57,7 @@ public class Prefs extends K9PreferenceActivity private static final String PREFERENCE_MESSAGELIST_PREVIEW_LINES = "messagelist_preview_lines"; private static final String PREFERENCE_MESSAGELIST_STARS = "messagelist_stars"; private static final String PREFERENCE_MESSAGELIST_CHECKBOXES = "messagelist_checkboxes"; + private static final String PREFERENCE_MESSAGELIST_SHOW_CORRESPONDENT_NAMES= "messagelist_show_correspondent_names"; private static final String PREFERENCE_MESSAGELIST_SHOW_CONTACT_NAME = "messagelist_show_contact_name"; private static final String PREFERENCE_MESSAGELIST_CONTACT_NAME_COLOR = "messagelist_contact_name_color"; private static final String PREFERENCE_MESSAGEVIEW_FIXEDWIDTH = "messageview_fixedwidth_font"; @@ -91,6 +92,7 @@ public class Prefs extends K9PreferenceActivity private ListPreference mPreviewLines; private CheckBoxPreference mStars; private CheckBoxPreference mCheckboxes; + private CheckBoxPreference mShowCorrespondentNames; private CheckBoxPreference mShowContactName; private CheckBoxPreference mChangeContactNameColor; private CheckBoxPreference mFixedWidth; @@ -204,6 +206,9 @@ public class Prefs extends K9PreferenceActivity mCheckboxes = (CheckBoxPreference)findPreference(PREFERENCE_MESSAGELIST_CHECKBOXES); mCheckboxes.setChecked(K9.messageListCheckboxes()); + mShowCorrespondentNames = (CheckBoxPreference)findPreference(PREFERENCE_MESSAGELIST_SHOW_CORRESPONDENT_NAMES); + mShowCorrespondentNames.setChecked(K9.showCorrespondentNames()); + mShowContactName = (CheckBoxPreference)findPreference(PREFERENCE_MESSAGELIST_SHOW_CONTACT_NAME); mShowContactName.setChecked(K9.showContactName()); @@ -318,6 +323,7 @@ public class Prefs extends K9PreferenceActivity K9.setMessageListPreviewLines(Integer.parseInt(mPreviewLines.getValue())); K9.setMessageListStars(mStars.isChecked()); K9.setMessageListCheckboxes(mCheckboxes.isChecked()); + K9.setShowCorrespondentNames(mShowCorrespondentNames.isChecked()); K9.setShowContactName(mShowContactName.isChecked()); K9.setChangeContactNameColor(mChangeContactNameColor.isChecked()); K9.setMessageViewFixedWidthFont(mFixedWidth.isChecked()); diff --git a/src/com/fsck/k9/mail/Address.java b/src/com/fsck/k9/mail/Address.java index 64a50757a..89d4f0866 100644 --- a/src/com/fsck/k9/mail/Address.java +++ b/src/com/fsck/k9/mail/Address.java @@ -268,7 +268,12 @@ public class Address */ public CharSequence toFriendly(final Contacts contacts) { - if (contacts != null) + if (!K9.showCorrespondentNames()) + { + return mAddress; + + } + else if (contacts != null) { final String name = contacts.getNameForAddress(mAddress);