2000-01-18 06:32:43 +03:00
|
|
|
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
|
|
*
|
|
|
|
* The contents of this file are subject to the Mozilla Public
|
|
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.mozilla.org/MPL/
|
|
|
|
*
|
|
|
|
* Software distributed under the License is distributed on an "AS
|
|
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
|
|
* implied. See the License for the specific language governing
|
|
|
|
* rights and limitations under the License.
|
|
|
|
*
|
|
|
|
* The Original Code is JSIRC Test Client #3
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is New Dimensions Consulting,
|
|
|
|
* Inc. Portions created by New Dimensions Consulting, Inc. are
|
|
|
|
* Copyright (C) 1999 New Dimenstions Consulting, Inc. All
|
|
|
|
* Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
|
|
|
* Robert Ginda, rginda@ndcico.com, original author
|
|
|
|
*/
|
|
|
|
|
2000-01-27 12:45:11 +03:00
|
|
|
/*
|
|
|
|
* currently recognized prefs:
|
|
|
|
* + extensions.irc.
|
2000-05-09 05:00:42 +04:00
|
|
|
* +- nickname (String) initial nickname
|
|
|
|
* +- username (String) initial username (ie: username@host.tld)
|
|
|
|
* +- desc (String) initial description (used in whois info)
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
* +- defaultNet (String) default network to use for irc:// urls
|
|
|
|
* +- initialURLs (String) irc:// urls to connect to on startup, semicolon
|
|
|
|
* | seperated
|
2001-08-24 01:35:45 +04:00
|
|
|
* +- initialScripts (String) urls for scripts to run at startup,
|
|
|
|
* | semicolon seperated
|
2000-05-09 05:00:42 +04:00
|
|
|
* +- munger (Boolean) send output through text->html munger
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
* | +- smileyText (Boolean) true => display text (and graphic) when
|
|
|
|
* | matching smileys
|
|
|
|
* | false => show only the smiley graphic
|
|
|
|
* +- nickCompleteStr (String) String to use when tab-completing nicknames
|
|
|
|
* | at the beginning of sentences
|
|
|
|
* +- stalkWords (String) List of words to add to the stalk victims list
|
|
|
|
* | semicolon seperated (see the /stalk command)
|
|
|
|
* +- deleteOnPart (Boolean) Delete channel window automatically after a /part
|
|
|
|
* |
|
2000-05-09 05:00:42 +04:00
|
|
|
* +- notify
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
* | +- aggressive (Boolean) flash trayicon/ bring window to top when
|
|
|
|
* | your nickname is mentioned.
|
|
|
|
* +- settings
|
|
|
|
* | +- autoSave (Boolean) Save settings on exit
|
2000-01-27 12:45:11 +03:00
|
|
|
* +- style
|
2001-08-24 01:35:45 +04:00
|
|
|
* | +- default (String) url to default style sheet
|
2000-01-27 12:45:11 +03:00
|
|
|
* +- views
|
|
|
|
* | +- client
|
|
|
|
* | | +- maxlines (Number) max lines to keep in *client* view
|
|
|
|
* | +- channel
|
|
|
|
* | | +- maxlines (Number) max lines to keep in channel views
|
|
|
|
* | +- chanuser
|
|
|
|
* | +- maxlines (Number) max lines to keep in /msg views
|
|
|
|
* +- debug
|
|
|
|
* +- tracer (Boolean) enable/disable debug message tracing
|
|
|
|
*/
|
|
|
|
|
2000-01-18 06:32:43 +03:00
|
|
|
function readIRCPrefs (rootNode)
|
|
|
|
{
|
|
|
|
var pref =
|
2000-09-14 03:57:52 +04:00
|
|
|
Components.classes["@mozilla.org/preferences;1"].createInstance();
|
2000-01-18 06:32:43 +03:00
|
|
|
if(!pref)
|
|
|
|
throw ("Can't find pref component.");
|
|
|
|
|
|
|
|
if (!rootNode)
|
|
|
|
rootNode = "extensions.irc.";
|
|
|
|
|
|
|
|
if (!rootNode.match(/\.$/))
|
|
|
|
rootNode += ".";
|
|
|
|
|
|
|
|
pref = pref.QueryInterface(Components.interfaces.nsIPref);
|
|
|
|
|
|
|
|
CIRCNetwork.prototype.INITIAL_NICK =
|
|
|
|
getCharPref (pref, rootNode + "nickname",
|
|
|
|
CIRCNetwork.prototype.INITIAL_NICK);
|
|
|
|
CIRCNetwork.prototype.INITIAL_NAME =
|
|
|
|
getCharPref (pref, rootNode + "username",
|
|
|
|
CIRCNetwork.prototype.INITIAL_NAME);
|
|
|
|
CIRCNetwork.prototype.INITIAL_DESC =
|
|
|
|
getCharPref (pref, rootNode + "desc",
|
|
|
|
CIRCNetwork.prototype.INITIAL_DESC);
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
client.DEFAULT_NETWORK =
|
|
|
|
getCharPref (pref, rootNode + "defaultNet", "moznet");
|
|
|
|
client.INITIAL_URLS =
|
|
|
|
getCharPref (pref, rootNode + "initialURLs", "");
|
2001-08-24 01:35:45 +04:00
|
|
|
client.INITIAL_SCRIPTS =
|
|
|
|
getCharPref (pref, rootNode + "initialScripts", "");
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
client.ADDRESSED_NICK_SEP =
|
|
|
|
getCharPref (pref, rootNode + "nickCompleteStr",
|
|
|
|
client.ADDRESSED_NICK_SEP);
|
|
|
|
client.INITIAL_VICTIMS =
|
|
|
|
getCharPref (pref, rootNode + "stalkWords", "");
|
|
|
|
|
|
|
|
client.DELETE_ON_PART =
|
|
|
|
getCharPref (pref, rootNode + "deleteOnPart", true);
|
|
|
|
|
2000-05-09 05:00:42 +04:00
|
|
|
client.munger.enabled =
|
|
|
|
getBoolPref (pref, rootNode + "munger", client.munger.enabled);
|
|
|
|
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
client.smileyText =
|
|
|
|
getBoolPref (pref, rootNode + "munger.smileyText", false);
|
|
|
|
|
2000-05-09 05:00:42 +04:00
|
|
|
client.FLASH_WINDOW =
|
|
|
|
getBoolPref (pref, rootNode + "notify.aggressive", true);
|
|
|
|
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
client.SAVE_SETTINGS =
|
|
|
|
getBoolPref (pref, rootNode + "settings.autoSave", true);
|
|
|
|
|
2000-01-27 12:45:11 +03:00
|
|
|
client.DEFAULT_STYLE =
|
2001-08-24 01:35:45 +04:00
|
|
|
getCharPref (pref, rootNode + "style.default",
|
|
|
|
"chrome://chatzilla/skin/output-default.css");
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
|
2000-01-18 06:32:43 +03:00
|
|
|
client.MAX_MESSAGES =
|
|
|
|
getIntPref (pref, rootNode + "views.client.maxlines",
|
|
|
|
client.MAX_MESSAGES);
|
|
|
|
|
|
|
|
CIRCChannel.prototype.MAX_MESSAGES =
|
|
|
|
getIntPref (pref, rootNode + "views.channel.maxlines",
|
|
|
|
CIRCChannel.prototype.MAX_MESSAGES);
|
|
|
|
|
|
|
|
CIRCChanUser.prototype.MAX_MESSAGES =
|
|
|
|
getIntPref (pref, rootNode + "views.chanuser.maxlines",
|
|
|
|
CIRCChanUser.prototype.MAX_MESSAGES);
|
|
|
|
|
|
|
|
var h = client.eventPump.getHook ("event-tracer");
|
2001-03-14 05:35:29 +03:00
|
|
|
h.enabled = client.debugMode =
|
2000-01-18 06:32:43 +03:00
|
|
|
getBoolPref (pref, rootNode + "debug.tracer", h.enabled);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
function writeIRCPrefs (rootNode)
|
|
|
|
{
|
|
|
|
var pref =
|
|
|
|
Components.classes["@mozilla.org/preferences;1"].createInstance();
|
|
|
|
if(!pref)
|
|
|
|
throw ("Can't find pref component.");
|
|
|
|
|
|
|
|
if (!rootNode)
|
|
|
|
rootNode = "extensions.irc.";
|
|
|
|
|
|
|
|
if (!rootNode.match(/\.$/))
|
|
|
|
rootNode += ".";
|
|
|
|
|
|
|
|
pref = pref.QueryInterface(Components.interfaces.nsIPref);
|
|
|
|
|
|
|
|
pref.SetCharPref (rootNode + "nickname",
|
|
|
|
CIRCNetwork.prototype.INITIAL_NICK);
|
|
|
|
pref.SetCharPref (rootNode + "username",
|
|
|
|
CIRCNetwork.prototype.INITIAL_NAME);
|
|
|
|
pref.SetCharPref (rootNode + "desc", CIRCNetwork.prototype.INITIAL_DESC);
|
|
|
|
pref.SetCharPref (rootNode + "nickCompleteStr", client.ADDRESSED_NICK_SEP);
|
2001-08-24 01:35:45 +04:00
|
|
|
pref.SetCharPref (rootNode + "style.default", client.DEFAULT_STYLE);
|
-- CHATZILLA CHANGES ONLY --
sr = scc, r = syd
fix for bug 57633, which also fixes 27805,40636,41343,51352,54145,56708,57104,57138, and some other random unfiled bugs.
2000-11-01 12:33:16 +03:00
|
|
|
pref.SetCharPref (rootNode + "stalkWords",
|
|
|
|
client.stalkingVictims.join ("; "));
|
|
|
|
pref.SetBoolPref (rootNode + "munger", client.munger.enabled);
|
|
|
|
pref.SetBoolPref (rootNode + "munger.smileyText", client.smileyText);
|
|
|
|
pref.SetBoolPref (rootNode + "notify.aggressive", client.FLASH_WINDOW);
|
|
|
|
|
|
|
|
var h = client.eventPump.getHook ("event-tracer");
|
|
|
|
pref.SetBoolPref (rootNode + "debug.tracer", h.enabled);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2000-01-18 06:32:43 +03:00
|
|
|
function getCharPref (prefObj, prefName, defaultValue)
|
|
|
|
{
|
2000-01-27 12:45:11 +03:00
|
|
|
var e, rv;
|
2000-01-18 06:32:43 +03:00
|
|
|
|
|
|
|
try
|
|
|
|
{
|
2000-01-27 12:45:11 +03:00
|
|
|
rv = prefObj.CopyCharPref (prefName);
|
2000-01-18 06:32:43 +03:00
|
|
|
}
|
|
|
|
catch (e)
|
|
|
|
{
|
2000-01-27 12:45:11 +03:00
|
|
|
rv = defaultValue;
|
2000-01-18 06:32:43 +03:00
|
|
|
}
|
2000-01-27 12:45:11 +03:00
|
|
|
|
2000-01-29 02:29:28 +03:00
|
|
|
//dd ("getCharPref: returning '" + rv + "' for " + prefName);
|
2000-01-27 12:45:11 +03:00
|
|
|
return rv;
|
|
|
|
|
2000-01-18 06:32:43 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
function getIntPref (prefObj, prefName, defaultValue)
|
|
|
|
{
|
|
|
|
var e;
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return prefObj.GetIntPref (prefName);
|
|
|
|
}
|
|
|
|
catch (e)
|
|
|
|
{
|
|
|
|
return defaultValue;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function getBoolPref (prefObj, prefName, defaultValue)
|
|
|
|
{
|
|
|
|
var e;
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return prefObj.GetBoolPref (prefName);
|
|
|
|
}
|
|
|
|
catch (e)
|
|
|
|
{
|
|
|
|
return defaultValue;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|