Changeset 412 in subversion
- Timestamp:
- Dec 17, 2006 4:28:37 PM (6 years ago)
- Location:
- trunk/roundcubemail
- Files:
-
- 2 added
- 9 edited
-
CHANGELOG (modified) (1 diff)
-
program/js/app.js (modified) (9 diffs)
-
program/js/common.js (modified) (3 diffs)
-
program/js/list.js (modified) (2 diffs)
-
skins/default/addresses.css (modified) (1 diff)
-
skins/default/common.css (modified) (1 diff)
-
skins/default/images/dimple.png (added)
-
skins/default/mail.css (modified) (2 diffs)
-
skins/default/splitter.js (added)
-
skins/default/templates/addressbook.html (modified) (2 diffs)
-
skins/default/templates/mail.html (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/roundcubemail/CHANGELOG
r400 r412 1 1 CHANGELOG RoundCube Webmail 2 2 --------------------------- 3 4 2006/12/17 (thomasb) 5 ---------- 6 - Added patch by Ryan Rittenhouse & David Glick for a resizeable preview pane 7 3 8 4 9 2006/12/06 (thomasb) -
trunk/roundcubemail/program/js/app.js
r400 r412 27 27 this.gui_objects = new Object(); 28 28 this.commands = new Object(); 29 this.onloads = new Array(); 29 30 30 31 // create public reference to myself … … 78 79 }; 79 80 80 81 81 // register a specific gui object 82 82 this.gui_object = function(name, id) … … 84 84 this.gui_objects[name] = id; 85 85 }; 86 86 87 // execute the given script on load 88 this.add_onload = function(f) 89 { 90 this.onloads[this.onloads.length] = f; 91 }; 87 92 88 93 // initialize webmail client … … 102 107 for (var n in this.gui_objects) 103 108 this.gui_objects[n] = rcube_find_object(this.gui_objects[n]); 104 109 105 110 // tell parent window that this frame is loaded 106 111 if (this.env.framed && parent.rcmail && parent.rcmail.set_busy) … … 294 299 // start keep-alive interval 295 300 this.start_keepalive(); 301 302 303 // execute all foreign onload scripts 304 for (var i=0; i<this.onloads.length; i++) 305 { 306 if (typeof(this.onloads[i]) == 'string') 307 eval(this.onloads[i]); 308 else if (typeof(this.onloads[i]) == 'function') 309 this.onloads[i](); 310 } 296 311 }; 297 312 … … 679 694 break; 680 695 681 case 'lastmessage':696 case 'lastmessage': 682 697 if (this.env.last_uid) 683 698 this.show_message(this.env.last_uid); … … 1210 1225 this.env.current_page = page; 1211 1226 this.message_list.clear_selection(); 1227 this.show_messageframe(false); 1212 1228 } 1213 1229 … … 1325 1341 { 1326 1342 var selection = this.message_list.get_selection(); 1327 var id; 1328 for (var n=0; n<selection.length; n++) 1343 for (var n=0, id; n<selection.length; n++) 1329 1344 { 1330 1345 id = selection[n]; … … 1333 1348 } 1334 1349 1335 this.message_list.select_next();1336 } 1337 1350 this.show_messageframe(false); 1351 } 1352 1338 1353 var lock = false; 1339 1354 -
trunk/roundcubemail/program/js/common.js
r354 r412 531 531 return {x:iX, y:iY}; 532 532 } 533 534 535 /** 536 * Return the currently applied value of a css property 537 * 538 * @param {Object} html_element Node reference 539 * @param {String} css_property Property name to read in Javascript notation (eg. 'textAlign') 540 * @param {String} mozilla_equivalent Equivalent property name in CSS notation (eg. 'text-align') 541 * @return CSS property value 542 * @type String 543 */ 544 function get_elements_computed_style(html_element, css_property, mozilla_equivalent) 545 { 546 if (arguments.length==2) 547 mozilla_equivalent = css_property; 548 549 var el = html_element; 550 if (typeof(html_element)=='string') 551 el = nex_get_object(html_element); 552 553 if (el && el.currentStyle) 554 return el.currentStyle[css_property]; 555 else if (el && document.defaultView && document.defaultView.getComputedStyle) 556 return document.defaultView.getComputedStyle(el, null).getPropertyValue(mozilla_equivalent); 557 else 558 return false; 559 } 533 560 534 561 … … 544 571 } 545 572 573 roundcube_browser.prototype.set_cookie = setCookie; 574 546 575 function getCookie(name) 547 576 { … … 562 591 } 563 592 593 roundcube_browser.prototype.get_cookie = getCookie; 594 564 595 565 596 var bw = new roundcube_browser(); -
trunk/roundcubemail/program/js/list.js
r375 r412 273 273 274 274 var last_selected_row = this.rows[this.last_selected]; 275 var new_row = last_selected_row && last_selected_row.obj.nextSibling;275 var new_row = last_selected_row ? last_selected_row.obj.nextSibling : null; 276 276 while (new_row && (new_row.nodeType != 1 || new_row.style.display == 'none')) 277 277 new_row = new_row.nextSibling; … … 286 286 287 287 var last_selected_row = this.rows[this.last_selected]; 288 var new_row = last_selected_row && last_selected_row.obj.previousSibling;288 var new_row = last_selected_row ? last_selected_row.obj.previousSibling : null; 289 289 while (new_row && (new_row.nodeType != 1 || new_row.style.display == 'none')) 290 290 new_row = new_row.previousSibling; -
trunk/roundcubemail/skins/default/addresses.css
r282 r412 71 71 overflow: hidden; 72 72 /* css hack for IE */ 73 width: expression((parseInt(document.documentElement.clientWidth)- 530)+'px');73 width: expression((parseInt(document.documentElement.clientWidth)-80-document.getElementById('addresslist').offsetWidth)+'px'); 74 74 height: expression((parseInt(document.documentElement.clientHeight)-135)+'px'); 75 75 } 76 77 78 #addressviewsplitter 79 { 80 background-position: 6px center; 81 } 82 83 #addressviewsplitter .splitterLine 84 { 85 margin-left: 3px; 86 width: 9px; 87 } 88 76 89 77 90 body.iframe, -
trunk/roundcubemail/skins/default/common.css
r354 r412 214 214 } 215 215 216 .splitter 217 { 218 position: absolute; 219 padding: 2px; 220 background: url(images/dimple.png) center no-repeat; 221 } 222 223 .splitter-h 224 { 225 cursor: n-resize; 226 background-position: center 2px; 227 } 228 229 .splitter-v 230 { 231 cursor: e-resize; 232 background-position: 1px center; 233 } 234 216 235 217 236 /***** common table settings ******/ -
trunk/roundcubemail/skins/default/mail.css
r406 r412 124 124 { 125 125 position: absolute; 126 top: 30 0px;126 top: 305px; 127 127 left: 200px; 128 128 right: 40px; … … 132 132 /* css hack for IE */ 133 133 width: expression((parseInt(document.documentElement.clientWidth)-240)+'px'); 134 height: expression((parseInt(document.documentElement.clientHeight)- 340)+'px');134 height: expression((parseInt(document.documentElement.clientHeight)-135-document.getElementById('mailcontframe').offsetHeight)+'px'); 135 135 } 136 136 -
trunk/roundcubemail/skins/default/templates/addressbook.html
r374 r412 5 5 <roundcube:include file="/includes/links.html" /> 6 6 <link rel="stylesheet" type="text/css" href="/addresses.css" /> 7 <script type="text/javascript" src="/splitter.js"></script> 7 8 </head> 8 9 <body> … … 32 33 </div> 33 34 35 <script type="text/javascript"> 36 var addrviewsplit = new rcube_splitter({id:'addressviewsplitter', p1: 'addresslist', p2: 'contacts-box', orientation: 'v'}); 37 rcmail.add_onload('addrviewsplit.init()'); 38 </script> 39 34 40 <div id="contacts-box"> 35 41 <roundcube:object name="addressframe" id="contact-frame" width="100%" height="100%" frameborder="0" src="/watermark.html" /> -
trunk/roundcubemail/skins/default/templates/mail.html
r388 r412 5 5 <roundcube:include file="/includes/links.html" /> 6 6 <link rel="stylesheet" type="text/css" href="/mail.css" /> 7 <script type="text/javascript" src="/splitter.js"></script> 7 8 </head> 8 9 <body> … … 56 57 57 58 <roundcube:if condition="config:preview_pane == true" /> 59 <script type="text/javascript"> 60 var mailviewsplit = new rcube_splitter({id:'mailviewsplitter', p1: 'mailcontframe', p2: 'mailpreviewframe', orientation: 'h'}); 61 rcmail.add_onload('mailviewsplit.init()'); 62 </script> 58 63 <div id="mailpreviewframe"> 59 64 <roundcube:object name="messagecontentframe" id="messagecontframe" width="100%" height="100%" frameborder="0" src="/watermark.html" /> … … 63 68 #mailcontframe { 64 69 bottom: auto; 65 height: 2 10px;70 height: 208px; 66 71 } 67 72 </style>
Note: See TracChangeset
for help on using the changeset viewer.
