зеркало из https://github.com/mozilla/pjs.git
fix 93453 sr=mscott a=asa, stop email autocomplete from adding users domain by default, add option to show non-matched addresses in red
This commit is contained in:
Родитель
e5c4e62d16
Коммит
46d626136f
|
@ -49,7 +49,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
[scriptable, uuid(D3B4A420-D5AC-11d2-806A-006008128C4E)]
|
[scriptable, uuid(2b165a14-1ac1-4c32-8cc5-72e2937d5be9)]
|
||||||
interface nsIMsgIdentity : nsISupports {
|
interface nsIMsgIdentity : nsISupports {
|
||||||
/* internal preferences ID */
|
/* internal preferences ID */
|
||||||
attribute string key;
|
attribute string key;
|
||||||
|
@ -121,6 +121,11 @@ interface nsIMsgIdentity : nsISupports {
|
||||||
attribute boolean showSaveMsgDlg;
|
attribute boolean showSaveMsgDlg;
|
||||||
attribute string directoryServer;
|
attribute string directoryServer;
|
||||||
attribute boolean overrideGlobalPref;
|
attribute boolean overrideGlobalPref;
|
||||||
|
/**
|
||||||
|
* If this is false, don't append the user's domain
|
||||||
|
* to an autocomplete address with no matches
|
||||||
|
*/
|
||||||
|
attribute boolean autocompleteToMyDomain;
|
||||||
/**
|
/**
|
||||||
* valid determines if the UI should use this identity
|
* valid determines if the UI should use this identity
|
||||||
* and the wizard uses this to determine whether or not
|
* and the wizard uses this to determine whether or not
|
||||||
|
|
|
@ -573,6 +573,7 @@ NS_IMPL_FOLDERPREF_STR (StationeryFolder, "stationery_folder")
|
||||||
NS_IMPL_IDPREF_BOOL(ShowSaveMsgDlg, "showSaveMsgDlg")
|
NS_IMPL_IDPREF_BOOL(ShowSaveMsgDlg, "showSaveMsgDlg")
|
||||||
NS_IMPL_IDPREF_STR (DirectoryServer, "directoryServer")
|
NS_IMPL_IDPREF_STR (DirectoryServer, "directoryServer")
|
||||||
NS_IMPL_IDPREF_BOOL(OverrideGlobalPref, "overrideGlobal_Pref")
|
NS_IMPL_IDPREF_BOOL(OverrideGlobalPref, "overrideGlobal_Pref")
|
||||||
|
NS_IMPL_IDPREF_BOOL(AutocompleteToMyDomain, "autocompleteToMyDomain");
|
||||||
|
|
||||||
NS_IMPL_IDPREF_BOOL(Valid, "valid")
|
NS_IMPL_IDPREF_BOOL(Valid, "valid")
|
||||||
|
|
||||||
|
|
|
@ -326,7 +326,7 @@ pref("mail.identity.default.compose_html", true);
|
||||||
pref("mail.identity.default.valid", true);
|
pref("mail.identity.default.valid", true);
|
||||||
pref("mail.identity.default.fcc",true);
|
pref("mail.identity.default.fcc",true);
|
||||||
pref("mail.identity.default.fcc_folder","mailbox://nobody@Local%20Folders/Sent");
|
pref("mail.identity.default.fcc_folder","mailbox://nobody@Local%20Folders/Sent");
|
||||||
|
pref("mail.identity.default.autocompleteToMyDomain", false);
|
||||||
|
|
||||||
// keep these defaults for backwards compatibility and migration
|
// keep these defaults for backwards compatibility and migration
|
||||||
|
|
||||||
|
@ -424,6 +424,8 @@ pref("mail.server.default.manualMarkMode",0); // 0 == "move to junk folder", 1 =
|
||||||
// by changing this pref. Typical values are .99, .95, .90, .5, etc.
|
// by changing this pref. Typical values are .99, .95, .90, .5, etc.
|
||||||
pref("mail.adaptivefilters.junk_threshold", 90);
|
pref("mail.adaptivefilters.junk_threshold", 90);
|
||||||
|
|
||||||
|
pref("mail.autoComplete.highlightNonMatches", true);
|
||||||
|
|
||||||
// if true, we'll use the password from an incoming server with
|
// if true, we'll use the password from an incoming server with
|
||||||
// matching username and domain
|
// matching username and domain
|
||||||
pref("mail.smtp.useMatchingDomainServer", false);
|
pref("mail.smtp.useMatchingDomainServer", false);
|
||||||
|
|
|
@ -136,7 +136,13 @@
|
||||||
<property name="autoFillAfterMatch"
|
<property name="autoFillAfterMatch"
|
||||||
onset="this.setAttribute('autoFillAfterMatch', val); return val;"
|
onset="this.setAttribute('autoFillAfterMatch', val); return val;"
|
||||||
onget="return this.getAttribute('autoFillAfterMatch') == 'true';"/>
|
onget="return this.getAttribute('autoFillAfterMatch') == 'true';"/>
|
||||||
|
|
||||||
|
<!-- if this attribute is set, allow different style for
|
||||||
|
non auto-completed lines -->
|
||||||
|
<property name="highlightNonMatches"
|
||||||
|
onset="this.setAttribute('highlightNonMatches', val); return val;"
|
||||||
|
onget="return this.getAttribute('highlightNonMatches') == 'true';"/>
|
||||||
|
|
||||||
<!-- toggles a second column in the results list which contains
|
<!-- toggles a second column in the results list which contains
|
||||||
the string in the comment field of each autocomplete result -->
|
the string in the comment field of each autocomplete result -->
|
||||||
<property name="showCommentColumn"
|
<property name="showCommentColumn"
|
||||||
|
@ -528,6 +534,7 @@
|
||||||
this.mFailureCount = 0;
|
this.mFailureCount = 0;
|
||||||
this.mFailureItems = 0;
|
this.mFailureItems = 0;
|
||||||
this.mDefaultMatchFilled = false; // clear out our prefill state.
|
this.mDefaultMatchFilled = false; // clear out our prefill state.
|
||||||
|
this.removeAttribute("noMatchesFound");
|
||||||
|
|
||||||
// tell each session to start searching...
|
// tell each session to start searching...
|
||||||
for (var name in this.mSessions)
|
for (var name in this.mSessions)
|
||||||
|
@ -664,6 +671,9 @@
|
||||||
else
|
else
|
||||||
this.removeAttribute("nomatch");
|
this.removeAttribute("nomatch");
|
||||||
|
|
||||||
|
if (!this.mDefaultMatchFilled && this.highlightNonMatches)
|
||||||
|
this.setAttribute("noMatchesFound", true);
|
||||||
|
|
||||||
// if we have processed all of our searches, and none of them gave us a default index,
|
// if we have processed all of our searches, and none of them gave us a default index,
|
||||||
// then we should try to auto fill the input field with the first match.
|
// then we should try to auto fill the input field with the first match.
|
||||||
// note: autoFillInput is smart enough to kick out if we've already prefilled something...
|
// note: autoFillInput is smart enough to kick out if we've already prefilled something...
|
||||||
|
@ -731,6 +741,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.mNeedToComplete = false;
|
this.mNeedToComplete = false;
|
||||||
|
this.removeAttribute("noMatchesFound");
|
||||||
this.clearTimer();
|
this.clearTimer();
|
||||||
|
|
||||||
if (aFireTextCommand)
|
if (aFireTextCommand)
|
||||||
|
@ -831,6 +842,7 @@
|
||||||
var str = this.value;
|
var str = this.value;
|
||||||
this.currentSearchString = str;
|
this.currentSearchString = str;
|
||||||
this.resultsPopup.selectedIndex = null;
|
this.resultsPopup.selectedIndex = null;
|
||||||
|
this.removeAttribute("noMatchesFound");
|
||||||
|
|
||||||
// We want to autocomplete only if the user is editing at the end of the text
|
// We want to autocomplete only if the user is editing at the end of the text
|
||||||
if (this.mInputElt.selectionEnd >= str.length)
|
if (this.mInputElt.selectionEnd >= str.length)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче