Changeset 132

Show
Ignore:
Timestamp:
11/29/07 23:13:10 (1 year ago)
Author:
rcrowley
Message:

Drag-to-dock issues, hopefully including Lightroom and Send to Flickr... are now fixed and being tested.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/dock.xul

    r95 r132  
    3232 
    3333                                // Add this photo, converting file:// URL to a native path 
    34                                 if (win) { 
    35                                         win._threads.worker.dispatch(new win.PhotoAdd( 
    36                                                 Cc['@mozilla.org/network/protocol;1?name=file'].getService( 
    37                                                 Ci.nsIFileProtocolHandler).getFileFromURLSpec(window.arguments[0]).path), 
    38                                                 win._threads.worker.DISPATCH_NORMAL); 
    39                                         if (win._photos.sort) { 
    40                                                 win._threads.worker.dispatch(new win.Sort(), 
    41                                                         win._threads.worker.DISPATCH_NORMAL); 
    42                                         } else { 
    43                                                 win._threads.worker.dispatch(new win.EnableUpload(), 
    44                                                         win._threads.worker.DISPATCH_NORMAL); 
     34                                var arg = window.arguments[0]; 
     35                                if (win && win.photos.is_photo(arg)) { 
     36                                        if (/^file:\/\//.test(arg)) { 
     37                                                arg = Cc['@mozilla.org/network/protocol;1?name=file'].getService( 
     38                                                        Ci.nsIFileProtocolHandler).getFileFromURLSpec(arg).path; 
    4539                                        } 
     40                                        win.threads.worker.dispatch(new win.PhotoAdd(arg), 
     41                                                win.threads.worker.DISPATCH_NORMAL); 
    4642                                        window.close(); 
    4743                                        win.focus(); 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/drag.js

    r95 r132  
    2222                var first = true; 
    2323                for (var i = 0; i < ii; ++i) { 
    24                         if ('-url' == cl.getArgument(i)) { 
     24                        var arg = cl.getArgument(i); 
     25                        if (photos.is_photo(arg)) { 
    2526                                if (first) { 
    2627                                        buttons.upload.disable(); 
     
    3132                                        first = false; 
    3233                                } 
    33                                 photos._add(Cc['@mozilla.org/network/protocol;1?name=file'].getService( 
    34                                         Ci.nsIFileProtocolHandler).getFileFromURLSpec(cl.getArgument(++i)).path); 
     34                                if (/^file:\/\//.test(arg)) { 
     35                                        arg = Cc['@mozilla.org/network/protocol;1?name=file'].getService( 
     36                                                Ci.nsIFileProtocolHandler).getFileFromURLSpec(arg).path; 
     37                                } 
     38                                photos._add(arg); 
    3539                        } 
    3640                } 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/photos.js

    r131 r132  
    5050                        var files = fp.files; 
    5151                        while (files.hasMoreElements()) { 
    52                                 photos._add(files.getNext().QueryInterface(Ci.nsILocalFile).path); 
     52                                var arg = files.getNext().QueryInterface(Ci.nsILocalFile).path; 
     53                                if (photos.is_photo(arg)) { 
     54                                        photos._add(arg); 
     55                                } 
    5356                        } 
    5457 
     
    7881                block_remove(); 
    7982                block_sort(); 
    80  
    81 Components.utils.reportError('path: ' + path); 
    82 Components.utils.reportError('escape_utf8(path): ' + escape_utf8(path, false)); 
    8383 
    8484                // Add the original image to the list and set our status 
     
    388388                        list: photos.list 
    389389                }); 
     390        }, 
     391 
     392        // Decide if a given path is a photo 
     393        is_photo: function(path) { 
     394                return /(jpe?g|tiff?|gif|png|bmp)$/i.test(path); 
    390395        } 
    391396 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/threads.js

    r131 r132  
    465465                mouse.show_photos(); 
    466466                if (photos.sort) { 
     467                        threads.worker.dispatch(new Sort(), threads.worker.DISPATCH_NORMAL); 
    467468                        document.getElementById('photos_sort_default').style.display = 'block'; 
    468469                        document.getElementById('photos_sort_revert').style.display = 'none'; 
    469470                } else { 
     471                        threads.worker.dispatch(new EnableUpload(), threads.worker.DISPATCH_NORMAL); 
    470472                        document.getElementById('photos_sort_default').style.display = 'none'; 
    471473                        document.getElementById('photos_sort_revert').style.display = 'block'; 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/users.js

    r119 r132  
    8282                        document.getElementById('login').style.display = 'none'; 
    8383                        status.set(locale.getString('status.ready')); 
    84                         buttons.upload.enable(); 
    8584                        meta.login(); 
    8685 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/components/flGM.cpp

    r130 r132  
    6969        // GetShortPathName to get guaranteed ASCII 
    7070        wchar_t s_arr[4096]; 
    71         GetShortPathNameW(w_arr, s_arr, 4096); 
     71        if (0 == GetShortPathNameW(w_arr, s_arr, 4096)) { 
     72                delete [] w_arr; 
     73                return 0; 
     74 
     75                // If GetShortPathName fails, try copying the file to TEMP 
     76                if (0 == GetTempPath(s_arr, 4096)) { 
     77                        delete [] w_arr; 
     78                        return 0; 
     79                } 
     80                /// 
     81 
     82        } 
     83        delete [] w_arr; 
    7284 
    7385        // wchar_t[] to ASCII nsEmbedString 
     
    8496#endif 
    8597 
    86         // Now convert the now-ASCII nsEmbedString into an ASCII std::string 
     98        // Convert the now-ASCII nsEmbedString into an ASCII std::string 
    8799        char * c_arr = c_arr = new char[ascii.Length() + 1]; 
    88100        if (0 == c_arr) return 0;