-rw-r--r-- | content/photoset-props.js | 38 | ||||
-rw-r--r-- | content/photoset-props.xul | 1 |
2 files changed, 18 insertions, 21 deletions
diff --git a/content/photoset-props.js b/content/photoset-props.js index 43dc1b9..7c816be 100644 --- a/content/photoset-props.js +++ b/content/photoset-props.js @@ -1,81 +1,77 @@ var psetprops = { fireflix: null, photoset: null, pripic: null, - settitle: null, setdesc: null, - primarypic: null, photos: new Array(), init: function() { this.fireflix = window.arguments[0]; this.photoset = window.arguments[1]; - this.settitle = document.getElementById('set_title'); - this.settitle.value = this.photoset.title; - this.setdesc = document.getElementById('set_desc'); - this.setdesc.value = this.photoset.description; - this.primarypic = document.getElementById('primary_picture'); - this.primarypic.src = + pull_elements(this,document,[ + 'set_title','set_desc','primary_picture', + 'primary_picture_list' + ]); + this.set_title.value = this.photoset.title; + this.set_desc.value = this.photoset.description; + this.primary_picture.src = this.fireflix.flickr.get_image_url( this.photoset, 't' ); - this.primarypic.hidden = false; - this.picslist = document.getElementById('primary_picture_list'); + this.primary_picture.hidden = false; var _this = this; this.fireflix.flickr.api_call( { method: 'flickr.photosets.getPhotos', auth_token: 'default', photoset_id: this.photoset.id }, function(xr) { var x = xr.responseXML; var xp = x.evaluate( '/rsp/photoset/photo', x, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null ); - _this.picslist.removeAllItems(); _this.photos= new Array(); + _this.primary_picture_list.removeAllItems(); _this.photos= new Array(); var n; while(n=xp.iterateNext()) { _this.photos.push( { id: n.getAttribute('id'), secret: n.getAttribute('secret'), server: n.getAttribute('server') } ); - var ni = _this.picslist.appendItem( + var ni = _this.primary_picture_list.appendItem( n.getAttribute('title'), _this.photos.length-1 ); ni.setAttribute('command','cmd_select_picture'); if(n.getAttribute('isprimary')==1) { - _this.picslist.selectedItem = ni; + _this.primary_picture_list.selectedItem = ni; _this.pripic = _this.photos[_this.photos.length-1]; } } - _this.picslist.hidden = false; + _this.primary_picture_list.hidden = false; }, function() { } ); }, on_select_picture: function(ev) { var epic = ev.explicitOriginalTarget; - this.picslist.selectedItem = epic; - var pic = this.photos[this.picslist.selectedItem.value]; + this.primary_picture_list.selectedItem = epic; + var pic = this.photos[this.primary_picture_list.selectedItem.value]; this.pripic = pic; - this.primarypic.src = + this.primary_picture.src = this.fireflix.flickr.get_photo_url( pic.server, pic.id, pic.secret, 't' ); }, on_accept: function() { - this.photoset.title = - document.getElementById('set_title').value; - this.photoset.description = - document.getElementById('set_desc').value; + this.photoset.title = this.set_title.value; + this.photoset.description = this.set_desc.value; this.photoset.server = this.pripic.server; this.photoset.primary = this.pripic.id; this.photoset.secret = this.pripic.secret; this.photoset.dirty = true; return; } }; diff --git a/content/photoset-props.xul b/content/photoset-props.xul index e8f6d13..2efa9e6 100644 --- a/content/photoset-props.xul +++ b/content/photoset-props.xul @@ -1,38 +1,39 @@ <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <?xsml-stylesheet href="fireflix.css" type="text/css"?> <!DOCTYPE dialog SYSTEM "chrome://fireflix/locale/fireflix.dtd"> <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="photoset_props" buttons="accept,cancel" defaultbutton="accept" title="&photosetprops.title;" onload="psetprops.init()" ondialogaccept="psetprops.on_accept()" > + <script src="util.js" type="application/x-javascript"/> <script src="photoset-props.js" type="application/x-javascript"/> <commandset> <command id="cmd_select_picture" oncommand="psetprops.on_select_picture(event)"/> </commandset> <hbox class="wholething"> <vbox> <menulist id="primary_picture_list" hidden="true" sizetopopup="always"/> <hbox pack="center"> <box width="100" pack="center"> <image id="primary_picture" hidden="true"/> </box> </hbox> </vbox> <vbox flex="1" minwidth="300"> <label control="set_title" value="&photosetprops.set_title.label;"/> <textbox id="set_title" /> <label control="set_desc" value="&photosetprops.set_desc.label;"/> <textbox id="set_desc" multiline="true" rows="5" /> </vbox> </hbox> </dialog> |