diff options
author | dave@33eels.com <dave@33eels.com@4eb1ac78-321c-0410-a911-ec516a8615a5> | 2009-03-17 16:57:27 (GMT) |
---|---|---|
committer | dave@33eels.com <dave@33eels.com@4eb1ac78-321c-0410-a911-ec516a8615a5> | 2009-03-17 16:57:27 (GMT) |
commit | 77b8daf453d658751e5999239037898f6e4d1f55 (patch) | |
tree | ac4fa081fb62e384e7defbbf720abfa3bed1ba58 | |
parent | 33f9646f6f0b2dc8db29efd365a4f4268f79422c (diff) |
Fix for bug 481237 ("[E-1.3] Publishing Menu Changes")
git-svn-id: http://svn.mozilla.org/addons/trunk@23424 4eb1ac78-321c-0410-a911-ec516a8615a5
-rw-r--r-- | bandwagon/content/scripts/bandwagon.js | 5 | ||||
-rw-r--r-- | bandwagon/content/ui/bindings/bandwagon.xml | 110 |
2 files changed, 47 insertions, 68 deletions
diff --git a/bandwagon/content/scripts/bandwagon.js b/bandwagon/content/scripts/bandwagon.js index b67b340..ff34feb 100644 --- a/bandwagon/content/scripts/bandwagon.js +++ b/bandwagon/content/scripts/bandwagon.js @@ -45,11 +45,14 @@ Bandwagon.SQLITE_FILENAME = "bandwagon.sqlite"; Bandwagon.COLLECTION_UPDATE_TIMER_DELAY = 60 * 60; // interval between checking if collection needs updating (in seconds) (this will always be 30 seconds in debug mode) Bandwagon.DEFAULT_COLLECTION_UPDATE_INTERVAL = 24 * 60 * 60; // default individual collection update interval (in seconds) Bandwagon.DEFAULT_ADDONS_PER_PAGE = 20; + +// REMEMBER: when changing AMO_HOST, the service document url in scripts/rpc/constants.js also has to be changed. + Bandwagon.AMO_HOST = "bandwagon.stage.mozilla.com"; -Bandwagon.FIRSTRUN_LANDING_PAGE = "http://www.google.com/search?hl=en&q=bandwagon+first+run+landing+page&btnG=Google+Search&aq=f&oq="; // TODO Bandwagon.COLLECTIONSPANE_DO_SUBSCRIBE_URL = "https://" + Bandwagon.AMO_HOST + "/en-US/collections"; Bandwagon.COLLECTIONSPANE_DO_LOGIN_URL = "https://" + Bandwagon.AMO_HOST + "/en-US/firefox/users/login?to=en-US%2Ffirefox%2Fcollections"; Bandwagon.COLLECTIONSPANE_DO_NEW_COLLECTION_URL = "https://" + Bandwagon.AMO_HOST + "/en-US/firefox/collections/add"; +Bandwagon.FIRSTRUN_LANDING_PAGE = "http://www.google.com/search?hl=en&q=bandwagon+first+run+landing+page&btnG=Google+Search&aq=f&oq="; // TODO Bandwagon.AMO_AUTH_COOKIE_HOST = Bandwagon.AMO_HOST; Bandwagon.AMO_AUTH_COOKIE_NAME = "AMOv3"; diff --git a/bandwagon/content/ui/bindings/bandwagon.xml b/bandwagon/content/ui/bindings/bandwagon.xml index 885f02f..ac31bcf 100644 --- a/bandwagon/content/ui/bindings/bandwagon.xml +++ b/bandwagon/content/ui/bindings/bandwagon.xml @@ -558,35 +558,23 @@ <content> <xul:button label="&publishto.label;" type="menu" - anonid="publishButton1" + anonid="publishButton" class="publishButton" collapsed="true"> <xul:menupopup anonid="writableCollections"> <!-- writable collections go here --> - <xul:menuitem label="&new.collection.label;" oncommand="Bandwagon.Controller.ExtensionsOverlay.doNewCollection();"/> + <xul:menuitem label="&new.collection.label;" oncommand="Bandwagon.Controller.ExtensionsOverlay.doNewCollection();" anonid="newCollection"/> <xul:menuseparator anonid="writableCollectionSeparator"/> - <xul:menu label="&email.address.label;" anonid="emailAddressMenu1"> - <xul:menupopup anonid="emailAddresses1"> + <xul:menu label="&email.address.label;" anonid="emailAddressMenu"> + <xul:menupopup anonid="emailAddresses"> <!-- email addresses go here --> - <xul:menuseparator anonid="emailAddressSeparator1"/> + <xul:menuseparator anonid="emailAddressSeparator"/> <xul:menuitem label="&new.email.address.label;" oncommand="Bandwagon.Controller.ExtensionsOverlay.doAddNewShareEmail();"/> </xul:menupopup> </xul:menu> </xul:menupopup> </xul:button> - <xul:button label="&publishto.label;" - type="menu" - anonid="publishButton2" - class="publishButton" - collapsed="true"> - <xul:menupopup anonid="emailAddresses2"> - <!-- email addresses go here --> - <xul:menuseparator anonid="emailAddressSeparator2"/> - <xul:menuitem label="&new.email.address.label;"/> - </xul:menupopup> - </xul:button> - </content> <implementation> @@ -609,19 +597,16 @@ var elemWritableCollectionsPopup = document.getAnonymousElementByAttribute(this, "anonid", "writableCollections"); var elemWritableCollectionSeparator = document.getAnonymousElementByAttribute(this, "anonid", "writableCollectionSeparator"); - var elemEmailAddressesPopup1 = document.getAnonymousElementByAttribute(this, "anonid", "emailAddresses1"); - var elemEmailAddressesPopup2 = document.getAnonymousElementByAttribute(this, "anonid", "emailAddresses2"); - var elemEmailAddressSeparator1 = document.getAnonymousElementByAttribute(this, "anonid", "emailAddressSeparator1"); - var elemEmailAddressSeparator2 = document.getAnonymousElementByAttribute(this, "anonid", "emailAddressSeparator2"); - var elemEmailAddressMenu1 = document.getAnonymousElementByAttribute(this, "anonid", "emailAddressMenu1"); - var elemEmailAddressMenu2 = document.getAnonymousElementByAttribute(this, "anonid", "emailAddressMenu2"); - var elemPublishButton1 = document.getAnonymousElementByAttribute(this, "anonid", "publishButton1"); - var elemPublishButton2 = document.getAnonymousElementByAttribute(this, "anonid", "publishButton2"); + var elemEmailAddressesPopup = document.getAnonymousElementByAttribute(this, "anonid", "emailAddresses"); + var elemEmailAddressSeparator = document.getAnonymousElementByAttribute(this, "anonid", "emailAddressSeparator"); + var elemEmailAddressMenu = document.getAnonymousElementByAttribute(this, "anonid", "emailAddressMenu"); + var elemPublishButton = document.getAnonymousElementByAttribute(this, "anonid", "publishButton"); + var elemNewCollection = document.getAnonymousElementByAttribute(this, "anonid", "newCollection"); // populate the email address menu - var activeEmailMenu = (this.writableCollections.length==0?elemEmailAddressesPopup2:elemEmailAddressesPopup1); - var activeEmailAddressSeparator = (this.writableCollections.length==0?elemEmailAddressSeparator2:elemEmailAddressSeparator1); + var activeEmailMenu = elemEmailAddressesPopup; + var activeEmailAddressSeparator = elemEmailAddressSeparator; if (this.emailAddresses.length) { @@ -650,56 +635,47 @@ activeEmailAddressSeparator.collapsed = true; } - if (this.writableCollections.length) - { - // populate the collections menu + // populate the collections menu - function createAddToCollectionCallbackFunction(collection) - { - return function() { Bandwagon.Controller.ExtensionsOverlay.doPublishToCollection(collection); } - } - - function createRemoveFromCollectionCallbackFunction(collection) - { - return function() { Bandwagon.Controller.ExtensionsOverlay.doRemoveFromCollection(collection); } - } + function createAddToCollectionCallbackFunction(collection) + { + return function() { Bandwagon.Controller.ExtensionsOverlay.doPublishToCollection(collection); } + } - for (var i=0; i<this.writableCollections.length; i++) - { - var collection = this.writableCollections[i]; + function createRemoveFromCollectionCallbackFunction(collection) + { + return function() { Bandwagon.Controller.ExtensionsOverlay.doRemoveFromCollection(collection); } + } - if (document.getAnonymousElementByAttribute(this, "anonid", "bandwagon-collection-" + collection.resourceURL)) - continue; + for (var i=0; i<this.writableCollections.length; i++) + { + var collection = this.writableCollections[i]; - var callbackAdd = createAddToCollectionCallbackFunction(collection); - var callbackRemove = createRemoveFromCollectionCallbackFunction(collection); + if (document.getAnonymousElementByAttribute(this, "anonid", "bandwagon-collection-" + collection.resourceURL)) + continue; - var elemWritableCollection = document.createElementNS(XULNS, "menuitem"); - elemWritableCollection.setAttribute("label", (collection.name?collection.name:collection.resourceURL)); - elemWritableCollection.setAttribute("anonid", "bandwagon-collection-" + collection.resourceURL); + var callbackAdd = createAddToCollectionCallbackFunction(collection); + var callbackRemove = createRemoveFromCollectionCallbackFunction(collection); - if (collection.__containsCurrentlySelectedExtension) - { - elemWritableCollection.setAttribute("checked", "true"); - elemWritableCollection.setAttribute("autocheck", "false"); - elemWritableCollection.addEventListener("command", callbackRemove, true); - } - else - { - elemWritableCollection.addEventListener("command", callbackAdd, true); - } + var elemWritableCollection = document.createElementNS(XULNS, "menuitem"); + elemWritableCollection.setAttribute("label", (collection.name?collection.name:collection.resourceURL)); + elemWritableCollection.setAttribute("anonid", "bandwagon-collection-" + collection.resourceURL); - elemWritableCollectionsPopup.insertBefore(elemWritableCollection, elemWritableCollectionSeparator); + if (collection.__containsCurrentlySelectedExtension) + { + elemWritableCollection.setAttribute("checked", "true"); + elemWritableCollection.setAttribute("autocheck", "false"); + elemWritableCollection.addEventListener("command", callbackRemove, true); + } + else + { + elemWritableCollection.addEventListener("command", callbackAdd, true); } - elemPublishButton1.collapsed = false; - elemPublishButton2.collapsed = true; - } - else - { - elemPublishButton1.collapsed = true; - elemPublishButton2.collapsed = false; + elemWritableCollectionsPopup.insertBefore(elemWritableCollection, elemNewCollection); } + + elemPublishButton.collapsed = false; ]]> </body> </method> |