summaryrefslogtreecommitdiffabout
path: root/content
Side-by-side diff
Diffstat (limited to 'content') (more/less context) (ignore whitespace changes)
-rw-r--r--content/fireflix-panel.xul57
-rw-r--r--content/fireflix.css8
-rw-r--r--content/fireflix.js25
3 files changed, 56 insertions, 34 deletions
diff --git a/content/fireflix-panel.xul b/content/fireflix-panel.xul
index 0e511c5..aa3dbd6 100644
--- a/content/fireflix-panel.xul
+++ b/content/fireflix-panel.xul
@@ -252,39 +252,42 @@
<splitter class="tree-splitter" />
<treecol id="up_status" label="&panel.uploadlist.status.label;" flex="1" crop="end" align="start" />
</treecols>
<treechildren/>
</tree>
<progressmeter id="upload_progress" mode="undetermined" hidden="true" />
- <groupbox id="upload_file_props" orient="horizontal" hidden="true">
- <image id="upload_file_preview" width="100" height="100" />
- <grid flex="1">
- <columns>
- <column/>
- <column flex="1"/>
- </columns>
- <rows>
- <row>
- <label control="upload_filename"
- value="&panel.upload_props.filename.label;" />
- <textbox id="upload_filename"
- oninput="fireflix.uploads.propsToSel('filename')"/>
- </row>
- <row>
- <label control="upload_title" value="&panel.upload_props.title.label;" />
- <textbox id="upload_title"
- oninput="fireflix.uploads.propsToSel('title')"/>
- </row>
- <row>
- <label control="uplod_tags" value="&panel.upload_props.tags.label;" />
- <textbox id="upload_tags"
- oninput="fireflix.uploads.propsToSel('tags')"/>
- </row>
- <!-- TODO: description, public, friend, family -->
- </rows>
- </grid>
+ <groupbox id="upload_file_props" orient="vertical" hidden="true">
+ <hbox>
+ <image id="upload_file_preview" width="100" height="100" />
+ <grid flex="1">
+ <columns>
+ <column/>
+ <column flex="1"/>
+ </columns>
+ <rows>
+ <row>
+ <label control="upload_filename"
+ value="&panel.upload_props.filename.label;" />
+ <textbox id="upload_filename"
+ oninput="fireflix.uploads.propsToSel('filename')"/>
+ </row>
+ <row>
+ <label control="upload_title" value="&panel.upload_props.title.label;" />
+ <textbox id="upload_title"
+ oninput="fireflix.uploads.propsToSel('title')"/>
+ </row>
+ <row>
+ <label control="upload_tags" value="&panel.upload_props.tags.label;" />
+ <textbox id="upload_tags"
+ oninput="fireflix.uploads.propsToSel('tags')"/>
+ </row>
+ <!-- TODO: description, public, friend, family -->
+ </rows>
+ </grid>
+ </hbox>
+ <description id="upload_failure" hidden="true"/>
</groupbox>
<hbox>
<button class="lean" command="cmd_uploads_add" />
<spacer flex="1"/>
<button class="lean" command="cmd_uploads_remove" />
<spacer flex="1"/>
diff --git a/content/fireflix.css b/content/fireflix.css
index ab90c11..06ae28a 100644
--- a/content/fireflix.css
+++ b/content/fireflix.css
@@ -40,12 +40,20 @@ groupbox#set_photo_props {
}
groupbox#upload_file_props label {
text-align: right;
}
+description#upload_failure {
+ border-top: solid 1px red;
+ margin: 0px; padding: 2px;
+ text-align: left;
+ font-size: 85%;
+ line-height: 105%;
+}
+
image#search_photo, image#set_photo, image#set_primary {
border: black 1px solid;
}
.about .insides {
margin: 1ex;
diff --git a/content/fireflix.js b/content/fireflix.js
index 995ec5c..7291b68 100644
--- a/content/fireflix.js
+++ b/content/fireflix.js
@@ -329,13 +329,13 @@ var fireflix = {
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) {
@@ -486,32 +486,41 @@ var fireflix = {
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) {
@@ -536,15 +545,17 @@ var fireflix = {
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') {