bug 321000 - search bar should replace newlines in pasted text with spaces. r=gavin a=mconnor

This commit is contained in:
ted.mielczarek@gmail.com 2007-09-17 18:08:33 -07:00
parent 6fe03ffba7
commit 5f7cf73977
3 changed files with 25 additions and 19 deletions

View File

@ -283,7 +283,8 @@
<toolbaritem id="search-container" title="&searchItem.title;"
align="center" class="chromeclass-toolbar-additional"
flex="100" persist="width">
<searchbar id="searchbar" flex="1" chromedir="&locale.dir;"/>
<searchbar id="searchbar" flex="1" chromedir="&locale.dir;"
newlines="replacewithspaces"/>
</toolbaritem>
<toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"

View File

@ -98,7 +98,7 @@
completeselectedindex="true"
showcommentcolumn="true"
tabscrolling="true"
xbl:inherits="disabled,disableautocomplete,searchengine,src">
xbl:inherits="disabled,disableautocomplete,searchengine,src,newlines">
</xul:textbox>
</xul:hbox>

View File

@ -113,29 +113,34 @@
</body>
</method>
<method name="_setNewlineHandling">
<body><![CDATA[
var str = this.getAttribute("newlines");
if (str) {
const nsIPlaintextEditor = Components.interfaces.nsIPlaintextEditor;
for (var x in nsIPlaintextEditor) {
if (/^eNewlines/.test(x)) {
if (str == RegExp.rightContext.toLowerCase()) {
this.editor.QueryInterface(nsIPlaintextEditor)
.newlineHandling = nsIPlaintextEditor[x];
break;
}
}
}
}
]]></body>
</method>
<constructor><![CDATA[
var str = this.boxObject.getProperty("value");
if (str) {
this.inputField.value = str;
this.boxObject.removeProperty("value");
}
#ifndef MOZILLA_1_8_BRANCH
# bug 253481
str = this.getAttribute("newlines");
if (str) {
const nsIPlaintextEditor = Components.interfaces.nsIPlaintextEditor;
for (var x in nsIPlaintextEditor) {
if (/^eNewlines/.test(x)) {
if (str == RegExp.rightContext.toLowerCase()) {
this.editor.QueryInterface(nsIPlaintextEditor)
.newlineHandling = nsIPlaintextEditor[x];
break;
}
}
}
}
#endif
// this.editor may not be initialized yet in
// bindings that inherit from xul:textbox, so
// do this after construction
setTimeout(function (a) { a._setNewlineHandling(); }, 0, this);
]]></constructor>
<destructor>