summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (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
@@ -255,33 +255,36 @@
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 <image id="upload_file_preview" width="100" height="100" /> 259 <hbox>
260 <grid flex="1"> 260 <image id="upload_file_preview" width="100" height="100" />
261 <columns> 261 <grid flex="1">
262 <column/> 262 <columns>
263 <column flex="1"/> 263 <column/>
264 </columns> 264 <column flex="1"/>
265 <rows> 265 </columns>
266 <row> 266 <rows>
267 <label control="upload_filename" 267 <row>
268 value="&panel.upload_props.filename.label;" /> 268 <label control="upload_filename"
269 <textbox id="upload_filename" 269 value="&panel.upload_props.filename.label;" />
270 oninput="fireflix.uploads.propsToSel('filename')"/> 270 <textbox id="upload_filename"
271 </row> 271 oninput="fireflix.uploads.propsToSel('filename')"/>
272 <row> 272 </row>
273 <label control="upload_title" value="&panel.upload_props.title.label;" /> 273 <row>
274 <textbox id="upload_title" 274 <label control="upload_title" value="&panel.upload_props.title.label;" />
275 oninput="fireflix.uploads.propsToSel('title')"/> 275 <textbox id="upload_title"
276 </row> 276 oninput="fireflix.uploads.propsToSel('title')"/>
277 <row> 277 </row>
278 <label control="uplod_tags" value="&panel.upload_props.tags.label;" /> 278 <row>
279 <textbox id="upload_tags" 279 <label control="upload_tags" value="&panel.upload_props.tags.label;" />
280 oninput="fireflix.uploads.propsToSel('tags')"/> 280 <textbox id="upload_tags"
281 </row> 281 oninput="fireflix.uploads.propsToSel('tags')"/>
282 <!-- TODO: description, public, friend, family --> 282 </row>
283 </rows> 283 <!-- TODO: description, public, friend, family -->
284 </grid> 284 </rows>
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
46description#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
46image#search_photo, image#set_photo, image#set_primary { 54image#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) {