Files
tubestation/xpfe/browser/resources/content/contentframe.js
1999-07-01 22:56:04 +00:00

90 lines
2.3 KiB
JavaScript

// -*- Mode: Java -*-
var sidebarURI = 'resource:/res/rdf/sidebar-browser.xul';
var isSidebarOpen = false;
function Init() {
var pref = Components.classes['component://netscape/preferences'];
if (pref) {
pref = pref.getService();
}
if (pref) {
pref = pref.QueryInterface(Components.interfaces.nsIPref);
}
if (pref) {
pref.SetDefaultIntPref('sidebar.width', 170);
// pref.SetIntPref(pref.GetIntPref('sidebar.width'));
pref.SetDefaultBoolPref('sidebar.open', false);
pref.SavePrefFile();
if (pref.GetBoolPref('sidebar.open')) {
toggleOpenClose();
}
}
}
function toggleOpenClose() {
// Get the open width and update the pref state
var pref = Components.classes['component://netscape/preferences'];
if (pref) {
pref = pref.getService();
}
if (pref) {
pref = pref.QueryInterface(Components.interfaces.nsIPref);
}
var width = 0;
if (pref) {
pref.SetBoolPref('sidebar.open', !isSidebarOpen);
width = pref.GetIntPref('sidebar.width');
pref.SavePrefFile();
}
if (isSidebarOpen)
{
// Close it
var container = document.getElementById('container');
var sidebar = container.firstChild;
sidebar.setAttribute('style','width:0px; visibility:hidden');
sidebar.setAttribute('src','about:blank');
//container.removeChild(container.firstChild);
var grippy = document.getElementById('grippy');
grippy.setAttribute('open','');
isSidebarOpen = false;
}
else
{
// Open it
var container = document.getElementById('container');
var sidebar = container.firstChild;
sidebar.setAttribute('style','width:' + width + 'px; visibility:visible');
sidebar.setAttribute('src',sidebarURI);
//var sidebar = document.createElement('html:iframe');
//sidebar.setAttribute('src','resource:/res/rdf/sidebar-browser.xul');
//sidebar.setAttribute('class','sidebarframe');
//container.insertBefore(sidebar,container.firstChild);
//container.appendChild(sidebar);
var grippy = document.getElementById('grippy');
grippy.setAttribute('open','true');
isSidebarOpen = true;
}
}
// To get around "window.onload" not working in viewer.
function Boot()
{
var root = document.documentElement;
if (root == null) {
setTimeout(Boot, 0);
} else {
Init();
}
}
setTimeout('Boot()', 0);