www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit f2cd2727868dd18d6e36fb3af5f58ce5e92d13f2
parent 8512ba8d395f44e79bf6c482ea33fd35902b029c
Author: Dan Stillman <dstillman@zotero.org>
Date:   Mon, 29 Dec 2008 09:35:11 +0000

Merged r3888 from branch


Diffstat:
Mchrome/content/zotero-platform/win/itembox.css | 10++++------
Mchrome/content/zotero/bindings/itembox.xml | 61++++++++++++++++++++++++++++++++++++++-----------------------
Mchrome/content/zotero/xpcom/zotero.js | 2+-
Achrome/skin/default/zotero/arrow-down.gif | 0
Mchrome/skin/default/zotero/bindings/itembox.css | 27++++++++-------------------
5 files changed, 51 insertions(+), 49 deletions(-)

diff --git a/chrome/content/zotero-platform/win/itembox.css b/chrome/content/zotero-platform/win/itembox.css @@ -18,14 +18,12 @@ row hbox hbox label margin-bottom: 0; } -row > toolbarbutton -{ - margin-right: 5px; - -moz-image-region: rect(2px, 14px, 18px, 0px); -} - row vbox[fieldname=abstractNote], row vbox[fieldname=extra] { margin-left: 1px; } + +.creator-type-label image { + margin-bottom: 0; +} diff --git a/chrome/content/zotero/bindings/itembox.xml b/chrome/content/zotero/bindings/itembox.xml @@ -551,6 +551,9 @@ <parameter name="defaultRow"/> <body> <![CDATA[ + // getCreatorFields(), switchCreatorMode() and handleCreatorAutoCompleteSelect() + // may need need to be adjusted if this DOM structure changes + if (!creator) { creator = { firstName: '', @@ -578,21 +581,26 @@ var typeID = creatorTypeID ? creatorTypeID : this._creatorTypeMenu.childNodes[0].getAttribute('typeid'); - var label = document.createElement("toolbarbutton"); - label.setAttribute("label", - Zotero.getString('creatorTypes.' - + Zotero.CreatorTypes.getName(typeID)) + ":"); - label.setAttribute("typeid", typeID); - label.setAttribute("popup", "creator-type-menu"); - label.setAttribute("fieldname", 'creator-' + this._creatorCount + '-typeID'); - label.className = 'zotero-clicky'; + var typeBox = document.createElement("hbox"); + typeBox.setAttribute("typeid", typeID); + typeBox.setAttribute("popup", "creator-type-menu"); + typeBox.setAttribute("fieldname", 'creator-' + this._creatorCount + '-typeID'); + typeBox.className = 'creator-type-label zotero-clicky'; + + var img = document.createElement('image'); + img.setAttribute('src', 'chrome://zotero/skin/arrow-down.gif'); + typeBox.appendChild(img); + + var label = document.createElement("label"); + label.setAttribute('value', + Zotero.getString('creatorTypes.'+Zotero.CreatorTypes.getName(typeID)) + ":") + typeBox.appendChild(label); - // getCreatorFields(), switchCreatorMode() and handleCreatorAutoCompleteSelect() - // may need need to be adjusted if this DOM structure changes var hbox = document.createElement("hbox"); // Name var firstlast = document.createElement("hbox"); + firstlast.className = 'creator-name-box'; firstlast.setAttribute("flex","1"); var tabindex = this._tabIndexMinCreators + (this._creatorCount * 2); var fieldName = 'creator-' + this._creatorCount + '-lastName'; @@ -669,7 +677,7 @@ addButton.hidden = true; } - this.addDynamicRow(label, hbox, true); + this.addDynamicRow(typeBox, hbox, true); // Set single/double field toggle mode if (creator.fieldMode) { @@ -756,7 +764,7 @@ button.setAttribute('image', 'chrome://zotero/skin/textfield-dual.png'); button.setAttribute('tooltiptext', Zotero.getString('pane.item.switchFieldMode.two')); lastName.setAttribute('fieldMode', '1'); - button.setAttribute('onclick', "document.getBindingParent(this).switchCreatorMode(this.parentNode.parentNode, 0)"); + button.setAttribute('onclick', "document.getBindingParent(this).switchCreatorMode(Zotero.getAncestorByTagName(this, 'row'), 0)"); lastName.setAttribute('flex', '1'); // Remove firstname field from tabindex @@ -787,7 +795,7 @@ button.setAttribute('image', 'chrome://zotero/skin/textfield-single.png'); button.setAttribute('tooltiptext', Zotero.getString('pane.item.switchFieldMode.one')); lastName.setAttribute('fieldMode', '0'); - button.setAttribute('onclick', "document.getBindingParent(this).switchCreatorMode(this.parentNode.parentNode, 1)"); + button.setAttribute('onclick', "document.getBindingParent(this).switchCreatorMode(Zotero.getAncestorByTagName(this, 'row'), 1)"); lastName.setAttribute('flex', '0'); // Add firstname field to tabindex @@ -1318,7 +1326,7 @@ label.value = creator[otherField]; } - var row = textbox.parentNode.parentNode.parentNode; + var row = Zotero.getAncestorByTagName(textbox, 'row'); var fields = this.getCreatorFields(row); fields[creatorField] = creator[creatorField]; @@ -1465,7 +1473,7 @@ // Creator fields if (field == 'creator') { - var row = textbox.parentNode.parentNode.parentNode; + var row = Zotero.getAncestorByTagName(textbox, 'row'); var otherFields = this.getCreatorFields(row); otherFields[creatorField] = value; @@ -1715,8 +1723,8 @@ <parameter name="row"/> <body> <![CDATA[ - var typeID = row.getElementsByTagName('toolbarbutton')[0].getAttribute('typeid'); - var label1 = row.getElementsByTagName('hbox')[0].firstChild.firstChild; + var typeID = row.getElementsByClassName('creator-type-label')[0].getAttribute('typeid'); + var label1 = row.getElementsByClassName('creator-name-box')[0].firstChild; var label2 = label1.parentNode.lastChild; var fields = { @@ -2035,13 +2043,20 @@ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <popupset> <popup id="creator-type-menu" position="after_start" - oncommand="var fields = document.getBindingParent(this).getCreatorFields(document.popupNode.parentNode); + oncommand="var typeBox = document.popupNode.localName == 'hbox' + ? document.popupNode : document.popupNode.parentNode; + var row = typeBox.parentNode; var typeID = event.explicitOriginalTarget.getAttribute('typeid'); - fields['creatorTypeID'] = typeID; - document.popupNode.setAttribute('label', - Zotero.getString('creatorTypes.' + Zotero.CreatorTypes.getName(typeID)) + ':'); - document.popupNode.setAttribute('typeid', typeID); - var index = document.popupNode.getAttribute('fieldname').split('-')[1]; + var fields = document.getBindingParent(this).getCreatorFields(row); + fields.creatorTypeID = typeID; + typeBox.getElementsByTagName('label')[0].setAttribute( + 'value', + Zotero.getString( + 'creatorTypes.' + Zotero.CreatorTypes.getName(typeID) + ) + ':' + ); + typeBox.setAttribute('typeid', typeID); + var index = typeBox.getAttribute('fieldname').split('-')[1]; document.getBindingParent(this).modifyCreator(index, fields)"/> <popup id="field-menu"> <menu label="&zotero.item.textTransform;"> diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js @@ -838,7 +838,7 @@ var Zotero = new function(){ function getAncestorByTagName(elem, tagName){ while (elem.parentNode){ elem = elem.parentNode; - if (elem.tagName==tagName || elem.tagName=='xul:' + tagName){ + if (elem.localName == tagName) { return elem; } } diff --git a/chrome/skin/default/zotero/arrow-down.gif b/chrome/skin/default/zotero/arrow-down.gif Binary files differ. diff --git a/chrome/skin/default/zotero/bindings/itembox.css b/chrome/skin/default/zotero/bindings/itembox.css @@ -36,8 +36,7 @@ label[singleField=false]:after */ /* metadata field names */ -row > label:first-child, -row > toolbarbutton .toolbarbutton-text /* creator type menu */ +row > label:first-child, .creator-type-label { text-align: right; font-weight: bold; @@ -53,25 +52,15 @@ row label -moz-user-focus: ignore; } - /* creator type menu */ -row > toolbarbutton -{ - margin: 0 2px 0 0; - padding: 0 0 0 5px; - list-style-image: url("chrome://browser/skin/dropmark-nav.png"); - -moz-image-region: rect(3px, 14px, 19px, 0px); +/* creator type menu */ +.creator-type-label { + -moz-box-align: center; + -moz-box-pack: end; } -row > toolbarbutton .toolbarbutton-text -{ - margin-top: -1px; + +.creator-type-label image { + margin: 0 .5em 1px; } -row > toolbarbutton .toolbarbutton-icon, -row > toolbarbutton .toolbarbutton-menu-dropmarker -{ - margin: 0; - padding: 0; -} - /* no space between last name and comma */ row hbox label:first-child