mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-11 12:05:06 -05:00
Introduced setting to change the font size of the message preview in the message list.
Fixes issue 2788
This commit is contained in:
parent
605a0bdc93
commit
a1e059e871
@ -79,7 +79,7 @@
|
|||||||
android:layout_marginRight="0dip"
|
android:layout_marginRight="0dip"
|
||||||
android:singleLine="false"
|
android:singleLine="false"
|
||||||
android:bufferType="spannable"
|
android:bufferType="spannable"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorTertiary"
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
@ -124,7 +124,7 @@
|
|||||||
<string name="folder_context_menu_title">Folder options</string>
|
<string name="folder_context_menu_title">Folder options</string>
|
||||||
|
|
||||||
<string name="general_no_subject">(No subject)</string> <!-- Shown in place of the subject when a message has no subject. Showing this in parentheses is customary. -->
|
<string name="general_no_subject">(No subject)</string> <!-- Shown in place of the subject when a message has no subject. Showing this in parentheses is customary. -->
|
||||||
|
<string name="general_no_date">No date</string>
|
||||||
<string name="general_no_sender">No sender</string>
|
<string name="general_no_sender">No sender</string>
|
||||||
<string name="status_loading">Polling</string>
|
<string name="status_loading">Polling</string>
|
||||||
<string name="status_loading_folder">(Poll <xliff:g id="folder">%s</xliff:g><xliff:g id="progress">%s</xliff:g>)</string>
|
<string name="status_loading_folder">(Poll <xliff:g id="folder">%s</xliff:g><xliff:g id="progress">%s</xliff:g>)</string>
|
||||||
@ -937,6 +937,7 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
|
|||||||
<string name="font_size_message_list_subject">Subject</string>
|
<string name="font_size_message_list_subject">Subject</string>
|
||||||
<string name="font_size_message_list_sender">Sender</string>
|
<string name="font_size_message_list_sender">Sender</string>
|
||||||
<string name="font_size_message_list_date">Date</string>
|
<string name="font_size_message_list_date">Date</string>
|
||||||
|
<string name="font_size_message_list_preview">Preview</string>
|
||||||
|
|
||||||
<string name="font_size_message_view">Messages</string>
|
<string name="font_size_message_view">Messages</string>
|
||||||
<string name="font_size_message_view_sender">Sender</string>
|
<string name="font_size_message_view_sender">Sender</string>
|
||||||
|
@ -80,6 +80,14 @@
|
|||||||
android:entryValues="@array/font_values"
|
android:entryValues="@array/font_values"
|
||||||
android:dialogTitle="@string/font_size_message_list_date" />
|
android:dialogTitle="@string/font_size_message_list_date" />
|
||||||
|
|
||||||
|
<ListPreference
|
||||||
|
android:persistent="false"
|
||||||
|
android:key="message_list_preview_font"
|
||||||
|
android:title="@string/font_size_message_list_preview"
|
||||||
|
android:entries="@array/font_entries"
|
||||||
|
android:entryValues="@array/font_values"
|
||||||
|
android:dialogTitle="@string/font_size_message_list_preview" />
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
@ -134,7 +142,7 @@
|
|||||||
android:entryValues="@array/font_values"
|
android:entryValues="@array/font_values"
|
||||||
android:dialogTitle="@string/font_size_message_view_date" />
|
android:dialogTitle="@string/font_size_message_view_date" />
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:key="message_view_additional_headers_font"
|
android:key="message_view_additional_headers_font"
|
||||||
android:title="@string/font_size_message_view_additional_headers"
|
android:title="@string/font_size_message_view_additional_headers"
|
||||||
|
@ -19,6 +19,7 @@ public class FontSizes
|
|||||||
private static final String MESSAGE_LIST_SUBJECT = "fontSizeMessageListSubject";
|
private static final String MESSAGE_LIST_SUBJECT = "fontSizeMessageListSubject";
|
||||||
private static final String MESSAGE_LIST_SENDER = "fontSizeMessageListSender";
|
private static final String MESSAGE_LIST_SENDER = "fontSizeMessageListSender";
|
||||||
private static final String MESSAGE_LIST_DATE = "fontSizeMessageListDate";
|
private static final String MESSAGE_LIST_DATE = "fontSizeMessageListDate";
|
||||||
|
private static final String MESSAGE_LIST_PREVIEW = "fontSizeMessageListPreview";
|
||||||
private static final String MESSAGE_VIEW_SENDER = "fontSizeMessageViewSender";
|
private static final String MESSAGE_VIEW_SENDER = "fontSizeMessageViewSender";
|
||||||
private static final String MESSAGE_VIEW_TO = "fontSizeMessageViewTo";
|
private static final String MESSAGE_VIEW_TO = "fontSizeMessageViewTo";
|
||||||
private static final String MESSAGE_VIEW_CC = "fontSizeMessageViewCC";
|
private static final String MESSAGE_VIEW_CC = "fontSizeMessageViewCC";
|
||||||
@ -75,6 +76,11 @@ public class FontSizes
|
|||||||
*/
|
*/
|
||||||
private int messageListDate;
|
private int messageListDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Font size of message preview in the message list activity.
|
||||||
|
*/
|
||||||
|
private int messageListPreview;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Font size of the message sender in the message view activity.
|
* Font size of the message sender in the message view activity.
|
||||||
*/
|
*/
|
||||||
@ -131,6 +137,7 @@ public class FontSizes
|
|||||||
messageListSubject = SMALL;
|
messageListSubject = SMALL;
|
||||||
messageListSender = SMALL;
|
messageListSender = SMALL;
|
||||||
messageListDate = SMALL;
|
messageListDate = SMALL;
|
||||||
|
messageListPreview = SMALL;
|
||||||
|
|
||||||
messageViewSender = SMALL;
|
messageViewSender = SMALL;
|
||||||
messageViewTo = FONT_12DIP;
|
messageViewTo = FONT_12DIP;
|
||||||
@ -157,6 +164,7 @@ public class FontSizes
|
|||||||
editor.putInt(MESSAGE_LIST_SUBJECT, messageListSubject);
|
editor.putInt(MESSAGE_LIST_SUBJECT, messageListSubject);
|
||||||
editor.putInt(MESSAGE_LIST_SENDER, messageListSender);
|
editor.putInt(MESSAGE_LIST_SENDER, messageListSender);
|
||||||
editor.putInt(MESSAGE_LIST_DATE, messageListDate);
|
editor.putInt(MESSAGE_LIST_DATE, messageListDate);
|
||||||
|
editor.putInt(MESSAGE_LIST_PREVIEW, messageListPreview);
|
||||||
|
|
||||||
editor.putInt(MESSAGE_VIEW_SENDER, messageViewSender);
|
editor.putInt(MESSAGE_VIEW_SENDER, messageViewSender);
|
||||||
editor.putInt(MESSAGE_VIEW_TO, messageViewTo);
|
editor.putInt(MESSAGE_VIEW_TO, messageViewTo);
|
||||||
@ -184,6 +192,7 @@ public class FontSizes
|
|||||||
messageListSubject = prefs.getInt(MESSAGE_LIST_SUBJECT, messageListSubject);
|
messageListSubject = prefs.getInt(MESSAGE_LIST_SUBJECT, messageListSubject);
|
||||||
messageListSender = prefs.getInt(MESSAGE_LIST_SENDER, messageListSender);
|
messageListSender = prefs.getInt(MESSAGE_LIST_SENDER, messageListSender);
|
||||||
messageListDate = prefs.getInt(MESSAGE_LIST_DATE, messageListDate);
|
messageListDate = prefs.getInt(MESSAGE_LIST_DATE, messageListDate);
|
||||||
|
messageListPreview = prefs.getInt(MESSAGE_LIST_PREVIEW, messageListPreview);
|
||||||
|
|
||||||
messageViewSender = prefs.getInt(MESSAGE_VIEW_SENDER, messageViewSender);
|
messageViewSender = prefs.getInt(MESSAGE_VIEW_SENDER, messageViewSender);
|
||||||
messageViewTo = prefs.getInt(MESSAGE_VIEW_TO, messageViewTo);
|
messageViewTo = prefs.getInt(MESSAGE_VIEW_TO, messageViewTo);
|
||||||
@ -265,6 +274,16 @@ public class FontSizes
|
|||||||
this.messageListDate = messageListDate;
|
this.messageListDate = messageListDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMessageListPreview()
|
||||||
|
{
|
||||||
|
return messageListPreview;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessageListPreview(int messageListPreview)
|
||||||
|
{
|
||||||
|
this.messageListPreview = messageListPreview;
|
||||||
|
}
|
||||||
|
|
||||||
public int getMessageViewSender()
|
public int getMessageViewSender()
|
||||||
{
|
{
|
||||||
return messageViewSender;
|
return messageViewSender;
|
||||||
|
@ -13,14 +13,13 @@ import android.app.Dialog;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Color;
|
import android.content.res.ColorStateList;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
import android.text.style.ForegroundColorSpan;
|
import android.text.style.TextAppearanceSpan;
|
||||||
import android.text.style.StyleSpan;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.animation.Animation;
|
import android.view.animation.Animation;
|
||||||
@ -69,12 +68,9 @@ import com.fsck.k9.helper.Utility;
|
|||||||
import com.fsck.k9.mail.Flag;
|
import com.fsck.k9.mail.Flag;
|
||||||
import com.fsck.k9.mail.Folder;
|
import com.fsck.k9.mail.Folder;
|
||||||
import com.fsck.k9.mail.Message;
|
import com.fsck.k9.mail.Message;
|
||||||
import com.fsck.k9.mail.MessagingException;
|
|
||||||
import com.fsck.k9.mail.store.LocalStore;
|
import com.fsck.k9.mail.store.LocalStore;
|
||||||
import com.fsck.k9.mail.store.StorageManager;
|
import com.fsck.k9.mail.store.StorageManager;
|
||||||
import com.fsck.k9.mail.store.LocalStore.LocalFolder;
|
import com.fsck.k9.mail.store.LocalStore.LocalFolder;
|
||||||
import com.fsck.k9.mail.store.LocalStore.LocalMessage;
|
|
||||||
import com.fsck.k9.view.ColorChip;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2665,7 +2661,7 @@ public class MessageList
|
|||||||
if (mTouchView)
|
if (mTouchView)
|
||||||
{
|
{
|
||||||
holder.preview.setLines(mPreviewLines);
|
holder.preview.setLines(mPreviewLines);
|
||||||
holder.preview.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageListSender());
|
holder.preview.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mFontSizes.getMessageListPreview());
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2686,22 +2682,30 @@ public class MessageList
|
|||||||
// hands us an invalid message
|
// hands us an invalid message
|
||||||
|
|
||||||
holder.chip.getBackground().setAlpha(0);
|
holder.chip.getBackground().setAlpha(0);
|
||||||
holder.subject.setText("No subject");
|
holder.subject.setText(getString(R.string.general_no_subject));
|
||||||
holder.subject.setTypeface(null, Typeface.NORMAL);
|
holder.subject.setTypeface(null, Typeface.NORMAL);
|
||||||
|
String noSender = getString(R.string.general_no_sender);
|
||||||
if (holder.preview != null)
|
if (holder.preview != null)
|
||||||
{
|
{
|
||||||
holder.preview.setText("No sender");
|
holder.preview.setText(noSender, TextView.BufferType.SPANNABLE);
|
||||||
holder.preview.setTypeface(null, Typeface.NORMAL);
|
Spannable str = (Spannable) holder.preview.getText();
|
||||||
holder.preview.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
|
|
||||||
|
ColorStateList color = holder.subject.getTextColors();
|
||||||
|
ColorStateList linkColor = holder.subject.getLinkTextColors();
|
||||||
|
str.setSpan(new TextAppearanceSpan(null, Typeface.NORMAL, mFontSizes.getMessageListSender(), color, linkColor),
|
||||||
|
0,
|
||||||
|
noSender.length(),
|
||||||
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
holder.from.setText("No sender");
|
holder.from.setText(noSender);
|
||||||
holder.from.setTypeface(null, Typeface.NORMAL);
|
holder.from.setTypeface(null, Typeface.NORMAL);
|
||||||
holder.from.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
|
holder.from.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
holder.date.setText("No date");
|
holder.date.setText(getString(R.string.general_no_date));
|
||||||
|
|
||||||
//WARNING: Order of the next 2 lines matter
|
//WARNING: Order of the next 2 lines matter
|
||||||
holder.position = -1;
|
holder.position = -1;
|
||||||
@ -2777,21 +2781,19 @@ public class MessageList
|
|||||||
* from.
|
* from.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
holder.preview.setText(new SpannableStringBuilder(recipientSigil(message)).append(message.sender).append(" ").append(message.message.getPreview()),
|
holder.preview.setText(new SpannableStringBuilder(recipientSigil(message))
|
||||||
TextView.BufferType.SPANNABLE);
|
.append(message.sender).append(" ").append(message.message.getPreview()),
|
||||||
|
TextView.BufferType.SPANNABLE);
|
||||||
Spannable str = (Spannable)holder.preview.getText();
|
Spannable str = (Spannable)holder.preview.getText();
|
||||||
|
|
||||||
// Create our span sections, and assign a format to each.
|
// Create a span section for the sender, and assign the correct font size and weight.
|
||||||
str.setSpan(new StyleSpan(senderTypeface),
|
ColorStateList color = holder.subject.getTextColors();
|
||||||
0,
|
ColorStateList linkColor = holder.subject.getLinkTextColors();
|
||||||
(message.sender.length()+1),
|
str.setSpan(new TextAppearanceSpan(null, senderTypeface, mFontSizes.getMessageListSender(), color, linkColor),
|
||||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
|
0,
|
||||||
);
|
message.sender.length() + 1,
|
||||||
str.setSpan(new ForegroundColorSpan(Color.rgb(128,128,128)), // TODO: How do I can specify the android.R.attr.textColorTertiary
|
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||||
(message.sender.length()+1),
|
);
|
||||||
str.length(),
|
|
||||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -29,6 +29,7 @@ public class FontSizeSettings extends K9PreferenceActivity
|
|||||||
private static final String PREFERENCE_MESSAGE_LIST_SUBJECT_FONT = "message_list_subject_font";
|
private static final String PREFERENCE_MESSAGE_LIST_SUBJECT_FONT = "message_list_subject_font";
|
||||||
private static final String PREFERENCE_MESSAGE_LIST_SENDER_FONT = "message_list_sender_font";
|
private static final String PREFERENCE_MESSAGE_LIST_SENDER_FONT = "message_list_sender_font";
|
||||||
private static final String PREFERENCE_MESSAGE_LIST_DATE_FONT = "message_list_date_font";
|
private static final String PREFERENCE_MESSAGE_LIST_DATE_FONT = "message_list_date_font";
|
||||||
|
private static final String PREFERENCE_MESSAGE_LIST_PREVIEW_FONT = "message_list_preview_font";
|
||||||
private static final String PREFERENCE_MESSAGE_VIEW_SENDER_FONT = "message_view_sender_font";
|
private static final String PREFERENCE_MESSAGE_VIEW_SENDER_FONT = "message_view_sender_font";
|
||||||
private static final String PREFERENCE_MESSAGE_VIEW_TO_FONT = "message_view_to_font";
|
private static final String PREFERENCE_MESSAGE_VIEW_TO_FONT = "message_view_to_font";
|
||||||
private static final String PREFERENCE_MESSAGE_VIEW_CC_FONT = "message_view_cc_font";
|
private static final String PREFERENCE_MESSAGE_VIEW_CC_FONT = "message_view_cc_font";
|
||||||
@ -45,6 +46,7 @@ public class FontSizeSettings extends K9PreferenceActivity
|
|||||||
private ListPreference mMessageListSubject;
|
private ListPreference mMessageListSubject;
|
||||||
private ListPreference mMessageListSender;
|
private ListPreference mMessageListSender;
|
||||||
private ListPreference mMessageListDate;
|
private ListPreference mMessageListDate;
|
||||||
|
private ListPreference mMessageListPreview;
|
||||||
private ListPreference mMessageViewSender;
|
private ListPreference mMessageViewSender;
|
||||||
private ListPreference mMessageViewTo;
|
private ListPreference mMessageViewTo;
|
||||||
private ListPreference mMessageViewCC;
|
private ListPreference mMessageViewCC;
|
||||||
@ -97,6 +99,9 @@ public class FontSizeSettings extends K9PreferenceActivity
|
|||||||
mMessageListDate = setupListPreference(
|
mMessageListDate = setupListPreference(
|
||||||
PREFERENCE_MESSAGE_LIST_DATE_FONT,
|
PREFERENCE_MESSAGE_LIST_DATE_FONT,
|
||||||
Integer.toString(fontSizes.getMessageListDate()));
|
Integer.toString(fontSizes.getMessageListDate()));
|
||||||
|
mMessageListPreview = setupListPreference(
|
||||||
|
PREFERENCE_MESSAGE_LIST_PREVIEW_FONT,
|
||||||
|
Integer.toString(fontSizes.getMessageListPreview()));
|
||||||
|
|
||||||
mMessageViewSender = setupListPreference(
|
mMessageViewSender = setupListPreference(
|
||||||
PREFERENCE_MESSAGE_VIEW_SENDER_FONT,
|
PREFERENCE_MESSAGE_VIEW_SENDER_FONT,
|
||||||
@ -141,6 +146,7 @@ public class FontSizeSettings extends K9PreferenceActivity
|
|||||||
fontSizes.setMessageListSubject(Integer.parseInt(mMessageListSubject.getValue()));
|
fontSizes.setMessageListSubject(Integer.parseInt(mMessageListSubject.getValue()));
|
||||||
fontSizes.setMessageListSender(Integer.parseInt(mMessageListSender.getValue()));
|
fontSizes.setMessageListSender(Integer.parseInt(mMessageListSender.getValue()));
|
||||||
fontSizes.setMessageListDate(Integer.parseInt(mMessageListDate.getValue()));
|
fontSizes.setMessageListDate(Integer.parseInt(mMessageListDate.getValue()));
|
||||||
|
fontSizes.setMessageListPreview(Integer.parseInt(mMessageListPreview.getValue()));
|
||||||
|
|
||||||
fontSizes.setMessageViewSender(Integer.parseInt(mMessageViewSender.getValue()));
|
fontSizes.setMessageViewSender(Integer.parseInt(mMessageViewSender.getValue()));
|
||||||
fontSizes.setMessageViewTo(Integer.parseInt(mMessageViewTo.getValue()));
|
fontSizes.setMessageViewTo(Integer.parseInt(mMessageViewTo.getValue()));
|
||||||
|
Loading…
Reference in New Issue
Block a user