зеркало из https://github.com/mozilla/gecko-dev.git
r=sfrasier a=pdt+ fixing plain text mail 33654 see kin@netscape.com
This commit is contained in:
Родитель
f7cec2cb2b
Коммит
9f6d3e1303
|
@ -863,7 +863,7 @@ nsEditorShell::InstantiateEditor(nsIDOMDocument *aDoc, nsIPresShell *aPresShell)
|
||||||
{
|
{
|
||||||
if (mEditorTypeString.EqualsWithConversion("text"))
|
if (mEditorTypeString.EqualsWithConversion("text"))
|
||||||
{
|
{
|
||||||
err = editor->Init(aDoc, aPresShell, nsnull, selCon, nsIHTMLEditor::eEditorPlaintextMask);
|
err = editor->Init(aDoc, aPresShell, nsnull, selCon, nsIHTMLEditor::eEditorPlaintextMask | nsIHTMLEditor::eEditorEnableWrapHackMask);
|
||||||
mEditorType = ePlainTextEditorType;
|
mEditorType = ePlainTextEditorType;
|
||||||
}
|
}
|
||||||
else if (mEditorTypeString.EqualsWithConversion("html") || mEditorTypeString.IsEmpty()) // empty string default to HTML editor
|
else if (mEditorTypeString.EqualsWithConversion("html") || mEditorTypeString.IsEmpty()) // empty string default to HTML editor
|
||||||
|
@ -1822,10 +1822,6 @@ nsEditorShell::SaveDocument(PRBool saveAs, PRBool saveCopy, PRBool *_retval)
|
||||||
// Use page title as suggested name for new document
|
// Use page title as suggested name for new document
|
||||||
if (fileName.Length() == 0 && title.Length() > 0)
|
if (fileName.Length() == 0 && title.Length() > 0)
|
||||||
{
|
{
|
||||||
// Strip out quote character
|
|
||||||
PRUnichar quote = (PRUnichar)'\"';
|
|
||||||
title.StripChar(quote);
|
|
||||||
|
|
||||||
//Replace "bad" filename characteres with "_"
|
//Replace "bad" filename characteres with "_"
|
||||||
PRUnichar space = (PRUnichar)' ';
|
PRUnichar space = (PRUnichar)' ';
|
||||||
PRUnichar dot = (PRUnichar)'.';
|
PRUnichar dot = (PRUnichar)'.';
|
||||||
|
|
|
@ -4657,7 +4657,9 @@ NS_IMETHODIMP nsHTMLEditor::SetBodyWrapWidth(PRInt32 aWrapColumn)
|
||||||
// Make sure we have fixed-width font. This should be done for us,
|
// Make sure we have fixed-width font. This should be done for us,
|
||||||
// but it isn't, see bug 22502, so we have to add "font: monospace;".
|
// but it isn't, see bug 22502, so we have to add "font: monospace;".
|
||||||
// Only do this if we're wrapping.
|
// Only do this if we're wrapping.
|
||||||
if (aWrapColumn >= 0)
|
PRUint32 flags = 0;
|
||||||
|
GetFlags(&flags);
|
||||||
|
if ((flags & eEditorEnableWrapHackMask) && aWrapColumn >= 0)
|
||||||
styleValue.AppendWithConversion("font-family: monospace; ");
|
styleValue.AppendWithConversion("font-family: monospace; ");
|
||||||
|
|
||||||
// and now we're ready to set the new whitespace/wrapping style.
|
// and now we're ready to set the new whitespace/wrapping style.
|
||||||
|
|
|
@ -162,17 +162,19 @@ nsTextEditRules::SetFlags(PRUint32 aFlags)
|
||||||
// a style attribute on it, don't know why.
|
// a style attribute on it, don't know why.
|
||||||
// SetFlags() is really meant to only be called once
|
// SetFlags() is really meant to only be called once
|
||||||
// and at editor init time.
|
// and at editor init time.
|
||||||
if (aFlags & nsIHTMLEditor::eEditorPlaintextMask)
|
|
||||||
{
|
PRBool willBePlaintext = (aFlags & nsIHTMLEditor::eEditorPlaintextMask) != 0;
|
||||||
if (!(mFlags & nsIHTMLEditor::eEditorPlaintextMask))
|
PRBool alreadyPlaintext = (mFlags & nsIHTMLEditor::eEditorPlaintextMask) != 0;
|
||||||
{
|
|
||||||
// Call the editor's SetBodyWrapWidth(), which will
|
|
||||||
// set the styles appropriately for plaintext:
|
|
||||||
mEditor->SetBodyWrapWidth(72);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mFlags = aFlags;
|
mFlags = aFlags;
|
||||||
|
|
||||||
|
if (!alreadyPlaintext && willBePlaintext)
|
||||||
|
{
|
||||||
|
// Call the editor's SetBodyWrapWidth(), which will
|
||||||
|
// set the styles appropriately for plaintext:
|
||||||
|
mEditor->SetBodyWrapWidth(72);
|
||||||
|
}
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -863,7 +863,7 @@ nsEditorShell::InstantiateEditor(nsIDOMDocument *aDoc, nsIPresShell *aPresShell)
|
||||||
{
|
{
|
||||||
if (mEditorTypeString.EqualsWithConversion("text"))
|
if (mEditorTypeString.EqualsWithConversion("text"))
|
||||||
{
|
{
|
||||||
err = editor->Init(aDoc, aPresShell, nsnull, selCon, nsIHTMLEditor::eEditorPlaintextMask);
|
err = editor->Init(aDoc, aPresShell, nsnull, selCon, nsIHTMLEditor::eEditorPlaintextMask | nsIHTMLEditor::eEditorEnableWrapHackMask);
|
||||||
mEditorType = ePlainTextEditorType;
|
mEditorType = ePlainTextEditorType;
|
||||||
}
|
}
|
||||||
else if (mEditorTypeString.EqualsWithConversion("html") || mEditorTypeString.IsEmpty()) // empty string default to HTML editor
|
else if (mEditorTypeString.EqualsWithConversion("html") || mEditorTypeString.IsEmpty()) // empty string default to HTML editor
|
||||||
|
@ -1822,10 +1822,6 @@ nsEditorShell::SaveDocument(PRBool saveAs, PRBool saveCopy, PRBool *_retval)
|
||||||
// Use page title as suggested name for new document
|
// Use page title as suggested name for new document
|
||||||
if (fileName.Length() == 0 && title.Length() > 0)
|
if (fileName.Length() == 0 && title.Length() > 0)
|
||||||
{
|
{
|
||||||
// Strip out quote character
|
|
||||||
PRUnichar quote = (PRUnichar)'\"';
|
|
||||||
title.StripChar(quote);
|
|
||||||
|
|
||||||
//Replace "bad" filename characteres with "_"
|
//Replace "bad" filename characteres with "_"
|
||||||
PRUnichar space = (PRUnichar)' ';
|
PRUnichar space = (PRUnichar)' ';
|
||||||
PRUnichar dot = (PRUnichar)'.';
|
PRUnichar dot = (PRUnichar)'.';
|
||||||
|
|
|
@ -4657,7 +4657,9 @@ NS_IMETHODIMP nsHTMLEditor::SetBodyWrapWidth(PRInt32 aWrapColumn)
|
||||||
// Make sure we have fixed-width font. This should be done for us,
|
// Make sure we have fixed-width font. This should be done for us,
|
||||||
// but it isn't, see bug 22502, so we have to add "font: monospace;".
|
// but it isn't, see bug 22502, so we have to add "font: monospace;".
|
||||||
// Only do this if we're wrapping.
|
// Only do this if we're wrapping.
|
||||||
if (aWrapColumn >= 0)
|
PRUint32 flags = 0;
|
||||||
|
GetFlags(&flags);
|
||||||
|
if ((flags & eEditorEnableWrapHackMask) && aWrapColumn >= 0)
|
||||||
styleValue.AppendWithConversion("font-family: monospace; ");
|
styleValue.AppendWithConversion("font-family: monospace; ");
|
||||||
|
|
||||||
// and now we're ready to set the new whitespace/wrapping style.
|
// and now we're ready to set the new whitespace/wrapping style.
|
||||||
|
|
|
@ -162,17 +162,19 @@ nsTextEditRules::SetFlags(PRUint32 aFlags)
|
||||||
// a style attribute on it, don't know why.
|
// a style attribute on it, don't know why.
|
||||||
// SetFlags() is really meant to only be called once
|
// SetFlags() is really meant to only be called once
|
||||||
// and at editor init time.
|
// and at editor init time.
|
||||||
if (aFlags & nsIHTMLEditor::eEditorPlaintextMask)
|
|
||||||
{
|
PRBool willBePlaintext = (aFlags & nsIHTMLEditor::eEditorPlaintextMask) != 0;
|
||||||
if (!(mFlags & nsIHTMLEditor::eEditorPlaintextMask))
|
PRBool alreadyPlaintext = (mFlags & nsIHTMLEditor::eEditorPlaintextMask) != 0;
|
||||||
{
|
|
||||||
// Call the editor's SetBodyWrapWidth(), which will
|
|
||||||
// set the styles appropriately for plaintext:
|
|
||||||
mEditor->SetBodyWrapWidth(72);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mFlags = aFlags;
|
mFlags = aFlags;
|
||||||
|
|
||||||
|
if (!alreadyPlaintext && willBePlaintext)
|
||||||
|
{
|
||||||
|
// Call the editor's SetBodyWrapWidth(), which will
|
||||||
|
// set the styles appropriately for plaintext:
|
||||||
|
mEditor->SetBodyWrapWidth(72);
|
||||||
|
}
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,7 @@ public:
|
||||||
eEditorMailBit, // use mail-compose editting rules
|
eEditorMailBit, // use mail-compose editting rules
|
||||||
eEditorDisableForcedUpdatesBit, // prevent immediate view refreshes
|
eEditorDisableForcedUpdatesBit, // prevent immediate view refreshes
|
||||||
eEditorDisableForcedReflowsBit, // prevent immediate reflows
|
eEditorDisableForcedReflowsBit, // prevent immediate reflows
|
||||||
|
eEditorEnableWrapHackBit, // allow the editor to set font: monospace on the root node
|
||||||
eEditorWidgetBit // bit for widgets
|
eEditorWidgetBit // bit for widgets
|
||||||
|
|
||||||
// max 32 bits
|
// max 32 bits
|
||||||
|
@ -75,6 +76,7 @@ public:
|
||||||
eEditorMailMask = (1 << eEditorMailBit),
|
eEditorMailMask = (1 << eEditorMailBit),
|
||||||
eEditorDisableForcedUpdatesMask = (1 << eEditorDisableForcedUpdatesBit),
|
eEditorDisableForcedUpdatesMask = (1 << eEditorDisableForcedUpdatesBit),
|
||||||
eEditorDisableForcedReflowsMask = (1 << eEditorDisableForcedReflowsBit),
|
eEditorDisableForcedReflowsMask = (1 << eEditorDisableForcedReflowsBit),
|
||||||
|
eEditorEnableWrapHackMask = (1 << eEditorEnableWrapHackBit),
|
||||||
eEditorWidgetMask = (1 << eEditorWidgetBit)
|
eEditorWidgetMask = (1 << eEditorWidgetBit)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче