bug 197108, land chatzilla 0.8.25, chatzilla only

160295 chatzilla doesn't display nicknames in userlist when the
194184 nickname change doesn't affect screenname
194287 ChatZilla alters taken nickname only at the very first at
169804 Blank text area + Crtl+Enter in multi-text mode shows you
162251 Chatzilla doesnt start maximized
178313 /names command fails to show output for other channels
196265 message type([info],[error]) auto wrapped after localizat
197024 Multi/Single-line input mode ought to be configurable in
198843 Spelling mistake in Prefs > Chatzilla > Stalking
This commit is contained in:
rginda%netscape.com 2003-03-25 22:23:50 +00:00
parent 62a396738d
commit f3ce92e97f
7 changed files with 41 additions and 25 deletions

View File

@ -125,8 +125,6 @@ function net_conenct()
if ("primServ" in this && this.primServ.connection.isConnected)
return;
this.connecting = true; /* connection is considered "made" when serve
* sends a 001 message (see server.on001) */
this.connectAttempt = 0;
this.nextHost = 0;
var ev = new CEvent ("network", "do-connect", this, "onDoConnect");
@ -163,6 +161,9 @@ function net_doconnect(e)
return false;
}
this.connecting = true; /* connection is considered "made" when serve
* sends a 001 message (see server.on001) */
try
{
c = new CBSConnection();
@ -822,7 +823,8 @@ function serv_001 (e)
*/
if (e.params[1] != e.server.me.properNick)
{
renameProperty (e.server.users, e.server.me.nick, e.params[1]);
renameProperty (e.server.users, e.server.me.nick,
e.params[1].toLowerCase());
e.server.me.changeNick(e.params[1]);
}

View File

@ -39,7 +39,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
orient="vertical" onload="onLoad();" onunload="onUnload();"
onclose="return onClose();" onmouseover="onMouseOver(event);"
persist="width height screenX screenY" windowtype="irc:chatzilla">
persist="width height screenX screenY sizemode" windowtype="irc:chatzilla">
<overlaytarget id="scripts-overlay-target"/>
<overlaytarget id="menu-overlay-target"/>

View File

@ -698,6 +698,8 @@ function onMultilineSend(e)
{
var multiline = document.getElementById("multiline-input");
e.line = multiline.value;
if (e.line.search(/\S/) == -1)
return;
onInputCompleteLine (e);
multiline.value = "";
}
@ -1620,9 +1622,10 @@ function cli_inames (e)
return false;
}
var encodeName = fromUnicode(e.inputData + " ");
encodeName = encodeName.substr(0, encodeName.length -1);
chan = encodeName;
var encodedName = fromUnicode(e.inputData + " ",
client.currentObject.charset);
encodedName = encodedName.substr(0, encodedName.length -1);
chan = encodedName;
}
else
@ -1633,7 +1636,7 @@ function cli_inames (e)
return false;
}
chan = e.channel.name;
chan = e.channel.encodedName;
}
client.currentObject.pendingNamesReply = true;
@ -3196,10 +3199,10 @@ function my_366 (e)
/* redisplay the tree */
client.rdf.setTreeRoot("user-list", this.getGraphResource());
if ("pendingNamesReply" in e.channel)
{
display (e.params[3], "366");
e.channel.pendingNamesReply = false;
if ("pendingNamesReply" in client.currentObject)
{
display (e.channel.unicodeName + ": " + e.params[3], "366");
client.currentObject.pendingNamesReply = false;
}
}
@ -3238,8 +3241,8 @@ function my_topicinfo (e)
CIRCChannel.prototype.on353 = /* names reply */
function my_topic (e)
{
if ("pendingNamesReply" in e.channel)
e.channel.display (e.params[4], "NAMES");
if ("pendingNamesReply" in client.currentObject)
display (e.channel.unicodeName + ": " + e.params[4], "NAMES");
}

View File

@ -403,6 +403,7 @@ a.chatzilla-link:hover {
padding-right: 10px;
text-align: right;
vertical-align: top;
white-space: nowrap;
}
.msg-user { /* msg-user = nickname portion of */

View File

@ -29,6 +29,7 @@
* +- desc (String) initial description (used in whois info)
* +- defaultNet (String) default network to use for irc:// urls
* +- reconnect (Boolean) reconnect when disconnected due to ERROR
* +- multiline (Boolean) multiline input mode
* +- bugURL (String) url to use for "bug 12345" links. Use %s to place
* the bug number.
* +- initialURLs (String) irc:// urls to connect to on startup, semicolon
@ -90,6 +91,7 @@ function initPrefs()
"username": ["CIRCNetwork.prototype.INITIAL_NAME", "chatzilla"],
"desc": ["CIRCNetwork.prototype.INITIAL_DESC", "New Now Know How"],
"reconnect": ["CIRCNetwork.prototype.stayingPower", true],
"multiline": ["client.MULTILINE", false],
"defaultNet": ["client.DEFAULT_NETWORK", "moznet"],
"charset": ["client.CHARSET", ""],
"initialURLs": ["client.INITIAL_URLS", "irc://"],

View File

@ -36,7 +36,7 @@ const MSG_UNKNOWN = getMsg ("unknown");
client.defaultNick = getMsg("defaultNick");
client.version = "0.8.23";
client.version = "0.8.25";
client.TYPE = "IRCClient";
client.COMMAND_CHAR = "/";
@ -68,6 +68,10 @@ client.DOUBLETAB_TIME = 500;
client.IMAGEDIR = "chrome://chatzilla/skin/images/";
client.HIDE_CODES = true; /* true if you'd prefer to show numeric response
* codes as some default value (ie, "===") */
/* true if the browser widget shouldn't be allowed to take focus. windows, and
* probably the mac, need to be able to give focus to the browser widget for
* copy to work properly. */
client.NO_BROWSER_FOCUS = (navigator.platform.search(/mac|win/i) == -1);
client.DEFAULT_RESPONSE_CODE = "===";
@ -220,6 +224,8 @@ function initStatic()
if (client.CHARSET)
setCharset(client.CHARSET);
multilineInputMode(client.MULTILINE);
var ary = navigator.userAgent.match (/;\s*([^;\s]+\s*)\).*\/(\d+)/);
if (ary)
@ -414,7 +420,7 @@ function initHost(obj)
}
obj.linkRE =
/((\w[\w-]+):[^<>\[\]()\'\"\s]+|www(\.[^.<>\[\]()\'\"\s]+){2,})/;
/((\w[\w-]+):[^<>\[\]()\'\"\s\u201d]+|www(\.[^.<>\[\]()\'\"\s\u201d]+){2,})/;
obj.munger = new CMunger();
obj.munger.enabled = true;
@ -437,12 +443,12 @@ function initHost(obj)
obj.munger.addRule ("ctrl-char", /([\x01-\x1f])/, showCtrlChar);
obj.munger.addRule ("link", obj.linkRE, insertLink);
obj.munger.addRule ("mailto",
/(?:\s|\W|^)((mailto:)?[^<>\[\]()\'\"\s]+@[^.<>\[\]()\'\"\s]+\.[^<>\[\]()\'\"\s]+)/i,
/(?:\s|\W|^)((mailto:)?[^<>\[\]()\'\"\s\u201d]+@[^.<>\[\]()\'\"\s\u201d]+\.[^<>\[\]()\'\"\s\u201d]+)/i,
insertMailToLink);
obj.munger.addRule ("bugzilla-link", /(?:\s|\W|^)(bug\s+#?\d{3,6})/i,
insertBugzillaLink);
obj.munger.addRule ("channel-link",
/(?:\s|\W|^)[@+]?(#[^<>\[\](){}\"\s]*[^:,.<>\[\](){}\'\"\s])/i,
/(?:\s|\W|^)[@+]?(#[^<>\[\](){}\"\s\u201d]*[^:,.<>\[\](){}\'\"\s\u201d])/i,
insertChannelLink);
obj.munger.addRule ("face",
@ -459,7 +465,6 @@ function initHost(obj)
obj.rdf.initTree("user-list");
obj.rdf.setTreeRoot("user-list", obj.rdf.resNullChan);
multilineInputMode(false);
}
function insertLink (matchText, containerTag)
@ -468,7 +473,7 @@ function insertLink (matchText, containerTag)
var linkText;
var trailing;
ary = matchText.match(/([.,]+)$/);
ary = matchText.match(/([.,?]+)$/);
if (ary)
{
linkText = RegExp.leftContext;
@ -1637,6 +1642,7 @@ function multilineInputMode (state)
client.input = singleInput;
}
client.MULTILINE = state;
client.input.focus();
}
@ -2100,7 +2106,8 @@ function getTabForObject (source, create)
browser.setAttribute ("tooltip", "aHTMLTooltip");
browser.setAttribute ("context", "outputContext");
//browser.setAttribute ("onload", "scrollDown(true);");
//browser.setAttribute ("onclick", "focusInput()");
if (client.NO_BROWSER_FOCUS)
browser.setAttribute ("onclick", "focusInput()");
browser.setAttribute ("ondragover", "nsDragAndDrop.dragOver(event, contentDropObserver);");
browser.setAttribute ("ondragdrop", "nsDragAndDrop.drop(event, contentDropObserver);");
browser.setAttribute ("ondraggesture", "nsDragAndDrop.startDrag(event, contentAreaDNDObserver);");
@ -2246,6 +2253,7 @@ function cli_connet (netname, pass)
if (!("connecting" in netobj))
netobj.display (getMsg("cli_attachWorking",netobj.name), "INFO");
netobj.connecting = true;
netobj.connect(pass);
return true;
}
@ -2951,7 +2959,7 @@ function my_graphres ()
this.rdfRes =
client.rdf.GetResource(RES_PFX + "CHANNEL:" +
this.parent.parent.name +
":" + this.name);
":" + escape(this.name));
//dd ("created channel resource " + this.rdfRes.Value);
}
@ -2974,7 +2982,7 @@ function usr_graphres()
this.rdfRes = rdf.GetResource (RES_PFX + "CUSER:" +
this.parent.parent.parent.name + ":" +
this.parent.name + ":" +
escape(this.parent.name) + ":" +
CIRCUser.nextResID++);
//dd ("created cuser resource " + this.rdfRes.Value);

View File

@ -64,7 +64,7 @@
<!ENTITY userDetails.title "User Identification">
<!ENTITY userDetails.help.label "What do these mean?">
<!ENTITY userDetails.help.accesskey "W">
<!ENTITY userDetails.help.desc "Your hostmask, which is used to identify you to other clients and the server, places your user name before the host you are connecting from. So a user name of 'myself' would mean you would be identified as 'myself@host.tld', where 'host.tld' would be dependant on your internet service provider.">
<!ENTITY userDetails.help.desc "Your hostmask, which is used to identify you to other clients and the server, places your user name before the host you are connecting from. So a user name of 'myself' would mean you would be identified as 'myself@host.tld', where 'host.tld' would be dependent on your internet service provider.">
<!ENTITY userDetails.nick.label "Nick name:">
<!ENTITY userDetails.nick.accesskey "N">
@ -133,7 +133,7 @@
<!ENTITY stalkWords.title "Stalk Words">
<!ENTITY stalkWords.accesskey "S">
<!ENTITY stalkWords.label1 "When ChatZilla sees an 'important' message, it will highlight the line and the channel's tab. If you have 'aggressive notify' enabled, ChatZilla will also use an OS-dependant method to grab your attention.">
<!ENTITY stalkWords.label1 "When ChatZilla sees an 'important' message, it will highlight the line and the channel's tab. If you have 'aggressive notify' enabled, ChatZilla will also use an OS-dependent method to grab your attention.">
<!ENTITY stalkWords.label2 "Your nickname is always considered 'important', but you can add more words; just add them to the list below.">
<!ENTITY list.up.label "Move Up">