From 221d1875ff96e811032a38e2d24e266a367e32f8 Mon Sep 17 00:00:00 2001 From: Damien Churchill Date: Thu, 2 Apr 2009 18:09:34 +0000 Subject: [PATCH] fix the spacer image trying to be retrieved from extjs.com --- deluge/ui/web/css/deluge.css | 8 ++- deluge/ui/web/images/s.gif | Bin 0 -> 43 bytes deluge/ui/web/js/deluge-add.js | 66 ++++++++++++++++++++--- deluge/ui/web/js/ext-mootools-adapter.js | 4 +- 4 files changed, 67 insertions(+), 11 deletions(-) create mode 100644 deluge/ui/web/images/s.gif diff --git a/deluge/ui/web/css/deluge.css b/deluge/ui/web/css/deluge.css index 966ee0fc9..9fc3d8b66 100644 --- a/deluge/ui/web/css/deluge.css +++ b/deluge/ui/web/css/deluge.css @@ -96,16 +96,20 @@ input { background: url('/icons/add.png') no-repeat 2px; } -.x-deluge-add-file { +/*.x-deluge-add-file { background: url('/icons/add_file.png'); padding-left: 20px; -} +}*/ .x-form-file-wrap, .x-form-file { cursor: pointer; } /* Add Url Window */ +.x-deluge-add-file, .x-btn .x-deluge-add-file { + background: url('/icons/add_file.png') no-repeat 2px; +} + .x-deluge-add-url-window-icon { background: url('/icons/add_url.png') no-repeat 2px; } diff --git a/deluge/ui/web/images/s.gif b/deluge/ui/web/images/s.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 ucmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ|~c3=BFT0wlx0#N@)rU=0A%AqP7E literal 0 HcmV?d00001 diff --git a/deluge/ui/web/js/deluge-add.js b/deluge/ui/web/js/deluge-add.js index f0faa6599..eaf2dfc2e 100644 --- a/deluge/ui/web/js/deluge-add.js +++ b/deluge/ui/web/js/deluge-add.js @@ -50,6 +50,10 @@ Deluge.Add = { this.Window.hide(); }, + onFile: function() { + this.File.Window.show(); + }, + onRender: function(window) { new Ext.tree.TreeSorter(this.Files, { folderSort: true @@ -160,8 +164,10 @@ Deluge.Add.Grid = new Ext.grid.GridPanel({ { id: 'file', cls: 'x-btn-text-icon', - icon: '/icons/add_file.png', - text: _('File') + iconCls: 'x-deluge-add-file', + text: _('File'), + handler: Deluge.Add.onFile, + scope: Deluge.Add }, { id: 'url', cls: 'x-btn-text-icon', @@ -201,11 +207,52 @@ Deluge.Add.Options = new Ext.TabPanel({ }] }); +Deluge.Add.File = { + +} + +Deluge.Add.File.form = new Ext.form.FormPanel({ + defaultType: 'textfield', + id: 'fileAddForm', + baseCls: 'x-plain', + labelWidth: 55, + items: [new Ext.form.FileUploadField({ + fieldLabel: _('File'), + id: 'file', + name: 'file', + listeners: { + 'specialkey': { + fn: Deluge.Add.File.onAdd, + scope: Deluge.Add.File + } + } + })] +}); + +Deluge.Add.File.Window = new Ext.Window({ + layout: 'fit', + width: 350, + height: 115, + bodyStyle: 'padding: 10px 5px;', + buttonAlign: 'center', + closeAction: 'hide', + modal: true, + plain: true, + title: _('Add from File'), + iconCls: 'x-deluge-add-file', + items: Deluge.Add.File.form, + buttons: [{ + text: _('Add'), + handler: Deluge.Add.File.onAdd, + scope: Deluge.Add.File + }] +}); + Deluge.Add.Url = { onAdd: function(field, e) { if (field.id == 'url' && e.getKey() != e.ENTER) return; - var field = this.Form.items.get('url'); + var field = this.form.items.get('url'); var url = field.getValue(); Deluge.Client.web.download_torrent_from_url(url, { @@ -222,12 +269,12 @@ Deluge.Add.Url = { onGotInfo: function(info) { var bound = Deluge.Add.onTorrentAdded.bind(Deluge.Add) - this.Form.items.get('url').setValue(''); + this.form.items.get('url').setValue(''); bound(info); } } -Deluge.Add.Url.Form = new Ext.form.FormPanel({ +Deluge.Add.Url.form = new Ext.form.FormPanel({ defaultType: 'textfield', id: 'urlAddForm', baseCls: 'x-plain', @@ -258,7 +305,7 @@ Deluge.Add.Url.Window = new Ext.Window({ plain: true, title: _('Add from Url'), iconCls: 'x-deluge-add-url-window-icon', - items: Deluge.Add.Url.Form, + items: Deluge.Add.Url.form, buttons: [{ text: _('Add'), handler: Deluge.Add.Url.onAdd, @@ -288,5 +335,10 @@ Deluge.Add.Window = new Ext.Window({ handler: Deluge.Add.onAdd, scope: Deluge.Add }], - listeners: {'render': {fn: Deluge.Add.onRender, scope: Deluge.Add}} + listeners: { + 'render': { + fn: Deluge.Add.onRender, + scope: Deluge.Add + } + } }); \ No newline at end of file diff --git a/deluge/ui/web/js/ext-mootools-adapter.js b/deluge/ui/web/js/ext-mootools-adapter.js index db29c45a2..4a51e281e 100644 --- a/deluge/ui/web/js/ext-mootools-adapter.js +++ b/deluge/ui/web/js/ext-mootools-adapter.js @@ -5,7 +5,7 @@ * Version: 0.9a */ -Ext={version:"2.0.2"};window["undefined"]=window["undefined"];Ext.apply=function(C,D,B){if(B){Ext.apply(C,B)}if(C&&D&&typeof D=="object"){for(var A in D){C[A]=D[A]}}return C};(function(){var idSeed=0;var ua=navigator.userAgent.toLowerCase();var isStrict=document.compatMode=="CSS1Compat",isOpera=ua.indexOf("opera")>-1,isSafari=(/webkit|khtml/).test(ua),isSafari3=isSafari&&ua.indexOf("webkit/5")!=-1,isIE=!isOpera&&ua.indexOf("msie")>-1,isIE7=!isOpera&&ua.indexOf("msie 7")>-1,isGecko=!isSafari&&ua.indexOf("gecko")>-1,isBorderBox=isIE&&!isStrict,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isAir=(ua.indexOf("adobeair")!=-1),isLinux=(ua.indexOf("linux")!=-1),isSecure=window.location.href.toLowerCase().indexOf("https")===0;if(isIE&&!isIE7){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}Ext.apply(Ext,{isStrict:isStrict,isSecure:isSecure,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,SSL_SECURE_URL:"javascript:false",BLANK_IMAGE_URL:"http:/"+"/extjs.com/s.gif",emptyFn:function(){},applyIf:function(o,c){if(o&&c){for(var p in c){if(typeof o[p]=="undefined"){o[p]=c[p]}}}return o},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o)});return }var cache={};for(var b in o){var parts=b.split("@");if(parts[1]){var s=parts[0];if(!cache[s]){cache[s]=Ext.select(s)}cache[s].on(parts[1],o[b])}}cache=null},id:function(el,prefix){prefix=prefix||"ext-gen";el=Ext.getDom(el);var id=prefix+(++idSeed);return el?(el.id?el.id:(el.id=id)):id},extend:function(){var io=function(o){for(var m in o){this[m]=o[m]}};var oc=Object.prototype.constructor;return function(sb,sp,overrides){if(typeof sp=="object"){overrides=sp;sp=sb;sb=overrides.constructor!=oc?overrides.constructor:function(){sp.apply(this,arguments)}}var F=function(){},sbp,spp=sp.prototype;F.prototype=spp;sbp=sb.prototype=new F();sbp.constructor=sb;sb.superclass=spp;if(spp.constructor==oc){spp.constructor=sp}sb.override=function(o){Ext.override(sb,o)};sbp.override=io;Ext.override(sb,overrides);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(origclass,overrides){if(overrides){var p=origclass.prototype;for(var method in overrides){p[method]=overrides[method]}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i-1,isSafari=(/webkit|khtml/).test(ua),isSafari3=isSafari&&ua.indexOf("webkit/5")!=-1,isIE=!isOpera&&ua.indexOf("msie")>-1,isIE7=!isOpera&&ua.indexOf("msie 7")>-1,isGecko=!isSafari&&ua.indexOf("gecko")>-1,isBorderBox=isIE&&!isStrict,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isAir=(ua.indexOf("adobeair")!=-1),isLinux=(ua.indexOf("linux")!=-1),isSecure=window.location.href.toLowerCase().indexOf("https")===0;if(isIE&&!isIE7){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}Ext.apply(Ext,{isStrict:isStrict,isSecure:isSecure,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,SSL_SECURE_URL:"javascript:false",BLANK_IMAGE_URL:"/images/s.gif",emptyFn:function(){},applyIf:function(o,c){if(o&&c){for(var p in c){if(typeof o[p]=="undefined"){o[p]=c[p]}}}return o},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o)});return }var cache={};for(var b in o){var parts=b.split("@");if(parts[1]){var s=parts[0];if(!cache[s]){cache[s]=Ext.select(s)}cache[s].on(parts[1],o[b])}}cache=null},id:function(el,prefix){prefix=prefix||"ext-gen";el=Ext.getDom(el);var id=prefix+(++idSeed);return el?(el.id?el.id:(el.id=id)):id},extend:function(){var io=function(o){for(var m in o){this[m]=o[m]}};var oc=Object.prototype.constructor;return function(sb,sp,overrides){if(typeof sp=="object"){overrides=sp;sp=sb;sb=overrides.constructor!=oc?overrides.constructor:function(){sp.apply(this,arguments)}}var F=function(){},sbp,spp=sp.prototype;F.prototype=spp;sbp=sb.prototype=new F();sbp.constructor=sb;sb.superclass=spp;if(spp.constructor==oc){spp.constructor=sp}sb.override=function(o){Ext.override(sb,o)};sbp.override=io;Ext.override(sb,overrides);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(origclass,overrides){if(overrides){var p=origclass.prototype;for(var method in overrides){p[method]=overrides[method]}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i=this.left&®ion.right<=this.right&®ion.top>=this.top&®ion.bottom<=this.bottom);},getArea:function(){return((this.bottom-this.top)*(this.right-this.left));},intersect:function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new Ext.lib.Region(t,r,b,l);}else{return null;}},union:function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new Ext.lib.Region(t,r,b,l);},constrainTo:function(r){this.top=this.top.constrain(r.top,r.bottom);this.bottom=this.bottom.constrain(r.top,r.bottom);this.left=this.left.constrain(r.left,r.right);this.right=this.right.constrain(r.left,r.right);return this;},adjust:function(t,l,b,r){this.top+=t;this.left+=l;this.right+=r;this.bottom+=b;return this;}};Ext.lib.Region.getRegion=function(el){var p=Ext.lib.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new Ext.lib.Region(t,r,b,l);};Ext.lib.Point=function(x,y){if(Ext.isArray(x)){y=x[1];x=x[0];} -this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y;};Ext.lib.Point.prototype=new Ext.lib.Region();})(); \ No newline at end of file +this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y;};Ext.lib.Point.prototype=new Ext.lib.Region();})();