Changeset 182

Show
Ignore:
Timestamp:
12/18/07 16:50:43 (2 years ago)
Author:
rcrowley
Message:

Fixed command line handler to enable Upload button in all cases.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/uploadr/MacUploadr.app/Contents/Resources/application.ini

    r175 r182  
    1313Name=Flickr Uploadr 
    1414Version=3.0 
    15 BuildID=2007121201 
     15BuildID=2007121601 
    1616Copyright=Copyright © 2007 - Yahoo!, Inc. 
    1717ID=uploadr@flickr.com 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/clh.js

    r173 r182  
    99 */ 
    1010 
    11 var clh = { 
    12  
    13         // Handle a single path passed to Uploadr 
    14         handle: function(arg) { 
    15 Components.classes["@mozilla.org/consoleservice;1"] 
    16 .getService(Components.interfaces.nsIConsoleService) 
    17 .logStringMessage("Got a file " + arg); 
     11// Check the command line queue for arguments 
     12var clh = function(queue) { 
     13        if (null == queue) { 
     14                var comp = Cc["@mozilla.org/commandlinehandler/general-startup;1?type=flcmdline"] 
     15                        .getService(Ci.flICLH); 
     16                queue = comp.getQueue(); 
     17        } 
     18        queue = queue.split('|||||'); 
     19        var ii = queue.length; 
     20        var first = true; 
     21        for (var i = 0; i < ii; ++i) { 
     22                var arg = queue[i]; 
    1823                if (photos.is_photo(arg)) { 
     24                        if (first) { 
     25                                buttons.upload.disable(); 
     26                                document.getElementById('photos_init').style.display = 'none'; 
     27                                document.getElementById('photos_new').style.display = 'none'; 
     28                                document.getElementById('no_meta_prompt').style.visibility = 'visible'; 
     29                                first = false; 
     30                        } 
    1931                        if (/^file:\/\//.test(arg)) { 
    2032                                arg = Cc['@mozilla.org/network/protocol;1?name=file'].getService( 
     
    2335                        photos._add(arg); 
    2436                } 
    25         }, 
    26  
    27         // Check the command line queue for arguments 
    28         check: function() { 
    29                 var comp = Cc["@mozilla.org/commandlinehandler/general-startup;1?type=flcmdline"] 
    30                         .getService(Ci.flICLH); 
    31                 var queue = comp.getQueue(); 
    32                 queue = queue.split('|||||'); 
    33                 var ii = queue.length; 
    34                 var first = true; 
    35                 for (var i = 0; i < ii; ++i) { 
    36                         if (photos.is_photo(queue[i])) { 
    37                                 if (first) { 
    38                                         buttons.upload.disable(); 
    39                                         document.getElementById('photos_init').style.display = 'none'; 
    40                                         document.getElementById('photos_new').style.display = 'none'; 
    41                                         document.getElementById('no_meta_prompt').style.visibility = 'visible'; 
    42                                         first = false; 
    43                                 } 
    44                                 clh.handle(queue[i]); 
    45                         } 
    46                 } 
    4737        } 
    48  
     38        if (photos.sort) { 
     39                threads.worker.dispatch(new Sort(), threads.worker.DISPATCH_NORMAL); 
     40                document.getElementById('photos_sort_default').style.display = 'block'; 
     41                document.getElementById('photos_sort_revert').style.display = 'none'; 
     42        } else { 
     43                threads.worker.dispatch(new EnableUpload(), threads.worker.DISPATCH_NORMAL); 
     44                document.getElementById('photos_sort_default').style.display = 'none'; 
     45                document.getElementById('photos_sort_revert').style.display = 'block'; 
     46        } 
    4947}; 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/main.xul

    r171 r182  
    2020xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
    2121xmlns:html="http://www.w3.org/1999/xhtml" 
    22 onload="threads.init(); users.load(); photos.load(); help._pretty(); clh.check();" 
     22onload="threads.init(); users.load(); photos.load(); help._pretty(); clh();" 
    2323onclose="return exit();" persist="screenX screenY width height sizemode"> 
    2424        <stringbundleset> 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/meta.js

    r146 r182  
    127127                        } else { 
    128128                                for (var i = 0; i < ii; ++i) { 
    129 Components.utils.reportError('i: ' + i + ', p.sets[i]: ' + p.sets[i]); 
    130129                                        document.getElementById('single_sets_add_' + p.sets[i]).className = 
    131130                                                'sets_disabled'; 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/photos.js

    r173 r182  
    396396                if (list.length) { 
    397397                        photos.sort = obj.sort; 
    398                         if (!window.arguments || !window.arguments[0] || 
    399                                 0 == window.arguments[0].QueryInterface(Ci.nsICommandLine).length) { 
    400                                 if (photos.sort) { 
    401                                         threads.worker.dispatch(new Sort(), threads.worker.DISPATCH_NORMAL); 
    402                                         document.getElementById('photos_sort_default').style.display = 'block'; 
    403                                         document.getElementById('photos_sort_revert').style.display = 'none'; 
    404                                 } else { 
    405                                         threads.worker.dispatch(new EnableUpload(), threads.worker.DISPATCH_NORMAL); 
    406                                         document.getElementById('photos_sort_default').style.display = 'none'; 
    407                                         document.getElementById('photos_sort_revert').style.display = 'block'; 
    408                                 } 
     398                        if (photos.sort) { 
     399                                threads.worker.dispatch(new Sort(), threads.worker.DISPATCH_NORMAL); 
     400                                document.getElementById('photos_sort_default').style.display = 'block'; 
     401                                document.getElementById('photos_sort_revert').style.display = 'none'; 
     402                        } else { 
     403                                threads.worker.dispatch(new EnableUpload(), threads.worker.DISPATCH_NORMAL); 
     404                                document.getElementById('photos_sort_default').style.display = 'none'; 
     405                                document.getElementById('photos_sort_revert').style.display = 'block'; 
    409406                        } 
    410407                } 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/chrome/content/uploadr/threads.js

    r173 r182  
    488488PhotoAddCallback.prototype = { 
    489489        run: function() { 
    490 Components.utils.reportError(this.path); 
    491490                photos._add(this.path); 
    492491                if (null != this.obj) { 
  • trunk/uploadr/MacUploadr.app/Contents/Resources/components/clh.js

    r172 r182  
    1717        }, 
    1818 
    19         handle : function(cmdLine){ 
     19        handle : function(cl){ 
    2020 
    21                 var start_index = 0; 
     21                var start = 0; 
    2222 
    23                 if (cmdLine.state == 1){ // STATE_REMOTE_AUTO 
    24  
     23                if (1 == cl.state){ // STATE_REMOTE_AUTO 
    2524                        // calh: i needed this in my test app, since arg 0 was the application.ini file (wtf?) 
    2625                        //       don't seem to need it for uploadr though... 
    27                         //start_index = 1; 
     26                        //start = 1; 
    2827                } 
    2928 
    30                 for (var i=start_index; i<cmdLine.length; i++){ 
     29                var wm = Cc["@mozilla.org/appshell/window-mediator;1"] 
     30                        .getService(Ci.nsIWindowMediator); 
     31                var win = wm.getMostRecentWindow('app'); 
    3132 
    32                         var arg = cmdLine.getArgument(i); 
     33                var ii = cl.length; 
     34                var send_queue = []; 
     35                for (var i = start; i < ii; ++i) { 
     36                        var arg = cl.getArgument(i); 
     37                        if ('-' == arg.substr(0,1)) continue; 
    3338 
    34                         if (arg.substr(0,1) == '-') continue; 
    35  
    36                         var wm = Cc["@mozilla.org/appshell/window-mediator;1"] 
    37                                 .getService(Ci.nsIWindowMediator); 
    38                         var win = wm.getMostRecentWindow('app'); 
    39  
    40                         if (win){ 
    41                                 win.clh.handle(arg); 
    42                         }else{ 
     39                        // Either queue it for immediate sending or queue it for later 
     40                        if (win) { 
     41                                send_queue.push(arg); 
     42                        } else { 
    4343                                this.local_queue.push(arg); 
    4444                        } 
     45 
    4546                } 
    4647 
    47                 if (cmdLine.state == 1){ // STATE_REMOTE_AUTO 
    48                         cmdLine.preventDefault = true; 
     48                // If we found a window, we need to send the queue 
     49                if (0 < send_queue.length) { 
     50                        win.clh(send_queue.join('|||||')); 
     51                } 
     52 
     53                if (1 == cl.state) { // STATE_REMOTE_AUTO 
     54                        cl.preventDefault = true; 
    4955                } 
    5056        }, 
  • trunk/uploadr/NOTES

    r60 r182  
    139139                Uploadr 2.5             Win             7s 
    140140                Uploadr 3.0             Win             13s 
     141 
     142 
     143 
     144Files changed in my hacked up XULRunner locales 
     145        locale/xx-xx/global/dialog.properties 
     146        locale/xx-xx/global/wizard.dtd 
     147        locale/xx-xx/mozapps/update/* 
  • trunk/uploadr/README

    r175 r182  
    182182 
    183183Use the Visual Studio projects in: 
    184   UPLOADR/MacUploadr.app/Contents/Resourcescomponents/*.vcproj 
     184  UPLOADR/MacUploadr.app/Contents/Resources/components/*.vcproj 
    185185 
    186186Mac 
     
    188188 
    189189Use the Makefile in: 
    190   UPLOADR/MacUploadr.app/Contents/Resourcescomponents/ 
     190  UPLOADR/MacUploadr.app/Contents/Resources/components/ 
    191191 
    192192After rebuilding the XPCOM extensions you must increment the BuildID