127784 - require restart on theme switch. r=hewitt sr=ben a=dbaron
git-svn-id: svn://10.0.0.236/trunk@211122 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -1377,7 +1377,9 @@ function applyTheme(themeName)
|
||||
catch(e) {
|
||||
}
|
||||
|
||||
var str;
|
||||
var str = Components.classes["@mozilla.org/supports-wstring;1"]
|
||||
.createInstance(Components.interfaces.nsISupportsWString);
|
||||
|
||||
var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
|
||||
if (oldTheme) {
|
||||
var title = gNavigatorBundle.getString("oldthemetitle");
|
||||
@@ -1391,8 +1393,7 @@ function applyTheme(themeName)
|
||||
|
||||
chromeRegistry.uninstallSkin( name, true );
|
||||
// XXX - this sucks and should only be temporary.
|
||||
str = Components.classes["@mozilla.org/supports-wstring;1"]
|
||||
.createInstance(Components.interfaces.nsISupportsWString);
|
||||
|
||||
str.data = true;
|
||||
pref.setComplexValue("general.skins.removelist." + name,
|
||||
Components.interfaces.nsISupportsWString, str);
|
||||
@@ -1404,10 +1405,19 @@ function applyTheme(themeName)
|
||||
return;
|
||||
}
|
||||
|
||||
chromeRegistry.selectSkin(name, true);
|
||||
chromeRegistry.refreshSkins();
|
||||
}
|
||||
// XXX XXX BAD BAD BAD BAD !! XXX XXX
|
||||
// we STILL haven't fixed editor skin switch problems
|
||||
// hacking around it yet again
|
||||
|
||||
str.data = themeName.getAttribute("name");
|
||||
pref.setComplexValue("general.skins.selectedSkin", Components.interfaces.nsISupportsWString, str);
|
||||
if (promptService) {
|
||||
var dialogTitle = gNavigatorBundle.getString("switchskinstitle");
|
||||
var brandName = gBrandBundle.getString("brandShortName");
|
||||
var msg = gNavigatorBundle.getFormattedString("switchskins", [brandName]);
|
||||
promptService.alert(window, dialogTitle, msg);
|
||||
}
|
||||
}
|
||||
|
||||
function getNewThemes()
|
||||
{
|
||||
|
||||
@@ -257,7 +257,7 @@ Contributor(s): ______________________________________. -->
|
||||
datasources="rdf:bookmarks rdf:files rdf:localsearch rdf:internetsearch"
|
||||
ref="NC:BookmarksRoot" container="true" flags="dont-test-empty"
|
||||
oncommand="OpenBookmarkURL(event.target,document.getElementById('BookmarksMenu').database)"
|
||||
ondragover="nsDragAndDrop.dragOver(event, bookmarksButtonObserver);"
|
||||
ondragover="nsDragAndDrop.dragOver(event, folderObserver);"
|
||||
template="bookmarksMenuTemplate">
|
||||
<menupopup onpopuphiding="gDidOpen = false;"
|
||||
onpopupshowing="checkBookmarksMenuTemplateBuilder();"
|
||||
@@ -309,8 +309,12 @@ Contributor(s): ______________________________________. -->
|
||||
validate="never"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder"
|
||||
uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"
|
||||
ondraggesture="if (!event.altKey) { event.preventBubble(); return false; }">
|
||||
<menupopup>
|
||||
ondraggesture="if (!event.altKey) { event.preventBubble(); return false; }"
|
||||
ondragover="nsDragAndDrop.dragOver(event, folderObserver);">
|
||||
<menupopup
|
||||
ondragdrop="nsDragAndDrop.drop(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragover="nsDragAndDrop.dragOver(event, menuDNDObserver); event.preventBubble();">
|
||||
<menuitem label="&emptyItem.label;" disabled="true"/>
|
||||
</menupopup>
|
||||
</toolbarbutton>
|
||||
@@ -320,9 +324,13 @@ Contributor(s): ______________________________________. -->
|
||||
<toolbarbutton type="menu" class="bookmark-item" uri="rdf:*" editable="true"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"
|
||||
image="rdf:http://home.netscape.com/NC-rdf#Icon"
|
||||
validate="never"
|
||||
ondraggesture="if (!event.altKey) { event.preventBubble(); return false; }">
|
||||
<menupopup ondraggesture="nsDragAndDrop.startDrag(event, personalToolbarObserver);"/>
|
||||
ondraggesture="if (!event.altKey) { event.preventBubble(); return false; }"
|
||||
ondragover="nsDragAndDrop.dragOver(event, folderObserver);">
|
||||
<menupopup ondragdrop="nsDragAndDrop.drop(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragover="nsDragAndDrop.dragOver(event, menuDNDObserver); event.preventBubble();"/>
|
||||
</toolbarbutton>
|
||||
</rule>
|
||||
|
||||
@@ -338,8 +346,12 @@ Contributor(s): ______________________________________. -->
|
||||
|
||||
<rule iscontainer="true" isempty="true"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder">
|
||||
<menupopup>
|
||||
<menupopup
|
||||
ondragdrop="nsDragAndDrop.drop(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragover="nsDragAndDrop.dragOver(event, menuDNDObserver); event.preventBubble();">
|
||||
<menu class="menu-iconic bookmark-item" uri="rdf:*"
|
||||
type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
|
||||
validate="never"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name">
|
||||
<menupopup>
|
||||
@@ -353,8 +365,11 @@ Contributor(s): ______________________________________. -->
|
||||
</rule>
|
||||
|
||||
<rule iscontainer="true">
|
||||
<menupopup>
|
||||
<menupopup ondragdrop="nsDragAndDrop.drop(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragover="nsDragAndDrop.dragOver(event, menuDNDObserver); event.preventBubble();">
|
||||
<menu class="menu-iconic bookmark-item" uri="rdf:*"
|
||||
type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
|
||||
validate="never"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name">
|
||||
<menupopup/>
|
||||
@@ -369,7 +384,9 @@ Contributor(s): ______________________________________. -->
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menupopup ondragdrop="nsDragAndDrop.drop(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, menuDNDObserver); event.preventBubble();"
|
||||
ondragover="nsDragAndDrop.dragOver(event, menuDNDObserver); event.preventBubble();">
|
||||
<menuitem class="menuitem-iconic bookmark-item" uri="rdf:*"
|
||||
src="rdf:http://home.netscape.com/NC-rdf#Icon"
|
||||
validate="never"
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
* Contributor(s):
|
||||
* - Kevin Puetz (puetzk@iastate.edu)
|
||||
* - Ben Goodger <ben@netscape.com>
|
||||
* - Blake Ross <blaker@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -437,15 +438,15 @@ var searchButtonObserver = {
|
||||
return flavourSet;
|
||||
}
|
||||
};
|
||||
var gDidOpen = false;
|
||||
var bookmarksButtonObserver = {
|
||||
var gOpenFolder = null;
|
||||
var folderObserver = {
|
||||
onDragOver: function(aEvent, aFlavour, aDragSession)
|
||||
{
|
||||
if (aEvent.target.getAttribute("open") == "true")
|
||||
return false;
|
||||
|
||||
aEvent.target.setAttribute("dragover", "true");
|
||||
if (!gDidOpen) {
|
||||
aEvent.target.firstChild.showPopup(document.getElementById("bookmarks-button"), -1, -1, "menupopup", "bottomleft", "bottomleft");
|
||||
gDidOpen = true;
|
||||
}
|
||||
aEvent.target.firstChild.showPopup(aEvent.target, -1, -1, "menupopup", "bottomleft", "bottomleft");
|
||||
return true;
|
||||
},
|
||||
getSupportedFlavours: function ()
|
||||
@@ -463,37 +464,33 @@ function closeOpenMenu()
|
||||
{
|
||||
if (gCurrentDragOverMenu && gCurrentTarget.firstChild != gCurrentDragOverMenu) {
|
||||
if (gCurrentTarget.parentNode != gCurrentDragOverMenu) {
|
||||
gMenuIsOpen = false;
|
||||
gCurrentDragOverMenu.hidePopup();
|
||||
gCurrentDragOverMenu = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var gMenuIsOpen = false;
|
||||
var menuDNDObserver = {
|
||||
onDragOver: function(aEvent, aFlavour, aDragSession)
|
||||
{
|
||||
// if we're a folder just one level deep, open it
|
||||
var dropPosition = determineDropPosition(aEvent, aEvent.target.parentNode != document.getElementById("bookmarks-button").firstChild);
|
||||
var isOneLevelDeep = aEvent.target.parentNode.parentNode.getAttribute("open") == "true" && aEvent.target.parentNode.parentNode.localName == "toolbarbutton";
|
||||
var dropPosition = determineDropPosition(aEvent, !isOneLevelDeep);
|
||||
gCurrentTarget = aEvent.target;
|
||||
if (aEvent.target.firstChild && aEvent.target.firstChild.localName == "menupopup") {
|
||||
if (aEvent.target.parentNode == document.getElementById("bookmarks-button").firstChild) {
|
||||
if (gCurrentDragOverMenu && gCurrentDragOverMenu != aEvent.target.firstChild) {
|
||||
if (isOneLevelDeep) {
|
||||
if (gCurrentDragOverMenu && gCurrentDragOverMenu != aEvent.target.firstChild)
|
||||
gCurrentDragOverMenu.hidePopup();
|
||||
gCurrentDragOverMenu = null;
|
||||
gMenuIsOpen = false;
|
||||
}
|
||||
if (!gMenuIsOpen) {
|
||||
gCurrentDragOverMenu = aEvent.target.firstChild;
|
||||
if (!gCurrentDragOverMenu) {
|
||||
aEvent.target.firstChild.showPopup(aEvent.target, -1, -1, "menupopup", "topright, topright");
|
||||
gMenuIsOpen = true;
|
||||
gCurrentDragOverMenu = aEvent.target.firstChild;
|
||||
}
|
||||
}
|
||||
else {
|
||||
aEvent.target.setAttribute("menuactive", "true");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// remove drag attributes from old item once we move to a new item
|
||||
if (this.mCurrentDragOverItem != aEvent.target) {
|
||||
if (this.mCurrentDragOverItem) {
|
||||
@@ -550,7 +547,6 @@ var menuDNDObserver = {
|
||||
var linkCharset = aDragSession.sourceDocument ? aDragSession.sourceDocument.characterSet : null;
|
||||
// determine title of link
|
||||
var linkTitle;
|
||||
|
||||
// look it up in bookmarks
|
||||
var bookmarksDS = RDFUtils.rdf.GetDataSource("rdf:bookmarks");
|
||||
var nameRes = RDFUtils.getResource(NC_RDF("Name"));
|
||||
@@ -578,7 +574,8 @@ var menuDNDObserver = {
|
||||
dropElementRes = RDFUtils.getResource(dropElement);
|
||||
rdfContainer.Init(childDB, parentContainer);
|
||||
dropIndex = rdfContainer.IndexOf(dropElementRes);
|
||||
dropPosition = determineDropPosition(aEvent, aEvent.target.parentNode != document.getElementById("bookmarks-button").firstChild);
|
||||
var isOneLevelDeep = aEvent.target.parentNode.parentNode.getAttribute("open") == "true" && aEvent.target.parentNode.parentNode.localName == "toolbarbutton";
|
||||
dropPosition = determineDropPosition(aEvent, !isOneLevelDeep);
|
||||
switch (dropPosition) {
|
||||
case DROP_BEFORE:
|
||||
--dropIndex;
|
||||
@@ -666,10 +663,12 @@ function findParentContainer(aElement)
|
||||
return RDFUtils.getResource(box.getAttribute("ref"));
|
||||
case "menu":
|
||||
case "menuitem":
|
||||
var menu = aElement.parentNode.parentNode;
|
||||
if (menu.getAttribute("type") != "http://home.netscape.com/NC-rdf#Folder")
|
||||
var parentNode = aElement.parentNode.parentNode;
|
||||
|
||||
if (parentNode.getAttribute("type") != NC_RDF("Folder") &&
|
||||
parentNode.getAttributeNS("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "type") != "http://home.netscape.com/NC-rdf#Folder")
|
||||
return RDFUtils.getResource("NC:BookmarksRoot");
|
||||
return RDFUtils.getResource(menu.id);
|
||||
return RDFUtils.getResource(parentNode.id);
|
||||
case "treecell":
|
||||
var treeitem = aElement.parentNode.parentNode.parentNode.parentNode;
|
||||
var res = treeitem.getAttribute("ref");
|
||||
|
||||
@@ -60,3 +60,7 @@ showskinsdescription=true
|
||||
# e.g. "Search Google for abc"
|
||||
# DO NOT change the %S order when translate, the first %S must be the search engine name.
|
||||
searchFor=Search %S for "%S"
|
||||
|
||||
# XXX - this sucks and should only be temporary.
|
||||
switchskins=Theme changes will take effect when you restart %S.
|
||||
switchskinstitle=Apply Theme
|
||||
|
||||
Reference in New Issue
Block a user