author | Michael Krelin <hacker@klever.net> | 2006-12-18 13:22:11 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2006-12-18 13:22:11 (UTC) |
commit | 676ead33f615fbc2affb3cb979d1316f0676daef (patch) (side-by-side diff) | |
tree | 06e7afff01a0c1df631c7f635618403d7989572a /content/fireflix.js | |
parent | b609e9157c1587b11f177edfa7fe65f6851e9706 (diff) | |
download | fireflix-676ead33f615fbc2affb3cb979d1316f0676daef.zip fireflix-676ead33f615fbc2affb3cb979d1316f0676daef.tar.gz fireflix-676ead33f615fbc2affb3cb979d1316f0676daef.tar.bz2 |
make file properties visible but readonly for non-pending downloads.
And while we're at it show failure reason for failed uploads.
git-svn-id: http://svn.klever.net/kin/fireflix/trunk@238 fe716a7a-6dde-0310-88d9-d003556173a8
-rw-r--r-- | content/fireflix.js | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/content/fireflix.js b/content/fireflix.js index 995ec5c..7291b68 100644 --- a/content/fireflix.js +++ b/content/fireflix.js @@ -323,25 +323,25 @@ var fireflix = { document.getElementById('fireflix_tabs').selectedTab = document.getElementById('tab_upload'); } }, uploads: { fireflix: null, init: function(f) { this.fireflix=f; pull_elements(this,document,[ 'upload_filename','upload_title','upload_file_preview', 'upload_file_props','upload_progress','upload_tags', - 'cmd_uploads_upload' + 'cmd_uploads_upload', 'upload_failure' ]); document.getElementById('uploadlist').view = this; }, files: new Array(), rowCount: 0, getCellText: function(r,c) { var f = this.files[r]; if(c.id=='up_file') return f.file; if(c.id=='up_title') return f.title; if(c.id=='up_status') return f.state; return c.id; }, @@ -480,44 +480,53 @@ var fireflix = { this.tree.endUpdateBatch(); this.selToProps(); }, selectionChanged: function() { this.selToProps(); }, disableProps: function() { this.upload_filename.value=''; this.upload_filename.disabled = true; this.upload_title.value=''; this.upload_title.disabled = true; this.upload_file_preview.src = null; - this.upload_file_props.hidden = true; this.upload_tags.value=''; this.upload_tags.disabled = true; + /* this.upload_file_props.hidden = true; */ }, selToProps: function() { if(!this.selection.count) { this.disableProps(); + this.upload_file_props.hidden = true; }else if(this.selection.count==1) { var f=this.files[this.selection.currentIndex]; - if(f==null || f.state!='pending') { + if(f==null) { this.disableProps(); + this.upload_file_props.hidden = true; }else{ + var inactives = f.state!='pending'; this.upload_filename.value = f.file; - this.upload_filename.disabled = false; + this.upload_filename.disabled = inactives; this.upload_title.value = f.title; - this.upload_title.disabled = false; + this.upload_title.disabled = inactives; this.upload_file_preview.src = 'file:///'+f.file; - this.upload_file_props.hidden = false; this.upload_tags.value = f.tags; - this.upload_tags.disabled = false; + this.upload_tags.disabled = inactives; + if(f.state=='failed') { + this.upload_failure.textContent=f.flickr_errcode+': '+f.flickr_errmsg; + this.upload_failure.hidden = false; + }else{ + this.upload_failure.hidden = true; + } + this.upload_file_props.hidden = false; } }else{ var ftitle = null; var onetitle = true; var ftags = null; var onetag = true; var fs = 0; for(var ff in this.files) { if(this.selection.isSelected(ff) && this.files[ff].state=='pending' ) { ++fs; if(ftitle==null) { ftitle = this.files[ff].title; }else if(ftitle!=this.files[ff].title) { onetitle = false; @@ -530,27 +539,29 @@ var fireflix = { } } if(fs) { this.upload_filename.value=''; this.upload_filename.disabled = true; if(onetitle) this.upload_title.value = ftitle; this.upload_title.disabled = false; if(onetag) this.upload_tags.value = ftags; this.upload_tags.disabled = false; this.upload_file_preview.src = null; + this.upload_failure.hidden = true; this.upload_file_props.hidden = false; }else this.disableProps(); + this.upload_file_props.hidden = true; } }, propsToSel: function(prop) { if(this.selection.count<=0) return; for(var ff in this.files) { if(this.selection.isSelected(ff) && this.files[ff].state=='pending') { if(prop=='filename') this.files[ff].file = this.upload_filename.value; if(prop=='title') this.files[ff].title = this.upload_title.value; if(prop=='tags') this.files[ff].tags = this.upload_tags.value; |