summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--content/fireflix.js32
1 files changed, 14 insertions, 18 deletions
diff --git a/content/fireflix.js b/content/fireflix.js
index 34cfd3e..f30daee 100644
--- a/content/fireflix.js
+++ b/content/fireflix.js
@@ -609,95 +609,91 @@ var fireflix = {
609 this.add(f.path); 609 this.add(f.path);
610 } 610 }
611 } 611 }
612 }, 612 },
613 on_cmd_open: function(ev) { 613 on_cmd_open: function(ev) {
614 if(this.selection.currentIndex<0) return; 614 if(this.selection.currentIndex<0) return;
615 var f = this.files[this.selection.currentIndex]; 615 var f = this.files[this.selection.currentIndex];
616 if(f.photoid) { 616 if(f.photoid) {
617 this.fireflix.openTab( 617 this.fireflix.openTab(
618 this.fireflix.flickr.make_uploader_edit_url(f.photoid) 618 this.fireflix.flickr.make_uploader_edit_url(f.photoid)
619 ); 619 );
620 }else{ 620 }else{
621 this.fireflix.openTab( 'file://'+f.file); 621 this.fireflix.openTab( 'file://'+f.file);
622 } 622 }
623 } 623 }
624 }, 624 },
625 625
626 on_set_props: function() { 626 on_set_props: function() {
627 var pset = this.photosets.sets[this.photosets.selection.currentIndex]; 627 var pset = this.photosets.sets[this.photosets.selection.currentIndex];
628 window.openDialog( 628 window.openDialog(
629 "chrome://fireflix/content/photoset-props.xul", 629 "chrome://fireflix/content/photoset-props.xul",
630 null, "dependent,modal,dialog,chrome", this, 630 null, "dependent,modal,dialog,chrome", this,
631 pset ); 631 pset );
632 if(pset.dirty) { 632 if(pset.dirty) {
633 var _this = this; 633 var that = this;
634 this.flickr.api_call( 634 this.flickr.api_call_json(
635 { 635 {
636 method: 'flickr.photosets.editMeta', 636 method: 'flickr.photosets.editMeta',
637 auth_token: 'default', 637 auth_token: 'default',
638 photoset_id: pset.id, 638 photoset_id: pset.id,
639 title: pset.title, 639 title: pset.title,
640 description: pset.description 640 description: pset.description
641 }, function(xr) { 641 }, function(x,j) {
642 pset.dirty = false; 642 pset.dirty = false;
643 _this.flickr.api_call( 643 that.flickr.api_call_json(
644 { 644 {
645 method: 'flickr.photosets.getPhotos', 645 method: 'flickr.photosets.getPhotos',
646 auth_token: 'default', 646 auth_token: 'default',
647 photoset_id: pset.id 647 photoset_id: pset.id
648 }, function(xr) { 648 }, function(x,j) {
649 var x = xr.responseXML; 649 var pp = j.photoset.photo;
650 var xp = x.evaluate(
651 '/rsp/photoset/photo', x, null,
652 XPathResult.ORDERED_NODE_ITERATOR_TYPE, null );
653 var phids = new Array(); 650 var phids = new Array();
654 var priph = null; 651 var priph = null;
655 var n; while(n=xp.iterateNext()) { 652 for(var i in pp) {
656 var pid = n.getAttribute('id'); 653 var pid = pp[i].id;
657 phids.push( pid ); 654 phids.push(pid);
658 if(pid==pset.primary && n.getAttribute('isprimary')!='1') 655 if(pid==pset.primary && pp[i].isprimary) priph = pid;
659 priph = pid;
660 } 656 }
661 if(priph) { 657 if(priph) {
662 _this.flickr.api_call( 658 that.flickr.api_call_json(
663 { 659 {
664 method: 'flickr.photosets.editPhotos', 660 method: 'flickr.photosets.editPhotos',
665 auth_token: 'default', 661 auth_token: 'default',
666 photoset_id: pset.id, 662 photoset_id: pset.id,
667 primary_photo_id: priph, 663 primary_photo_id: priph,
668 photo_ids: phids.join(',') 664 photo_ids: phids.join(',')
669 }, function() { }, function(x,s,c,m) { /* flickr.photosets.editPhotos */ 665 }, function() { }, function(x,s,c,m) { /* flickr.photosets.editPhotos */
670 _this.flickr_failure(x,s,c,m); 666 that.flickr_failure(x,s,c,m);
671 } 667 }
672 ); 668 );
673 } 669 }
674 }, function(x,s,c,m) { /* flickr.photosets.getPhotos */ 670 }, function(x,s,c,m) { /* flickr.photosets.getPhotos */
675 _this.flickr_failure(x,s,c,m); 671 that.flickr_failure(x,s,c,m);
676 } 672 }
677 ); 673 );
678 }, function(x,s,c,m) { /* flickr.photosets.editMeta */ 674 }, function(x,s,c,m) { /* flickr.photosets.editMeta */
679 _this.flickr_failure(x,s,c,m); 675 that.flickr_failure(x,s,c,m);
680 } 676 }
681 ); 677 );
682 } 678 }
683 }, 679 },
684 on_refresh_sets: function() { 680 on_refresh_sets: function() {
685 this.refresh_sets(); 681 this.refresh_sets();
686 }, 682 },
687 on_cmd_sets_html: function(csfx,ev) { 683 on_cmd_sets_html: function(csfx,ev) {
688 var uti = csfx.charAt(0); var utl = csfx.charAt(1); 684 var uti = csfx.charAt(0); var utl = csfx.charAt(1);
689 var rv = this.build_html(this.photoset.photos,uti,utl); 685 var rv = this.build_html(this.photoset.photos,uti,utl);
690 this.popup_content(rv); 686 this.popup_content(rv);
691 }, 687 },
692 on_cmd_setphotos_html: function(csfx,ev) { 688 on_cmd_setphotos_html: function(csfx,ev) {
693 var uti = csfx.charAt(0); var utl = csfx.charAt(1); 689 var uti = csfx.charAt(0); var utl = csfx.charAt(1);
694 var rv = ''; 690 var rv = '';
695 for(var p in this.photoset.photos) { 691 for(var p in this.photoset.photos) {
696 if(this.photoset.selection.isSelected(p)) 692 if(this.photoset.selection.isSelected(p))
697 rv += this.photo_html(this.photoset.photos[p],uti,utl)+'\n'; 693 rv += this.photo_html(this.photoset.photos[p],uti,utl)+'\n';
698 } 694 }
699 this.popup_content(rv); 695 this.popup_content(rv);
700 }, 696 },
701 697
702 on_cmd_uploads_html: function(csfx,ev) { 698 on_cmd_uploads_html: function(csfx,ev) {
703 var uti = csfx.charAt(0); var utl = csfx.charAt(1); 699 var uti = csfx.charAt(0); var utl = csfx.charAt(1);