-rw-r--r-- | content/fireflix-panel.xul | 7 | ||||
-rw-r--r-- | content/fireflix.css | 8 | ||||
-rw-r--r-- | content/fireflix.js | 25 |
3 files changed, 31 insertions, 9 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 | |||
@@ -255,7 +255,8 @@ | |||
255 | <treechildren/> | 255 | <treechildren/> |
256 | </tree> | 256 | </tree> |
257 | <progressmeter id="upload_progress" mode="undetermined" hidden="true" /> | 257 | <progressmeter id="upload_progress" mode="undetermined" hidden="true" /> |
258 | <groupbox id="upload_file_props" orient="horizontal" hidden="true"> | 258 | <groupbox id="upload_file_props" orient="vertical" hidden="true"> |
259 | <hbox> | ||
259 | <image id="upload_file_preview" width="100" height="100" /> | 260 | <image id="upload_file_preview" width="100" height="100" /> |
260 | <grid flex="1"> | 261 | <grid flex="1"> |
261 | <columns> | 262 | <columns> |
@@ -275,13 +276,15 @@ | |||
275 | oninput="fireflix.uploads.propsToSel('title')"/> | 276 | oninput="fireflix.uploads.propsToSel('title')"/> |
276 | </row> | 277 | </row> |
277 | <row> | 278 | <row> |
278 | <label control="uplod_tags" value="&panel.upload_props.tags.label;" /> | 279 | <label control="upload_tags" value="&panel.upload_props.tags.label;" /> |
279 | <textbox id="upload_tags" | 280 | <textbox id="upload_tags" |
280 | oninput="fireflix.uploads.propsToSel('tags')"/> | 281 | oninput="fireflix.uploads.propsToSel('tags')"/> |
281 | </row> | 282 | </row> |
282 | <!-- TODO: description, public, friend, family --> | 283 | <!-- TODO: description, public, friend, family --> |
283 | </rows> | 284 | </rows> |
284 | </grid> | 285 | </grid> |
286 | </hbox> | ||
287 | <description id="upload_failure" hidden="true"/> | ||
285 | </groupbox> | 288 | </groupbox> |
286 | <hbox> | 289 | <hbox> |
287 | <button class="lean" command="cmd_uploads_add" /> | 290 | <button class="lean" command="cmd_uploads_add" /> |
diff --git a/content/fireflix.css b/content/fireflix.css index ab90c11..06ae28a 100644 --- a/content/fireflix.css +++ b/content/fireflix.css | |||
@@ -43,6 +43,14 @@ groupbox#upload_file_props label { | |||
43 | text-align: right; | 43 | text-align: right; |
44 | } | 44 | } |
45 | 45 | ||
46 | description#upload_failure { | ||
47 | border-top: solid 1px red; | ||
48 | margin: 0px; padding: 2px; | ||
49 | text-align: left; | ||
50 | font-size: 85%; | ||
51 | line-height: 105%; | ||
52 | } | ||
53 | |||
46 | image#search_photo, image#set_photo, image#set_primary { | 54 | image#search_photo, image#set_photo, image#set_primary { |
47 | border: black 1px solid; | 55 | border: black 1px solid; |
48 | } | 56 | } |
diff --git a/content/fireflix.js b/content/fireflix.js index 995ec5c..7291b68 100644 --- a/content/fireflix.js +++ b/content/fireflix.js | |||
@@ -332,7 +332,7 @@ var fireflix = { | |||
332 | pull_elements(this,document,[ | 332 | pull_elements(this,document,[ |
333 | 'upload_filename','upload_title','upload_file_preview', | 333 | 'upload_filename','upload_title','upload_file_preview', |
334 | 'upload_file_props','upload_progress','upload_tags', | 334 | 'upload_file_props','upload_progress','upload_tags', |
335 | 'cmd_uploads_upload' | 335 | 'cmd_uploads_upload', 'upload_failure' |
336 | ]); | 336 | ]); |
337 | document.getElementById('uploadlist').view = this; | 337 | document.getElementById('uploadlist').view = this; |
338 | }, | 338 | }, |
@@ -489,26 +489,35 @@ var fireflix = { | |||
489 | this.upload_title.value=''; | 489 | this.upload_title.value=''; |
490 | this.upload_title.disabled = true; | 490 | this.upload_title.disabled = true; |
491 | this.upload_file_preview.src = null; | 491 | this.upload_file_preview.src = null; |
492 | this.upload_file_props.hidden = true; | ||
493 | this.upload_tags.value=''; | 492 | this.upload_tags.value=''; |
494 | this.upload_tags.disabled = true; | 493 | this.upload_tags.disabled = true; |
494 | /* this.upload_file_props.hidden = true; */ | ||
495 | }, | 495 | }, |
496 | selToProps: function() { | 496 | selToProps: function() { |
497 | if(!this.selection.count) { | 497 | if(!this.selection.count) { |
498 | this.disableProps(); | 498 | this.disableProps(); |
499 | this.upload_file_props.hidden = true; | ||
499 | }else if(this.selection.count==1) { | 500 | }else if(this.selection.count==1) { |
500 | var f=this.files[this.selection.currentIndex]; | 501 | var f=this.files[this.selection.currentIndex]; |
501 | if(f==null || f.state!='pending') { | 502 | if(f==null) { |
502 | this.disableProps(); | 503 | this.disableProps(); |
504 | this.upload_file_props.hidden = true; | ||
503 | }else{ | 505 | }else{ |
506 | var inactives = f.state!='pending'; | ||
504 | this.upload_filename.value = f.file; | 507 | this.upload_filename.value = f.file; |
505 | this.upload_filename.disabled = false; | 508 | this.upload_filename.disabled = inactives; |
506 | this.upload_title.value = f.title; | 509 | this.upload_title.value = f.title; |
507 | this.upload_title.disabled = false; | 510 | this.upload_title.disabled = inactives; |
508 | this.upload_file_preview.src = 'file:///'+f.file; | 511 | this.upload_file_preview.src = 'file:///'+f.file; |
509 | this.upload_file_props.hidden = false; | ||
510 | this.upload_tags.value = f.tags; | 512 | this.upload_tags.value = f.tags; |
511 | this.upload_tags.disabled = false; | 513 | this.upload_tags.disabled = inactives; |
514 | if(f.state=='failed') { | ||
515 | this.upload_failure.textContent=f.flickr_errcode+': '+f.flickr_errmsg; | ||
516 | this.upload_failure.hidden = false; | ||
517 | }else{ | ||
518 | this.upload_failure.hidden = true; | ||
519 | } | ||
520 | this.upload_file_props.hidden = false; | ||
512 | } | 521 | } |
513 | }else{ | 522 | }else{ |
514 | var ftitle = null; var onetitle = true; | 523 | var ftitle = null; var onetitle = true; |
@@ -539,9 +548,11 @@ var fireflix = { | |||
539 | this.upload_tags.value = ftags; | 548 | this.upload_tags.value = ftags; |
540 | this.upload_tags.disabled = false; | 549 | this.upload_tags.disabled = false; |
541 | this.upload_file_preview.src = null; | 550 | this.upload_file_preview.src = null; |
551 | this.upload_failure.hidden = true; | ||
542 | this.upload_file_props.hidden = false; | 552 | this.upload_file_props.hidden = false; |
543 | }else | 553 | }else |
544 | this.disableProps(); | 554 | this.disableProps(); |
555 | this.upload_file_props.hidden = true; | ||
545 | } | 556 | } |
546 | }, | 557 | }, |
547 | propsToSel: function(prop) { | 558 | propsToSel: function(prop) { |