Changeset 11
- Timestamp:
- 09/13/07 00:30:09 (2 years ago)
- Files:
-
- trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/api.js (modified) (3 diffs)
- trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/events_photos.js (modified) (2 diffs)
- trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/main.xul (modified) (1 diff)
- trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/meta.js (modified) (7 diffs)
- trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/photos.js (modified) (2 diffs)
- trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/photos.xul (modified) (6 diffs)
- trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/locale/en-US/main.properties (modified) (1 diff)
- trunk/uploadr/NOTES (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/api.js
r9 r11 79 79 photos.list[photos.list.length - 1] = f[i]; 80 80 } 81 document.getElementById('button_upload').disabled = true;82 threads.worker.dispatch(new Sort(), threads.worker.DISPATCH_NORMAL);83 81 photos.uploading = []; 84 82 photos.uploaded = []; … … 140 138 photos.list[photos.list.length - 1] = f[i]; 141 139 } 142 document.getElementById('button_upload').disabled = true;143 threads.worker.dispatch(new Sort(), threads.worker.DISPATCH_NORMAL);144 140 } 145 141 … … 148 144 for each (var p in photos.uploading) { 149 145 if (null != p) { 150 photos._add(p.path); 146 photos._add(p.path);; 151 147 photos.list[photos.list.length - 1] = p; 152 148 } 153 149 } 154 document.getElementById('button_upload').disabled = true;155 threads.worker.dispatch(new Sort(), threads.worker.DISPATCH_NORMAL);156 150 } 157 151 trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/events_photos.js
r8 r11 36 36 for (var i = id; i != photos.last; i += inc) { 37 37 try { 38 document.getElementById('photo' + i).firstChild.className = 'selected'; 39 photos.selected.push(i); 38 var p = document.getElementById('photo' + i); 39 if ('' == p.firstChild.className) { 40 p.firstChild.className = 'selected'; 41 photos.selected.push(i); 42 } 40 43 } catch (err) {} 41 44 } … … 236 239 } 237 240 }, 241 partial_is_public: function(value) { 242 if (1 == parseInt(value)) { 243 document.getElementById('m_is_friend').checked = false; 244 document.getElementById('m_is_family').checked = false; 245 document.getElementById('m_is_friend').disabled = true; 246 document.getElementById('m_is_family').disabled = true; 247 } else { 248 document.getElementById('m_is_friend').disabled = false; 249 document.getElementById('m_is_family').disabled = false; 250 } 251 }, 238 252 239 253 // Display the other metadata fields trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/main.xul
r10 r11 7 7 <?xul-overlay href="chrome://uploadr/content/settings.xul"?> 8 8 <!DOCTYPE window SYSTEM "chrome://uploadr/locale/main.dtd"> 9 <window id="main" title="&title;" width=" 750" height="575"9 <window id="main" title="&title;" width="960" height="700" 10 10 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 11 11 xmlns:html="http://www.w3.org/1999/xhtml" onload="users.load();" onclose="return exit();" 12 12 persist="screenX screenY width height sizemode"> 13 <html:link rel="shortcut icon" href="chrome://uploadr/skin/icon_16.png" />14 13 <stringbundleset> 15 14 <stringbundle id="locale" src="chrome://uploadr/locale/main.properties" /> trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/meta.js
r8 r11 21 21 document.getElementById('m_hidden').selectedIndex = settings.hidden - 1; 22 22 document.getElementById('m_safety_level').selectedIndex = settings.safety_level - 1; 23 document.getElementById('m_resize').value = settings.resize;24 23 } 25 24 … … 52 51 document.getElementById('p_hidden').selectedIndex = p.hidden - 1; 53 52 document.getElementById('p_safety_level').selectedIndex = p.safety_level - 1; 54 document.getElementById('p_resize').value = p.resize;55 53 } 56 54 … … 70 68 // Overwrite most stuff 71 69 var p = photos.list[photos.selected[i]]; 72 p.title = document.getElementById('m_title').value; 73 p.description = document.getElementById('m_description').value; 70 var title = document.getElementById('m_title').value; 71 if ('' != title) { 72 p.title = title; 73 } 74 var description = document.getElementById('m_description').value; 75 if ('' != description) { 76 p.description += ('' == p.description ? '' : '\n\n') + description; 77 } 74 78 p.is_public = parseInt(document.getElementById('m_is_public').value); 75 79 p.is_friend = document.getElementById('m_is_friend').checked ? 1 : 0; … … 78 82 p.hidden = document.getElementById('m_hidden').selectedIndex + 1; 79 83 p.safety_level = document.getElementById('m_safety_level').selectedIndex + 1; 80 p.resize = document.getElementById('m_resize').value;81 84 82 85 // But tags are the special case, we append, but smartly to remove duplicates … … 99 102 p.hidden = document.getElementById('p_hidden').selectedIndex + 1; 100 103 p.safety_level = document.getElementById('p_safety_level').selectedIndex + 1; 101 p.resize = document.getElementById('p_resize').value;102 104 } 103 105 … … 118 120 partial: function() { 119 121 meta.load(); 122 document.getElementById('m_prompt').firstChild.nodeValue = 123 locale.getFormattedString('meta.partial.prompt', [photos.selected.length]); 120 124 document.getElementById('meta').style.display = 'none'; 121 125 document.getElementById('partial_meta').style.display = '-moz-box'; … … 144 148 settings.hidden != document.getElementById('m_hidden').selectedIndex + 1 || 145 149 settings.safety_level != 146 document.getElementById('m_safety_level').selectedIndex + 1 || 147 settings.resize != document.getElementById('m_resize').value 150 document.getElementById('m_safety_level').selectedIndex + 1 148 151 )) { 149 152 if (confirm(locale.getString('meta.abandon'), locale.getString('meta.abandon.title'))) { trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/photos.js
r9 r11 7 7 last: null, 8 8 unsaved: false, 9 sort: true, 9 10 10 11 // Batch size limiting … … 107 108 for each (var p in photos.list) { 108 109 if (null != p) { 109 if (null != p.resize && -1 != p.resize &&110 p.square > p.resize) {110 if (null != settings.resize && -1 != settings.resize && 111 p.square > settings.resize) { 111 112 resizing = true; 112 threads.worker.dispatch(new Resize(p.id, p.resize, p.path),113 threads.worker.dispatch(new Resize(p.id, settings.resize, p.path), 113 114 threads.worker.DISPATCH_NORMAL); 114 } else if (uploadr.fsize(p.path) > users.filesize && p.square > p.resize) {115 } else if (uploadr.fsize(p.path) > users.filesize && p.square > settings.resize) { 115 116 resizing = true; 116 117 threads.worker.dispatch(new Resize(p.id, -1, p.path), trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/photos.xul
r8 r11 33 33 <label control="p_tags" value="&meta.tags;" /> 34 34 <textbox id="p_tags" /> 35 <html:p> </html:p> 35 36 <label control="p_is_public" value="&settings.privacy.who;" /> 36 37 <radiogroup id="p_is_public" value="1" … … 69 70 </menupopup> 70 71 </menulist> 71 <html:p> </html:p>72 <label control="p_resize" value="&settings.resize;" />73 <menulist id="p_resize">74 <menupopup>75 <menuitem value="-1" label="&settings.resize.dont;" selected="true" />76 <menuitem value="800" label="&settings.resize.800;" />77 <menuitem value="1280" label="&settings.resize.1280;" />78 <menuitem value="1600" label="&settings.resize.1600;" />79 <menuitem value="2048" label="&settings.resize.2048;" />80 </menupopup>81 </menulist>82 72 </vbox> 83 73 <spacer flex="1" /> … … 85 75 </vbox> 86 76 <vbox id="partial_meta"> 87 <html:p >Add metadata to selected photos:</html:p>77 <html:p id="m_prompt"> </html:p> 88 78 <label control="m_title" value="&meta.title;" /> 89 79 <textbox id="m_title" /> … … 92 82 <label control="m_tags" value="&meta.tags;" /> 93 83 <textbox id="m_tags" /> 84 <html:p> </html:p> 94 85 <label control="m_is_public" value="&settings.privacy.who;" /> 95 86 <radiogroup id="m_is_public" value="1" 96 oncommand="events.photos. is_public(this.value);">87 oncommand="events.photos.partial_is_public(this.value);"> 97 88 <radio value="0" label="&settings.privacy.private;" /> 98 89 <checkbox id="m_is_friend" label="&settings.privacy.friend;" /> … … 100 91 <radio value="1" label="&settings.privacy.public;" /> 101 92 </radiogroup> 93 <html:p> </html:p> 102 94 <label control="m_content_type" value="&settings.content_type;" /> 103 95 <menulist id="m_content_type"> … … 126 118 </menupopup> 127 119 </menulist> 128 <label control="m_resize" value="&settings.resize;" /> 129 <menulist id="m_resize"> 130 <menupopup> 131 <menuitem value="-1" label="&settings.resize.dont;" selected="true" /> 132 <menuitem value="800" label="&settings.resize.800;" /> 133 <menuitem value="1280" label="&settings.resize.1280;" /> 134 <menuitem value="1600" label="&settings.resize.1600;" /> 135 <menuitem value="2048" label="&settings.resize.2048;" /> 136 </menupopup> 137 </menulist> 138 <html:br /> 120 <html:p> </html:p> 139 121 <button id="meta_save" label="&meta.save;" oncommand="meta.save();" /> 140 122 </vbox> trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/locale/en-US/main.properties
r8 r11 22 22 settings.overwrite.title=Overwrite settings? 23 23 24 meta.partial.prompt=%1$d photos selected. Changing settings here will affect the selected images. 24 25 meta.abandon=You set some metadata but you must save it before deselecting these photos. Save it? 25 26 meta.abandon.title=Save metadata? trunk/uploadr/NOTES
r8 r11 40 40 I couldn't figure out any way other than hardcoding the offsets to make the box actually 41 41 track the cursor. document.getElementById('photos').offsetTop isn't set?! 42 43 44 45 9-12-2007 meeting with Gino & Stewart 46 47 Partial batch metadata 48 Overwrite titles always 49 Append to description always (prefix with \n\n) 50 Could have a pref for append/overwrite for description - nah 51 Confirmation on clicking save 52 *** Make blank title or description not overwrite each photo *** 53 Do all partial batches like the changed_* checks in settings.js 54 "Leave unchanged" checkbox for privacy metadata that unchecks if they change something 55 Re-adding to a batch after failure 56 Preserve order in the queue, which is the order they wanted 57 Add add-to-set option for each photo and for partial batches 58 Nix the per-photo resize options