From a1f7220e9f23ea81b5b626d20f25039724b3413e Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Sat, 20 Sep 2008 04:32:00 -0400 Subject: [PATCH] - prevent splitters "jumps" when page is loading (set style reading cookie in skin template, using new 'expression' feature) --- skins/default/templates/mail.html | 17 ++++++++++++++--- skins/default/mail.css | 4 ++-- skins/default/templates/addressbook.html | 19 +++++++++++++++---- skins/default/templates/message.html | 7 +++++++ 4 files changed, 38 insertions(+), 9 deletions(-) diff --git a/skins/default/mail.css b/skins/default/mail.css index 0c10ff7..fc47d00 100644 --- a/skins/default/mail.css +++ b/skins/default/mail.css @@ -633,8 +633,8 @@ background-color: #FFF; overflow: auto; /* css hack for IE */ - width: expression((parseInt(document.documentElement.clientWidth)-220)+'px'); - height: expression((parseInt(document.documentElement.clientHeight)-125)+'px'); + width: expression((parseInt(this.parentNode.offsetWidth)-170)+'px'); + height: expression((parseInt(this.parentNode.offsetHeight))+'px'); } #printmessageframe diff --git a/skins/default/templates/addressbook.html b/skins/default/templates/addressbook.html index 9999477..326ded2 100644 --- a/skins/default/templates/addressbook.html +++ b/skins/default/templates/addressbook.html @@ -6,14 +6,25 @@ <link rel="stylesheet" type="text/css" href="/addresses.css" /> <script type="text/javascript" src="/splitter.js"></script> -<roundcube:if condition="config:ldap_public == false" /> <style type="text/css"> +<roundcube:if condition="config:ldap_public == false" /> #abookcountbar { left: 20px;} #mainscreen { left:20px; /* IE hack */ width:expression((parseInt(document.documentElement.clientWidth)-40)+'px') } -#addresslist { width:245px } -#contacts-box { left:255px; /* IE hack */ width:expression((parseInt(mainscreen.offsetWidth)-255)+'px') } -</style> +#addresslist { width: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter-5 : 245" />px; } +#contacts-box { + left: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255" />px; + /* IE hack */ + width:expression((parseInt(mainscreen.offsetWidth)-<roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255" />)+'px') +} +<roundcube:else /> +#addresslist { width: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter-5 : 245" />px; } +#contacts-box { + left: <roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255" />px; + /* IE hack */ + width:expression((parseInt(mainscreen.offsetWidth)-<roundcube:exp expression="!empty(cookie:addressviewsplitter) ? cookie:addressviewsplitter+5 : 255" />)+'px') +} <roundcube:endif /> +</style> </head> <body> diff --git a/skins/default/templates/mail.html b/skins/default/templates/mail.html index f4070e9..24f851a 100644 --- a/skins/default/templates/mail.html +++ b/skins/default/templates/mail.html @@ -41,11 +41,22 @@ }; </script> -<roundcube:if condition="config:preview_pane == true" /> <style type="text/css"> -#mailcontframe { height: 195px; } -</style> +<roundcube:if condition="config:preview_pane == true" /> +#mailcontframe { height: <roundcube:exp expression="!empty(cookie:mailviewsplitter) ? cookie:mailviewsplitter-5 : 195" />px; } +#mailpreviewframe { + top: <roundcube:exp expression="!empty(cookie:mailviewsplitter) ? cookie:mailviewsplitter+5 : 205" />px; + /* css hack for IE */ + height: expression((parseInt(this.parentNode.offsetHeight)-<roundcube:exp expression="!empty(cookie:mailviewsplitter) ? cookie:mailviewsplitter+5 : 205" />)+'px'); +} <roundcube:endif /> +#mailboxlist-container { width: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv-5 : 160" />px; } +#mailrightcontainer { + left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 170" />px; + /* css hack for IE */ + width: expression((parseInt(this.parentNode.offsetWidth)-<roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 170" />)+'px'); +} +</style> </head> <body> diff --git a/skins/default/templates/message.html b/skins/default/templates/message.html index 3ab6cf3..0cbd05f 100644 --- a/skins/default/templates/message.html +++ b/skins/default/templates/message.html @@ -5,6 +5,13 @@ <roundcube:include file="/includes/links.html" /> <link rel="stylesheet" type="text/css" href="/mail.css" /> <script type="text/javascript" src="/splitter.js"></script> +<style type="text/css"> +#mailboxlist-container { width: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv-5 : 160" />px; } +#messageframe { + left: <roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 170" />px; + width: expression((parseInt(this.parentNode.offsetWidth)-<roundcube:exp expression="!empty(cookie:mailviewsplitterv) ? cookie:mailviewsplitterv+5 : 170" />)+'px'); +} +</style> </head> <body> -- Gitblit v1.9.1