www

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

commit a27d57d7b98177a7cd9860f5f61cea8ffdd1abab
parent 4496c8d9e982d443a707ea8ab436b7d8c877acf6
Author: Dan Stillman <dstillman@zotero.org>
Date:   Tue,  5 Mar 2013 15:47:02 -0500

Merge branch 'swapCreatorNames' into 3.1

Closes #132, Menu item to swap creator first/last names
Closes #163, Frank's patch: Menu item to swap creator first/last names

Diffstat:
Mchrome/content/zotero/bindings/itembox.xml | 36+++++++++++++++++++++++++++++++++++-
Mchrome/locale/en-US/zotero/zotero.dtd | 1+
2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/chrome/content/zotero/bindings/itembox.xml b/chrome/content/zotero/bindings/itembox.xml @@ -741,6 +741,11 @@ if (creator.fieldMode) { firstlast.lastChild.setAttribute('hidden', true); } + + if (this.editable) { + firstlast.setAttribute('contextmenu', 'zotero-creator-transform-menu'); + } + this._tabIndexMaxCreators = Math.max(this._tabIndexMaxCreators, tabindex); hbox.appendChild(firstlast); @@ -2214,6 +2219,21 @@ </method> + <method name="swapNames"> + <body><![CDATA[ + var row = Zotero.getAncestorByTagName(document.popupNode, 'row'); + var typeBox = row.getElementsByAttribute('popup', 'creator-type-menu')[0]; + var creatorIndex = parseInt(typeBox.getAttribute('fieldname').split('-')[1]); + var fields = this.getCreatorFields(row); + var lastName = fields.lastName; + var firstName = fields.firstName; + fields.lastName = firstName; + fields.firstName = lastName; + this.modifyCreator(creatorIndex, fields); + this.item.save(); + ]]></body> + </method> + <method name="moveCreator"> <parameter name="index"/> <parameter name="moveUp"/> @@ -2481,7 +2501,21 @@ oncommand="document.getBindingParent(this).textTransform(document.popupNode, 'sentence')"/> </menupopup> </menu> - </menupopup> + </menupopup> + <menupopup id="zotero-creator-transform-menu" + onpopupshowing="var row = Zotero.getAncestorByTagName(document.popupNode, 'row'); + var typeBox = row.getElementsByAttribute('popup', 'creator-type-menu')[0]; + var index = parseInt(typeBox.getAttribute('fieldname').split('-')[1]); + var item = document.getBindingParent(this).item; + var exists = item.hasCreatorAt(index); + if (exists) { + var fieldMode = item.getCreator(index).ref.fieldMode; + } + var hideTransforms = !exists || !!fieldMode; + return !hideTransforms;"> + <menuitem label="&zotero.item.creatorTransform.nameSwap;" + oncommand="document.getBindingParent(this).swapNames();"/> + </menupopup> <zoteroguidancepanel id="zotero-author-guidance" about="authorMenu" position="after_end" x="-25"/> </popupset> <grid flex="1"> diff --git a/chrome/locale/en-US/zotero/zotero.dtd b/chrome/locale/en-US/zotero/zotero.dtd @@ -121,6 +121,7 @@ <!ENTITY zotero.item.textTransform "Transform Text"> <!ENTITY zotero.item.textTransform.titlecase "Title Case"> <!ENTITY zotero.item.textTransform.sentencecase "Sentence case"> +<!ENTITY zotero.item.creatorTransform.nameSwap "Swap first/last names"> <!ENTITY zotero.toolbar.newNote "New Note"> <!ENTITY zotero.toolbar.note.standalone "New Standalone Note">