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);