mirror of
https://github.com/moparisthebest/k-9
synced 2024-12-25 17:18:50 -05:00
Added account preference to display quoted text.
This commit is contained in:
parent
5d6df85aac
commit
ce9b280746
@ -564,6 +564,9 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
|
|||||||
|
|
||||||
<string name="account_settings_composition">Sending mail</string>
|
<string name="account_settings_composition">Sending mail</string>
|
||||||
|
|
||||||
|
<string name="account_settings_default_quoted_text_shown_label">Show quoted text by default</string>
|
||||||
|
<string name="account_settings_default_quoted_text_shown_summary">When replying to messages, the original message is in your reply.</string>
|
||||||
|
|
||||||
<string name="account_settings_reply_after_quote_label">Reply after quoted text</string>
|
<string name="account_settings_reply_after_quote_label">Reply after quoted text</string>
|
||||||
<string name="account_settings_reply_after_quote_summary">When replying to messages, the original message will appear above your reply.</string>
|
<string name="account_settings_reply_after_quote_summary">When replying to messages, the original message will appear above your reply.</string>
|
||||||
|
|
||||||
|
@ -239,6 +239,13 @@
|
|||||||
android:entries="@array/account_settings_quote_style_entries"
|
android:entries="@array/account_settings_quote_style_entries"
|
||||||
android:entryValues="@array/account_settings_quote_style_values" />
|
android:entryValues="@array/account_settings_quote_style_values" />
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:persistent="false"
|
||||||
|
android:key="default_quoted_text_shown"
|
||||||
|
android:title="@string/account_settings_default_quoted_text_shown_label"
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:summary="@string/account_settings_default_quoted_text_shown_summary" />
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:key="reply_after_quote"
|
android:key="reply_after_quote"
|
||||||
|
@ -60,6 +60,7 @@ public class Account implements BaseAccount {
|
|||||||
private static final MessageFormat DEFAULT_MESSAGE_FORMAT = MessageFormat.HTML;
|
private static final MessageFormat DEFAULT_MESSAGE_FORMAT = MessageFormat.HTML;
|
||||||
private static final QuoteStyle DEFAULT_QUOTE_STYLE = QuoteStyle.PREFIX;
|
private static final QuoteStyle DEFAULT_QUOTE_STYLE = QuoteStyle.PREFIX;
|
||||||
private static final String DEFAULT_QUOTE_PREFIX = ">";
|
private static final String DEFAULT_QUOTE_PREFIX = ">";
|
||||||
|
private static final boolean DEFAULT_QUOTED_TEXT_SHOWN = true;
|
||||||
private static final boolean DEFAULT_REPLY_AFTER_QUOTE = false;
|
private static final boolean DEFAULT_REPLY_AFTER_QUOTE = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -126,6 +127,7 @@ public class Account implements BaseAccount {
|
|||||||
private MessageFormat mMessageFormat;
|
private MessageFormat mMessageFormat;
|
||||||
private QuoteStyle mQuoteStyle;
|
private QuoteStyle mQuoteStyle;
|
||||||
private String mQuotePrefix;
|
private String mQuotePrefix;
|
||||||
|
private boolean mDefaultQuotedTextShown;
|
||||||
private boolean mReplyAfterQuote;
|
private boolean mReplyAfterQuote;
|
||||||
private boolean mSyncRemoteDeletions;
|
private boolean mSyncRemoteDeletions;
|
||||||
private String mCryptoApp;
|
private String mCryptoApp;
|
||||||
@ -203,6 +205,7 @@ public class Account implements BaseAccount {
|
|||||||
mMessageFormat = DEFAULT_MESSAGE_FORMAT;
|
mMessageFormat = DEFAULT_MESSAGE_FORMAT;
|
||||||
mQuoteStyle = DEFAULT_QUOTE_STYLE;
|
mQuoteStyle = DEFAULT_QUOTE_STYLE;
|
||||||
mQuotePrefix = DEFAULT_QUOTE_PREFIX;
|
mQuotePrefix = DEFAULT_QUOTE_PREFIX;
|
||||||
|
mDefaultQuotedTextShown = DEFAULT_QUOTED_TEXT_SHOWN;
|
||||||
mReplyAfterQuote = DEFAULT_REPLY_AFTER_QUOTE;
|
mReplyAfterQuote = DEFAULT_REPLY_AFTER_QUOTE;
|
||||||
mSyncRemoteDeletions = true;
|
mSyncRemoteDeletions = true;
|
||||||
mCryptoApp = Apg.NAME;
|
mCryptoApp = Apg.NAME;
|
||||||
@ -276,6 +279,7 @@ public class Account implements BaseAccount {
|
|||||||
mMessageFormat = MessageFormat.valueOf(prefs.getString(mUuid + ".messageFormat", DEFAULT_MESSAGE_FORMAT.name()));
|
mMessageFormat = MessageFormat.valueOf(prefs.getString(mUuid + ".messageFormat", DEFAULT_MESSAGE_FORMAT.name()));
|
||||||
mQuoteStyle = QuoteStyle.valueOf(prefs.getString(mUuid + ".quoteStyle", DEFAULT_QUOTE_STYLE.name()));
|
mQuoteStyle = QuoteStyle.valueOf(prefs.getString(mUuid + ".quoteStyle", DEFAULT_QUOTE_STYLE.name()));
|
||||||
mQuotePrefix = prefs.getString(mUuid + ".quotePrefix", DEFAULT_QUOTE_PREFIX);
|
mQuotePrefix = prefs.getString(mUuid + ".quotePrefix", DEFAULT_QUOTE_PREFIX);
|
||||||
|
mDefaultQuotedTextShown = prefs.getBoolean(mUuid + ".defaultQuotedTextShown", DEFAULT_QUOTED_TEXT_SHOWN);
|
||||||
mReplyAfterQuote = prefs.getBoolean(mUuid + ".replyAfterQuote", DEFAULT_REPLY_AFTER_QUOTE);
|
mReplyAfterQuote = prefs.getBoolean(mUuid + ".replyAfterQuote", DEFAULT_REPLY_AFTER_QUOTE);
|
||||||
for (String type : networkTypes) {
|
for (String type : networkTypes) {
|
||||||
Boolean useCompression = prefs.getBoolean(mUuid + ".useCompression." + type,
|
Boolean useCompression = prefs.getBoolean(mUuid + ".useCompression." + type,
|
||||||
@ -527,6 +531,7 @@ public class Account implements BaseAccount {
|
|||||||
editor.putString(mUuid + ".messageFormat", mMessageFormat.name());
|
editor.putString(mUuid + ".messageFormat", mMessageFormat.name());
|
||||||
editor.putString(mUuid + ".quoteStyle", mQuoteStyle.name());
|
editor.putString(mUuid + ".quoteStyle", mQuoteStyle.name());
|
||||||
editor.putString(mUuid + ".quotePrefix", mQuotePrefix);
|
editor.putString(mUuid + ".quotePrefix", mQuotePrefix);
|
||||||
|
editor.putBoolean(mUuid + ".defaultQuotedTextShown", mDefaultQuotedTextShown);
|
||||||
editor.putBoolean(mUuid + ".replyAfterQuote", mReplyAfterQuote);
|
editor.putBoolean(mUuid + ".replyAfterQuote", mReplyAfterQuote);
|
||||||
editor.putString(mUuid + ".cryptoApp", mCryptoApp);
|
editor.putString(mUuid + ".cryptoApp", mCryptoApp);
|
||||||
editor.putBoolean(mUuid + ".cryptoAutoSignature", mCryptoAutoSignature);
|
editor.putBoolean(mUuid + ".cryptoAutoSignature", mCryptoAutoSignature);
|
||||||
@ -1283,6 +1288,14 @@ public class Account implements BaseAccount {
|
|||||||
mQuotePrefix = quotePrefix;
|
mQuotePrefix = quotePrefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public synchronized boolean isDefaultQuotedTextShown() {
|
||||||
|
return mDefaultQuotedTextShown;
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized void setDefaultQuotedTextShown(boolean shown) {
|
||||||
|
mDefaultQuotedTextShown = shown;
|
||||||
|
}
|
||||||
|
|
||||||
public synchronized boolean isReplyAfterQuote() {
|
public synchronized boolean isReplyAfterQuote() {
|
||||||
return mReplyAfterQuote;
|
return mReplyAfterQuote;
|
||||||
}
|
}
|
||||||
|
@ -1966,7 +1966,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Quote the message and setup the UI.
|
// Quote the message and setup the UI.
|
||||||
populateUIWithQuotedMessage();
|
populateUIWithQuotedMessage(mAccount.isDefaultQuotedTextShown());
|
||||||
|
|
||||||
if (ACTION_REPLY_ALL.equals(action) || ACTION_REPLY.equals(action)) {
|
if (ACTION_REPLY_ALL.equals(action) || ACTION_REPLY.equals(action)) {
|
||||||
Identity useIdentity = null;
|
Identity useIdentity = null;
|
||||||
@ -2021,7 +2021,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Quote the message and setup the UI.
|
// Quote the message and setup the UI.
|
||||||
populateUIWithQuotedMessage();
|
populateUIWithQuotedMessage(true);
|
||||||
|
|
||||||
if (!mSourceMessageProcessed) {
|
if (!mSourceMessageProcessed) {
|
||||||
if (!loadAttachments(message, 0)) {
|
if (!loadAttachments(message, 0)) {
|
||||||
@ -2218,7 +2218,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc
|
|||||||
* Build and populate the UI with the quoted message.
|
* Build and populate the UI with the quoted message.
|
||||||
* @throws MessagingException
|
* @throws MessagingException
|
||||||
*/
|
*/
|
||||||
private void populateUIWithQuotedMessage() throws MessagingException {
|
private void populateUIWithQuotedMessage(boolean shown) throws MessagingException {
|
||||||
// TODO -- I am assuming that mSourceMessageBody will always be a text part. Is this a safe assumption?
|
// TODO -- I am assuming that mSourceMessageBody will always be a text part. Is this a safe assumption?
|
||||||
|
|
||||||
// Handle the original message in the reply
|
// Handle the original message in the reply
|
||||||
@ -2232,12 +2232,16 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc
|
|||||||
// Load the message with the reply header.
|
// Load the message with the reply header.
|
||||||
mQuotedHTML.loadDataWithBaseURL("http://", mQuotedHtmlContent.getQuotedContent(), "text/html", "utf-8", null);
|
mQuotedHTML.loadDataWithBaseURL("http://", mQuotedHtmlContent.getQuotedContent(), "text/html", "utf-8", null);
|
||||||
|
|
||||||
showOrHideQuotedText(QuotedTextMode.SHOW);
|
|
||||||
} else if (mMessageFormat == MessageFormat.TEXT) {
|
} else if (mMessageFormat == MessageFormat.TEXT) {
|
||||||
mQuotedText.setText(quoteOriginalTextMessage(mSourceMessage, content, mAccount.getQuoteStyle()));
|
mQuotedText.setText(quoteOriginalTextMessage(mSourceMessage, content, mAccount.getQuoteStyle()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shown) {
|
||||||
showOrHideQuotedText(QuotedTextMode.SHOW);
|
showOrHideQuotedText(QuotedTextMode.SHOW);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
showOrHideQuotedText(QuotedTextMode.HIDE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2448,7 +2452,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc
|
|||||||
// part).
|
// part).
|
||||||
if (mSourceProcessed) {
|
if (mSourceProcessed) {
|
||||||
try {
|
try {
|
||||||
populateUIWithQuotedMessage();
|
populateUIWithQuotedMessage(true);
|
||||||
} catch (MessagingException e) {
|
} catch (MessagingException e) {
|
||||||
// Hm, if we couldn't populate the UI after source reprocessing, let's just delete it?
|
// Hm, if we couldn't populate the UI after source reprocessing, let's just delete it?
|
||||||
showOrHideQuotedText(QuotedTextMode.HIDE);
|
showOrHideQuotedText(QuotedTextMode.HIDE);
|
||||||
|
@ -88,6 +88,7 @@ public class AccountSettings extends K9PreferenceActivity {
|
|||||||
private static final String PREFERENCE_MESSAGE_FORMAT = "message_format";
|
private static final String PREFERENCE_MESSAGE_FORMAT = "message_format";
|
||||||
private static final String PREFERENCE_QUOTE_PREFIX = "account_quote_prefix";
|
private static final String PREFERENCE_QUOTE_PREFIX = "account_quote_prefix";
|
||||||
private static final String PREFERENCE_QUOTE_STYLE = "quote_style";
|
private static final String PREFERENCE_QUOTE_STYLE = "quote_style";
|
||||||
|
private static final String PREFERENCE_DEFAULT_QUOTED_TEXT_SHOWN = "default_quoted_text_shown";
|
||||||
private static final String PREFERENCE_REPLY_AFTER_QUOTE = "reply_after_quote";
|
private static final String PREFERENCE_REPLY_AFTER_QUOTE = "reply_after_quote";
|
||||||
private static final String PREFERENCE_SYNC_REMOTE_DELETIONS = "account_sync_remote_deletetions";
|
private static final String PREFERENCE_SYNC_REMOTE_DELETIONS = "account_sync_remote_deletetions";
|
||||||
private static final String PREFERENCE_CRYPTO_APP = "crypto_app";
|
private static final String PREFERENCE_CRYPTO_APP = "crypto_app";
|
||||||
@ -145,6 +146,7 @@ public class AccountSettings extends K9PreferenceActivity {
|
|||||||
private ListPreference mMessageFormat;
|
private ListPreference mMessageFormat;
|
||||||
private ListPreference mQuoteStyle;
|
private ListPreference mQuoteStyle;
|
||||||
private EditTextPreference mAccountQuotePrefix;
|
private EditTextPreference mAccountQuotePrefix;
|
||||||
|
private CheckBoxPreference mAccountDefaultQuotedTextShown;
|
||||||
private CheckBoxPreference mReplyAfterQuote;
|
private CheckBoxPreference mReplyAfterQuote;
|
||||||
private CheckBoxPreference mSyncRemoteDeletions;
|
private CheckBoxPreference mSyncRemoteDeletions;
|
||||||
private CheckBoxPreference mSaveAllHeaders;
|
private CheckBoxPreference mSaveAllHeaders;
|
||||||
@ -226,6 +228,9 @@ public class AccountSettings extends K9PreferenceActivity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
mAccountDefaultQuotedTextShown = (CheckBoxPreference) findPreference(PREFERENCE_DEFAULT_QUOTED_TEXT_SHOWN);
|
||||||
|
mAccountDefaultQuotedTextShown.setChecked(mAccount.isDefaultQuotedTextShown());
|
||||||
|
|
||||||
mReplyAfterQuote = (CheckBoxPreference) findPreference(PREFERENCE_REPLY_AFTER_QUOTE);
|
mReplyAfterQuote = (CheckBoxPreference) findPreference(PREFERENCE_REPLY_AFTER_QUOTE);
|
||||||
mReplyAfterQuote.setChecked(mAccount.isReplyAfterQuote());
|
mReplyAfterQuote.setChecked(mAccount.isReplyAfterQuote());
|
||||||
|
|
||||||
@ -695,6 +700,7 @@ public class AccountSettings extends K9PreferenceActivity {
|
|||||||
mAccount.setMessageFormat(Account.MessageFormat.valueOf(mMessageFormat.getValue()));
|
mAccount.setMessageFormat(Account.MessageFormat.valueOf(mMessageFormat.getValue()));
|
||||||
mAccount.setQuoteStyle(QuoteStyle.valueOf(mQuoteStyle.getValue()));
|
mAccount.setQuoteStyle(QuoteStyle.valueOf(mQuoteStyle.getValue()));
|
||||||
mAccount.setQuotePrefix(mAccountQuotePrefix.getText());
|
mAccount.setQuotePrefix(mAccountQuotePrefix.getText());
|
||||||
|
mAccount.setDefaultQuotedTextShown(mAccountDefaultQuotedTextShown.isChecked());
|
||||||
mAccount.setReplyAfterQuote(mReplyAfterQuote.isChecked());
|
mAccount.setReplyAfterQuote(mReplyAfterQuote.isChecked());
|
||||||
mAccount.setCryptoApp(mCryptoApp.getValue());
|
mAccount.setCryptoApp(mCryptoApp.getValue());
|
||||||
mAccount.setCryptoAutoSignature(mCryptoAutoSignature.isChecked());
|
mAccount.setCryptoAutoSignature(mCryptoAutoSignature.isChecked());
|
||||||
|
Loading…
Reference in New Issue
Block a user