- Timestamp:
- 03/28/11 18:08:39 (1 year ago)
- Location:
- trunk
- Files:
-
- 1 added
- 14 modified
- 1 copied
-
Xinha.css (modified) (2 diffs)
-
XinhaCore.js (modified) (5 diffs)
-
plugins/ExtendedFileManager/ExtendedFileManager.js (modified) (2 diffs)
-
plugins/ExtendedFileManager/assets/manager.js (modified) (1 diff)
-
plugins/ImageManager/Classes/Transform.php (modified) (1 diff)
-
plugins/ImageManager/backend.php (modified) (1 diff)
-
plugins/MootoolsFileManager/MootoolsFileManager.ImageManager.js (modified) (11 diffs)
-
plugins/MootoolsFileManager/MootoolsFileManager.js (modified) (4 diffs)
-
plugins/MootoolsFileManager/backend.php (modified) (2 diffs)
-
plugins/MootoolsFileManager/config.php (modified) (1 diff)
-
plugins/MootoolsFileManager/mootools-filemanager/.git/index (modified) (previous)
-
plugins/MootoolsFileManager/mootools-filemanager/Backend/Upload.php (modified) (1 diff)
-
plugins/MootoolsFileManager/mootools-filemanager/Source/FileManager.js (modified) (5 diffs)
-
plugins/PersistentStorage/dialog.css (copied) (copied from trunk/Xinha.css) (1 diff)
-
skins/blue-look/skin.css (modified) (1 diff)
-
skins/blue-look/skin.xml (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Xinha.css
r1234 r1297 1 1 .htmlarea { background: #fff; } 2 .htmlarea td { margin:0 ;padding:0; }2 .htmlarea td { margin:0 !important;padding:0 !important; } 3 3 4 4 .htmlarea .toolbarRow { … … 387 387 display: none; 388 388 } 389 390 .placesmanager391 {392 width: 95%;393 overflow: auto;394 }395 396 .filemanager397 {398 width: 95%;399 height: 200px;400 overflow: auto;401 background-color: #fff;402 }403 .filemanager div.file404 {405 min-width: 80px;406 height: 100px;407 position: relative;408 float: left;409 border: 1px outset #666;410 margin: 4px;411 }412 .placesmanager div.file413 {414 min-width: 60px;415 height: 70px;416 position: relative;417 float: left;418 border: 1px outset #666;419 margin: 4px;420 }421 .filemanager div.file:hover,422 .placesmanager div.file:hover423 {424 border: 1px solid #333;425 background: #fffff3;426 }427 428 .filemanager div.selected,429 .filemanager div.selected:hover,430 .placesmanager div.selected,431 .placesmanager div.selected:hover432 {433 background: #ffffda;434 border: 1px solid #000;435 }436 .filemanager .filename {437 margin: 0.5em;438 color: #222;439 }440 .filemanager div.selected .filename {441 color: #000;442 }443 .filemanager img.thumb444 {445 width: 50px;446 height: 50px;447 position: absolute;448 top: 50%;449 left: 50%;450 margin: -25px 0 0 -25px;451 border: 1px solid black;452 }453 .filemanager img.icon454 {455 width: 32px;456 height: 32px;457 position: absolute;458 top: 50%;459 left: 50%;460 margin: -16px 0 0 -16px;461 }462 .filemanager img.action463 {464 width: 15px;465 height: 15px;466 position: absolute;467 }468 .filemanager img.delete469 {470 bottom: 3px;471 left: 20px;472 }473 .filemanager img.copy474 {475 bottom: 3px;476 left: 3px;477 } -
trunk/XinhaCore.js
r1296 r1297 3658 3658 editor._onGenerate(); 3659 3659 } 3660 3661 if(editor._textArea.hasAttribute('onxinhaready')) 3662 { 3663 (function() { eval(editor._textArea.getAttribute('onxinhaready')) }).call(editor.textArea); 3664 } 3665 3660 3666 //ticket #1407 IE8 fires two resize events on one actual resize, seemingly causing an infinite loop (but not when Xinha is in an frame/iframe) 3661 3667 Xinha.addDom0Event(window, 'resize', function(e) … … 4205 4211 return this.loadNext(); 4206 4212 4207 case 'text/javascript': 4213 case 'text/javascript': 4214 this.loadedScripts.push(nxt); 4208 4215 Xinha.loadScript(nxt.url, nxt.plugin, function() { self.loadNext(); }); 4209 4216 } … … 4231 4238 { 4232 4239 if(this.loadedScripts[i].url == url && this.loadedScripts[i].plugin == plugin) 4240 { 4241 if(!this.loaderRunning) this.loadNext(); 4233 4242 return this; // Already done (or in process) 4243 } 4234 4244 } 4235 4245 4246 for(var i = 0; i < this.pendingAssets.length; i++) 4247 { 4248 if(this.pendingAssets[i].url == url && this.pendingAssets[i].plugin == plugin) 4249 { 4250 if(!this.loaderRunning) this.loadNext(); 4251 return this; // Already pending 4252 } 4253 } 4254 4236 4255 return this.loadScript(url, plugin); 4237 4256 } … … 7202 7221 }; 7203 7222 7223 7224 /** Use XMLHTTPRequest to send some some data to the server and return the result synchronously 7225 * 7226 * @param {String} url The address for the HTTPRequest 7227 * @param data the data to send, streing or array 7228 */ 7229 Xinha._posturlcontent = function(url, data, returnXML) 7230 { 7231 var req = null; 7232 req = Xinha.getXMLHTTPRequestObject(); 7233 7234 var content = ''; 7235 if (typeof data == 'string') 7236 { 7237 content = data; 7238 } 7239 else if(typeof data == "object") 7240 { 7241 for ( var i in data ) 7242 { 7243 content += (content.length ? '&' : '') + i + '=' + encodeURIComponent(data[i]); 7244 } 7245 } 7246 7247 req.open('POST', url, false); 7248 req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'+(Xinha._postback_send_charset ? '; charset=UTF-8' : '')); 7249 req.send(content); 7250 7251 if ( ((req.status / 100) == 2) || Xinha.isRunLocally && req.status === 0 ) 7252 { 7253 return (returnXML) ? req.responseXML : req.responseText; 7254 } 7255 else 7256 { 7257 return ''; 7258 } 7259 7260 }; 7204 7261 // Unless somebody already has, make a little function to debug things 7205 7262 … … 7266 7323 /** Walks through an array and, if the specified item exists in it, returns the position 7267 7324 * @param {String} needle The string to search for 7268 * @returns {Integer| null} Index position if item found, null otherwise7325 * @returns {Integer|-1} Index position if item found, -1 otherwise (same as built in js) 7269 7326 */ 7270 7327 Array.prototype.indexOf = function(needle) -
trunk/plugins/ExtendedFileManager/ExtendedFileManager.js
r1252 r1297 239 239 baseHref: editor.config.baseHref 240 240 }; 241 } else 241 } 242 else 243 { 242 244 outparam.param = { 243 245 f_href : Xinha.is_ie ? link.href : link.getAttribute("href"), … … 247 249 baseHref: editor.config.baseHref 248 250 }; 251 } 249 252 250 253 Dialog(this.config.ExtendedFileManager.manager+'&mode=link', function(param){ -
trunk/plugins/ExtendedFileManager/assets/manager.js
r1054 r1297 152 152 { 153 153 var target_select = document.getElementById("f_target"); 154 var absoluteURL = new RegExp('^ https?://');154 var absoluteURL = new RegExp('^(/|(https?://))'); 155 155 156 156 if (param.f_href.length > 0 && !absoluteURL.test(param.f_href) && typeof param.baseHref == "string") { -
trunk/plugins/ImageManager/Classes/Transform.php
r999 r1297 131 131 132 132 $classname = "Image_Transform_Driver_{$driver}"; 133 $obj = &new $classname;133 $obj = new $classname; 134 134 return $obj; 135 135 } -
trunk/plugins/ImageManager/backend.php
r1192 r1297 31 31 32 32 // Strip slashes if MQGPC is on 33 set_magic_quotes_runtime(0);33 if(function_exists('set_magic_quotes_runtime')) @set_magic_quotes_runtime(0); 34 34 if(get_magic_quotes_gpc()) 35 35 { -
trunk/plugins/MootoolsFileManager/MootoolsFileManager.ImageManager.js
r1247 r1297 37 37 outparam = 38 38 { 39 f_url : Xinha.is_ie ? image.src : image.src,39 f_url : image.getAttribute('src'), //Xinha.is_ie ? image.src : image.src, 40 40 f_alt : image.alt, 41 41 f_border : image.style.borderWidth ? image.style.borderWidth : image.border, … … 73 73 onComplete: function(path, file) { self.ImageManagerReturn(path,file); }, 74 74 onHide: function() { if(this.swf && this.swf.box) this.swf.box.style.display = 'none'; }, 75 onShow: function() { if(this.swf && this.swf.box) this.swf.box.style.display = ''; }, 75 onShow: function() { 76 if(this.swf && this.swf.box) this.swf.box.style.display = ''; 77 if(self.current_image) 78 { 79 var src = self.current_image.getAttribute('src'); 80 if(!src.match(/^(([a-z]+:)|\/)/i)) 81 { 82 src = self.editor.config.baseHref.replace(/\/[^\/]*$/, '') + '/' + src; 83 if(src.match(/^[a-z]+:/i) && !self.phpcfg.images_url.match(/^[a-z]:/i)) 84 { 85 src = src.replace(/^[a-z]+:(\/\/?)[^/]*/i, ''); 86 } 87 } 88 var path = src.replace(self.phpcfg.images_url+'/', '').split('/'); 89 var base = path.pop(); 90 path = self.phpcfg.images_url.split('/').pop() + (path.length ? ('/' + path.join('/')) : ''); 91 this.load(path, true, (function() { this.fillInfo(base); }).bind(this)); 92 } 93 }, 76 94 onDetails: function(details) 77 95 { … … 178 196 179 197 var img = div.appendChild(document.createElement('img')); 180 img.src = '/plugins/ImageManager/img/locked.gif';198 img.src = Xinha.getPluginDir("ImageManager") + '/img/locked.gif'; 181 199 img.width = 25; 182 200 img.height = 32; … … 201 219 { // HSPACE/VSPACE 202 220 var th = tr.appendChild(document.createElement('th')); 203 var label = th.appendChild(document.createTextNode(' Margin:'));221 var label = th.appendChild(document.createTextNode('L/R Margin:')); 204 222 205 223 var td = tr.appendChild(document.createElement('td')); … … 208 226 input.size = 3; 209 227 input.type = 'text'; 210 211 td.appendChild(document.createTextNode(' x ')); 228 td.appendChild(document.createTextNode(' px ')); 229 th.className = td.className = 'filemanager-f_hspace'; 230 231 var th = tr.appendChild(document.createElement('th')); 232 var label = th.appendChild(document.createTextNode('T/B Margin:')); 233 var td = tr.appendChild(document.createElement('td')); 212 234 var input = td.appendChild(document.createElement('input')); 213 235 input.name = 'f_vspace'; … … 215 237 input.type = 'text'; 216 238 td.appendChild(document.createTextNode(' px ')); 217 th.className = td.className = 'filemanager-f_ hspace filemanager-f_vspace';239 th.className = td.className = 'filemanager-f_vspace'; 218 240 } 219 241 else … … 291 313 input.title = 'Positioning of this image'; 292 314 input.options[0] = new Option('', true, true); 293 input.options[1] = new Option('Left' );294 input.options[2] = new Option('Right' );295 input.options[3] = new Option('Top' );296 input.options[4] = new Option('Middle' );297 input.options[5] = new Option('Bottom' );315 input.options[1] = new Option('Left', 'left'); 316 input.options[2] = new Option('Right', 'right'); 317 input.options[3] = new Option('Top', 'top'); 318 input.options[4] = new Option('Middle', 'middle'); 319 input.options[5] = new Option('Bottom', 'bottom'); 298 320 299 321 // @TODO Constrain Ratio … … 420 442 421 443 table: this._ImageManagerAttributesTable 422 } 423 444 } 424 445 return details; 425 446 } … … 427 448 // If details were supplied, we set the appropriate ones. 428 449 if( 429 (f('f_width').value && f('f_width').value != details.width) 430 || (f('f_height').value && f('f_height').value != details.height) 450 ( (f('f_width').value && f('f_width').value != details.width) 451 || (f('f_height').value && f('f_height').value != details.height) ) 452 && 453 (!details.url || !this.current_image || this.current_image.getAttribute('src') != details.url) 431 454 ) 432 455 { 433 new Dialog('This image is a different size, would you like to use the new size?', { 434 language: { 435 confirm: 'Shrink/Grow To Fit', 436 decline: 'Fullsize' 437 }, 438 439 buttons: [ 440 'confirm', 441 'decline' 442 ], 456 // Check if this is the same image 457 var warn = function() { 458 new Dialog('This image is a different size, would you like to use the new size?', { 459 language: { 460 confirm: 'Shrink/Grow To Fit', 461 decline: 'Fullsize' 462 }, 463 464 buttons: [ 465 'confirm', 466 'decline' 467 ], 468 469 onConfirm: function(){ 470 if(f('f_constrain').checked) 471 { 472 var new_size = self.ScaleImage(details, {width: f('f_width').value, height: f('f_height').value}); 473 474 f('f_width').value = f('f_width').value ? new_size.width : ''; 475 f('f_height').value = f('f_height').value ? new_size.height : ''; 476 } 477 }, 478 479 onDecline: function(){ 480 f('f_width').value = ''; 481 f('f_height').value = ''; 482 } 483 }); 484 } 443 485 444 onConfirm: function(){ 445 if(f('f_constrain').checked) 446 { 447 var new_size = self.ScaleImage(details, {width: f('f_width').value, height: f('f_height').value}); 448 449 f('f_width').value = f('f_width').value ? new_size.width : ''; 450 f('f_height').value = f('f_height').value ? new_size.height : ''; 451 } 452 }, 453 454 onDecline: function(){ 455 f('f_width').value = ''; 456 f('f_height').value = ''; 457 } 458 }); 486 if(!details.url) warn(); 487 else if(!this.current_image) warn(); 488 else 489 { 490 var src = self.current_image.getAttribute('src'); 491 if(!src.match(/^(([a-z]+:)|\/)/i)) 492 { 493 src = self.editor.config.baseHref.replace(/\/[^\/]*$/, '') + '/' + src; 494 if(src.match(/^[a-z]+:/i) && !self.phpcfg.images_url.match(/^[a-z]:/i)) 495 { 496 src = src.replace(/^[a-z]+:(\/\/?)[^/]*/i, ''); 497 } 498 } 499 if(details.url != src) warn(); 500 } 501 459 502 } 460 503 … … 537 580 case "f_margin": 538 581 { 539 if(value .length)582 if(value && value.length) 540 583 { 541 584 img.style.margin = /[^0-9]/.test(value) ? value : (parseInt(value) + 'px'); … … 548 591 break; 549 592 550 case "f_align" : if( img.align && img.align!== true) { img.align = value; } else { img.removeAttribute('align'); } break;593 case "f_align" : if(value && value !== true) { img.align = value; } else { img.removeAttribute('align'); } break; 551 594 552 595 case "f_width" : -
trunk/plugins/MootoolsFileManager/MootoolsFileManager.js
r1245 r1297 52 52 .loadStyle('mootools-filemanager/Css/FileManager.css', 'MootoolsFileManager') 53 53 .loadStyle('mootools-filemanager/Css/Additions.css', 'MootoolsFileManager') 54 .loadScript('mootools-filemanager/Source/FileManager.js', 'MootoolsFileManager') 55 .loadScript('mootools-filemanager/Language/Language.en.js', 'MootoolsFileManager') 56 .loadScript('mootools-filemanager/Source/Additions.js', 'MootoolsFileManager') 54 .loadScript('mootools-filemanager/Source/Additions.js', 'MootoolsFileManager') 57 55 .loadScript('mootools-filemanager/Source/Uploader/Fx.ProgressBar.js', 'MootoolsFileManager') 58 56 .loadScript('mootools-filemanager/Source/Uploader/Swiff.Uploader.js', 'MootoolsFileManager') 59 .loadScript('mootools-filemanager/Source/Uploader.js', 'MootoolsFileManager'); 57 .loadScript('mootools-filemanager/Source/FileManager.js', 'MootoolsFileManager') 58 .loadScript('mootools-filemanager/Source/Uploader.js', 'MootoolsFileManager') 59 .loadScript('mootools-filemanager/Language/Language.en.js', 'MootoolsFileManager'); 60 60 } 61 61 MootoolsFileManager.AssetLoader.loadStyle('MootoolsFileManager.css', 'MootoolsFileManager'); … … 63 63 64 64 function MootoolsFileManager(editor) 65 { 65 { 66 66 this.editor = editor; 67 67 var self = this; … … 69 69 70 70 // Do a callback to the PHP backend and get it to "decode" the configuration for us into a 71 // javascript object. 72 Xinha._postback(editor.config.MootoolsFileManager.backend+'__function=read-config', editor.config.MootoolsFileManager.backend_data, 73 function(phpcfg) 74 { 75 eval ('var f = '+phpcfg+';'); 76 self.phpcfg = f; self.hookUpButtons(); 77 }); 71 // javascript object. 72 73 // IMPORTANT: we need to do this synchronously to ensure that the buttons are added to the toolbar 74 // before the toolbar is drawn. 75 76 var phpcfg = Xinha._posturlcontent(editor.config.MootoolsFileManager.backend+'__function=read-config', editor.config.MootoolsFileManager.backend_data); 77 78 eval ('var f = '+phpcfg+';'); 79 self.phpcfg = f; 80 self.hookUpButtons(); 78 81 79 82 return; … … 116 119 117 120 // Override our Editors insert image button action. 118 self.editor._insertImage = function( )119 { 120 MootoolsFileManager.AssetLoader.whenReady(function() { self.OpenImageManager( ); });121 self.editor._insertImage = function(image) 122 { 123 MootoolsFileManager.AssetLoader.whenReady(function() { self.OpenImageManager(image); }); 121 124 } 122 125 } -
trunk/plugins/MootoolsFileManager/backend.php
r1245 r1297 31 31 32 32 // Strip slashes if MQGPC is on 33 set_magic_quotes_runtime(0);34 if( get_magic_quotes_gpc())33 if(function_exists('set_magic_quotes_runtime')) @set_magic_quotes_runtime(0); 34 if(function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc()) 35 35 { 36 36 $to_clean = array(&$_GET, &$_POST, &$_REQUEST, &$_COOKIE); … … 57 57 if(preg_match('/([0-9\.])+([a-zA-Z]+)/', $s, $M)) 58 58 { 59 switch(strtolower($M ))59 switch(strtolower($M[2])) 60 60 { 61 61 case 'm': -
trunk/plugins/MootoolsFileManager/config.php
r1245 r1297 137 137 $IMConfig['base_url'] = preg_replace('/\/backend\.php.*/', '', $_SERVER['REQUEST_URI']); 138 138 139 /** 140 141 == HTML Compatability == 142 143 For most people the default of using CSS will be fine, but if the HTML you are editing 144 in Xinha is destined for an email you will probably want to use hspace and vspace 145 instead of CSS margins because of poor Email support for CSS. 146 147 */ 148 149 $IMConfig['UseHSpaceVSpace'] = TRUE; 139 150 140 151 /** -
trunk/plugins/MootoolsFileManager/mootools-filemanager/Backend/Upload.php
r1269 r1297 93 93 'extension' => strtolower(pathinfo($file, PATHINFO_EXTENSION)), 94 94 ), $options); 95 95 $options['extension'] = strtolower($options['extension']); 96 96 $mime = null; 97 97 $ini = error_reporting(0); -
trunk/plugins/MootoolsFileManager/mootools-filemanager/Source/FileManager.js
r1245 r1297 310 310 }, 311 311 312 load: function(dir, nofade){ 312 /* XINHA: We add a callback capability which will be called whe the loading is completed. 313 * NOTE: For some reason, MFM wants the dir to include the last component of the prefix 314 * eg if your images_dir is /fancy/images and you want to load /fancy/images/foo/bar you must pass 315 * images/foo/bar -- crazy annoying 316 */ 317 318 load: function(dir, nofade, callback){ 313 319 this.deselect(); 314 320 if (!nofade) this.info.fade(0); … … 320 326 onSuccess: (function(j){ 321 327 this.fill(j, nofade); 328 if(callback) callback(j); 322 329 }).bind(this), 323 330 data: { … … 444 451 icons = $$(icons.map(function(icon){ return icon.appearOn(icon, [1, 0.7]); })).appearOn(el.getParent('li'), 0.7); 445 452 }, this); 446 453 this.CurrentFiles = j.files; // XINHA - fillInfo() will use this to find a pre-selected file 454 447 455 var self = this, revert = function(el){ 448 456 el.set('opacity', 1).store('block', true).removeClass('drag').removeClass('move').setStyles({ … … 454 462 top: 0 455 463 }).inject(el.retrieve('parent')); 456 el.getElements('img.browser-icon').set('opacity', 0);464 // el.getElements('img.browser-icon').set('opacity', 0); // XINHA - NOT REQUIRED? 457 465 458 466 document.removeEvents('keydown', self.bound.keydown).removeEvents('keyup', self.bound.keydown); … … 552 560 if (!file) file = this.CurrentDir; 553 561 if (!path) path = this.Directory; 554 562 555 563 if (!file) return; 564 565 /* XINHA: In order to facilitate pre-selecting an image/file for modification, we can pass in a filename (just the basename) 566 as file and we will search in the current files for it. You must have done a load first, and call the fillInfo as a result of the load. 567 YourImageManager.load('path/to/dir', true, function() { YourImageManager.fillInfo('file.jpg'); }); 568 */ 569 var self = this; 570 if(typeof file == 'string') 571 { 572 if(this.CurrentFiles) 573 { 574 this.CurrentFiles.each(function(f) 575 { 576 if(typeof file != 'string') return; 577 if(f.name == file) 578 { 579 file = f; 580 if(file.element) 581 { 582 self.Current = file.element.addClass('selected'); 583 self.switchButton(); 584 } 585 586 } 587 }); 588 } 589 } 590 556 591 var size = this.size(file.size); 557 592 -
trunk/plugins/PersistentStorage/dialog.css
r1234 r1297 1 .htmlarea { background: #fff; }2 .htmlarea td { margin:0;padding:0; }3 4 .htmlarea .toolbarRow {5 width:1px;6 }7 8 .htmlarea .toolbar {9 cursor: default;10 background: ButtonFace;11 padding: 3px;12 border: 1px solid;13 border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;14 }15 .htmlarea .toolbar table { margin: 0; font-family: Tahoma, Verdana,sans-serif; font-size: 11px; }16 .htmlarea .toolbar img { border: none; vertical-align: top; }17 .htmlarea .toolbar .label { padding: 0 3px; }18 19 .htmlarea .toolbar .button {20 background: ButtonFace;21 color: ButtonText;22 border: 1px solid ButtonFace;23 padding: 1px;24 margin: 0;25 width: 18px;26 height: 18px;27 }28 .htmlarea .toolbar a.button:hover {29 border: 1px solid;30 border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;31 }32 .htmlarea .toolbar a.buttonDisabled:hover {33 border-color: ButtonFace;34 }35 .htmlarea .toolbar .buttonActive,36 .htmlarea .toolbar .buttonPressed37 {38 padding: 2px 0 0 2px;39 border: 1px solid;40 border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;41 }42 .htmlarea .toolbar .buttonPressed {43 background: ButtonHighlight;44 }45 .htmlarea .toolbar .indicator {46 padding: 0 3px;47 overflow: hidden;48 width: 20px;49 text-align: center;50 cursor: default;51 border: 1px solid ButtonShadow;52 }53 54 .htmlarea .toolbar .buttonDisabled img {55 filter: gray() alpha(opacity = 25);56 -moz-opacity: 0.25;57 opacity: 0.25;58 }59 60 .htmlarea .toolbar .separator {61 /*position: relative;*/62 margin:0 3px;63 border-left: 1px solid ButtonShadow;64 border-right: 1px solid ButtonHighlight;65 width: 0;66 height: 18px;67 padding: 0;68 }69 70 .htmlarea .toolbar .space { width: 5px; }71 72 .htmlarea .toolbar select, .htmlarea .toolbar option { font: 11px Tahoma,Verdana,sans-serif;}73 74 .htmlarea .toolbar select,75 .htmlarea .toolbar select:hover,76 .htmlarea .toolbar select:active {77 position:relative;78 top:-2px;79 margin-bottom:-2px;80 color: ButtonText;81 }82 83 .htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea84 {85 border: none; /*1px solid;*/86 }87 88 .htmlarea .statusBar {89 border: 1px solid;90 border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;91 padding: 2px 4px;92 background-color: ButtonFace;93 color: ButtonText;94 font: 11px Tahoma,Verdana,sans-serif;95 height:16px;96 overflow: hidden;97 }98 99 .htmlarea .statusBar .statusBarTree a {100 padding: 2px 5px;101 color: #00f;102 }103 104 .htmlarea .statusBar .statusBarTree a:visited { color: #00f; }105 .htmlarea .statusBar .statusBarTree a:hover {106 background-color: Highlight;107 color: HighlightText;108 padding: 1px 4px;109 border: 1px solid HighlightText;110 }111 112 .statusBarWidgetContainer {113 background-color: ButtonFace;114 }115 116 /* popup dialogs */117 118 .dialog {119 color: ButtonText;120 background: ButtonFace;121 border: 1px outset;122 border-color: WindowFrame;123 }124 div.dialog {125 padding-bottom:10px;126 border-radius: 8px 8px 0 0;127 -moz-border-radius: 8px 8px 0 0;128 -webkit-border-top-left-radius: 8px;129 -webkit-border-top-right-radius: 8px;130 131 box-shadow: 9px 9px 10px #444;132 -moz-box-shadow: 9px 9px 10px #444;133 -webkit-box-shadow: 9px 9px 10px #444;134 }135 div.dialog.modeless {136 box-shadow: 4px 4px 5px #888;137 -moz-box-shadow: 4px 4px 5px #888;138 -webkit-box-shadow: 4px 4px 5px #888;139 }140 div.dialog.chrome {141 -webkit-box-shadow: none !IMPORTANT;142 }143 .panels div.dialog.panel {144 border-radius:0;145 -moz-border-radius: 0;146 -webkit-border-radius:0;147 148 box-shadow: none;149 -moz-box-shadow: none;150 -webkit-box-shadow: none;151 }152 .xinha_dialog_background {153 filter: alpha(opacity=0);154 -moz-opacity: 0;155 opacity: 0;156 border:none;157 }158 .xinha_dialog_background_modal_greyout {159 background-color:#666;160 filter: alpha(opacity=70) !IMPORTANT;161 -moz-opacity: 0.7;162 opacity: 0.7;163 }164 .xinha_dialog_background_modal {165 filter: alpha(opacity=0) !IMPORTANT;166 -moz-opacity: 0;167 opacity: 0;168 border:none;169 }170 body.xinha_dialog_background_modal_greyout {171 filter: alpha(opacity=100) !IMPORTANT;172 }173 body.xinha_dialog_background_modal {174 filter: alpha(opacity=0);175 }176 .dialog .content { padding: 2px; }177 178 .dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table {179 font: 11px Tahoma,Verdana,sans-serif;180 }181 182 .dialog table { border-collapse: collapse; }183 184 .dialog .title, .dialog h1185 {186 background: ActiveCaption;187 color: CaptionText;188 border-bottom: 1px solid #000;189 padding: 1px 0 2px 5px;190 font-size: 12px;191 font-weight: bold;192 cursor: default;193 letter-spacing: 0.01em;194 }195 .dialog h1 {196 padding-left:22px;197 margin:0;198 border-radius: 8px 8px 0 0;199 -moz-border-radius: 8px 8px 0 0;200 -webkit-border-top-left-radius: 8px;201 -webkit-border-top-right-radius: 8px;202 }203 .panels .dialog.panel h1 {204 -moz-border-radius: 0;205 -webkit-border-radius:0;206 }207 208 .dialog .title .button {209 float: right;210 border: 1px solid #66a;211 padding: 0 1px 0 2px;212 margin-right: 1px;213 color: #fff;214 text-align: center;215 }216 217 .dialog .title .button-hilite { border-color: #88f; background: #44c; }218 219 .dialog button {220 width: 5.5em;221 padding: 0;222 }223 .dialog .closeButton {224 padding: 0;225 cursor: default;226 border: 1px solid;227 border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;228 height : 11px;229 width : 11px;230 vertical-align : top;231 position : absolute;232 top : 3px;233 right : 2px;234 background-color: ButtonFace;235 color: ButtonText;236 font-size: 13px;237 font-family: Tahoma,Verdana,sans-serif;238 text-align:center;239 letter-spacing:0;240 overflow:hidden;241 }242 .dialog .buttonColor {243 width :1em;244 padding: 1px;245 cursor: default;246 border: 1px solid;247 border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;248 }249 250 .dialog .buttonColor .chooser, .dialog .buttonColor .nocolor {251 height: 0.6em;252 border: 1px solid;253 padding: 0 1em;254 border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;255 }256 257 .dialog .buttonClick {258 border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;259 }260 .dialog .buttonColor-hilite {261 border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;262 }263 264 .dialog .buttonColor .nocolor { padding: 0; }265 .dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; }266 267 .dialog .label { text-align: right; width: 6em; }268 .dialog .value input { width: 100%; }269 270 .dialog legend { font-weight: bold; }271 .dialog fieldset table { margin: 2px 0; }272 273 .dialog .buttons {274 275 padding: 1em;276 text-align: center;277 }278 .dialog .resizeHandle {279 -moz-appearance : resizer;280 width: 12px;281 height: 12px;282 border-bottom: 2px solid #000;283 border-right: 2px solid #000;284 cursor : se-resize;285 }286 .popupwin {287 padding: 0;288 margin: 0;289 }290 291 .popupwin .title {292 background: #fff;293 color: #000;294 font-weight: bold;295 font-size: 120%;296 padding: 3px 10px;297 margin-bottom: 10px;298 border-bottom: 1px solid black;299 letter-spacing: 2px;300 }301 302 form { margin: 0; border: none; }303 304 305 /** Panels **/306 .htmlarea .panels_top307 {308 border-bottom : 1px solid;309 border-color: ButtonShadow;310 }311 312 .htmlarea .panels_right313 {314 border-left : 1px solid;315 border-color: ButtonShadow;316 }317 318 .htmlarea .panels_left319 {320 border-right : 1px solid;321 border-color: ButtonShadow;322 }323 324 .htmlarea .panels_bottom325 {326 border-top : 1px solid;327 border-color: ButtonShadow;328 }329 330 .htmlarea .panel h1 {331 clear:left;332 font-size:0.9em;333 }334 335 .htmlarea .panel {336 overflow:hidden;337 background-color:white;338 padding-bottom:0 !IMPORTANT;339 border: none !IMPORTANT;340 }341 .htmlarea .panels_left .panel { border-right:none; border-left:none; }342 .htmlarea .panels_left h1 { border-right:none; }343 .htmlarea .panels_right .panel { border-right:none; border-left:none; }344 .htmlarea .panels_left h1 { border-left:none; }345 .htmlarea { border: 1px solid black; }346 347 .loading348 {349 font-family:sans-serif;350 position:absolute;351 z-index:998;352 text-align:center;353 width:212px;354 padding: 55px 0 5px 0;355 border:2px solid #ccc;356 /* border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;*/357 background: url(images/xinha_logo.gif) no-repeat #fff center 5px;358 }359 .loading_main360 {361 font-size:11px;362 color:#000;363 364 }365 .loading_sub366 {367 font-size:9px;368 color:#666;369 text-align:center;370 }371 /* Classes for filemanager styles in a dialog. */372 .dialog a img373 {374 border: 0 none transparent;375 }376 377 .dialog fieldset.collapsed {378 border: 0 none transparent;379 }380 381 .dialog fieldset.collapsed form {382 display: none;383 }384 385 .hidden386 {387 display: none;388 }389 1 390 2 .placesmanager -
trunk/skins/blue-look/skin.css
r1142 r1297 13 13 margin:4px; 14 14 height:25px; 15 } 16 17 .htmlarea .toolbarRow td.toolBarElement 18 { 19 margin:0px; padding:0px; 15 20 } 16 21
