From 54759ce120c30882521946694b83646e9695395a Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 09 Jun 2010 07:17:45 -0400
Subject: [PATCH] - some improvements + added splitter in Identities

---
 skins/default/templates/editidentity.html |   22 ++++++++++-
 program/include/main.inc                  |    5 +-
 skins/default/settings.css                |   29 +++-----------
 skins/default/mail.css                    |    4 +-
 program/steps/settings/func.inc           |   14 +++++--
 program/localization/pl_PL/labels.inc     |    1 
 skins/default/iehacks.css                 |    8 +---
 skins/default/templates/identities.html   |   22 ++++++++++-
 8 files changed, 64 insertions(+), 41 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index e8e9216..f98e431 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -732,8 +732,9 @@
   $table = new html_table(/*array('cols' => count($a_show_cols))*/);
     
   // add table header
-  foreach ($a_show_cols as $col)
-    $table->add_header($col, Q(rcube_label($col)));
+  if (!$attrib['noheader'])
+    foreach ($a_show_cols as $col)
+      $table->add_header($col, Q(rcube_label($col)));
   
   $c = 0;
   if (!is_array($table_data)) 
diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc
index a1e8581..639cf0b 100644
--- a/program/localization/pl_PL/labels.inc
+++ b/program/localization/pl_PL/labels.inc
@@ -344,5 +344,6 @@
 $labels['japanese'] = 'japoński';
 $labels['korean'] = 'koreański';
 $labels['chinese'] = 'chiński';
+$labels['folderctions'] = 'Działania na folderach...';
 
 ?>
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index 1516b98..f22cad8 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -69,14 +69,20 @@
   if (!strlen($attrib['id']))
     $attrib['id'] = 'rcmIdentitiesList';
 
+  // get identities list and define 'mail' column
+  $list = $USER->list_identities();
+  foreach ($list as $idx => $row)
+    $list[$idx]['mail'] = trim($row['name'] . ' <' . $row['email'] .'>');
+
   // get all identites from DB and define list of cols to be displayed
   $plugin = $RCMAIL->plugins->exec_hook('list_identities', array(
-    'list' => $USER->list_identities(),
-    'cols' => array('name', 'email')));
+    'list' => $list,
+    'cols' => array('mail')));
 
-  // create XHTML table  
+  // @TODO: use <UL> instead of <TABLE> for identities list
+  // create XHTML table
   $out = rcube_table_output($attrib, $plugin['list'], $plugin['cols'], 'identity_id');
-  
+
   // set client env
   $OUTPUT->add_gui_object('identitieslist', $attrib['id']);
 
diff --git a/skins/default/iehacks.css b/skins/default/iehacks.css
index 46650e4..6888094 100644
--- a/skins/default/iehacks.css
+++ b/skins/default/iehacks.css
@@ -38,11 +38,6 @@
   height: expression((parseInt(document.documentElement.clientHeight)-235)+'px');
 }
 
-#identities-list
-{
-  height: expression((parseInt(document.documentElement.clientHeight)-155)+'px');
-}
-
 #messagetoolbar
 {
   width: expression((parseInt(document.documentElement.clientWidth)-215)+'px');
@@ -95,7 +90,8 @@
 }
 
 #addresslist,
-#sectionslist
+#sectionslist,
+#identities-list
 {
   height: expression(parseInt(this.parentNode.offsetHeight)+'px');
 }
diff --git a/skins/default/mail.css b/skins/default/mail.css
index dfa0913..b296884 100644
--- a/skins/default/mail.css
+++ b/skins/default/mail.css
@@ -384,7 +384,7 @@
   bottom: 20px;
   border: 1px solid #999;
   background-color: #F9F9F9;
-  overflow: auto;
+  overflow: hidden;
 }
 
 #mailboxlist
@@ -919,7 +919,7 @@
 .quota_text_high { color: white; }
 .quota_text_mid { color: #666; }
 .quota_text_low { color: #666; }
-	  
+
 
 /** message view styles */
 
diff --git a/skins/default/settings.css b/skins/default/settings.css
index b413919..46a02d8 100644
--- a/skins/default/settings.css
+++ b/skins/default/settings.css
@@ -50,7 +50,6 @@
   width: 300px;
 }
 
-#identities-list,
 #folder-manager
 {
   position: absolute;
@@ -71,13 +70,6 @@
 {
   border: 1px solid #CC3333;
   background-color: #FFFFA6;
-}
-
-#identities-list
-{
-  bottom: 30px;
-  width: 420px;
-  border: 1px solid #999999;
 }
 
 #listbuttons
@@ -109,16 +101,7 @@
   cursor: default;
   overflow: hidden;
   text-overflow: ellipsis;
-}
-
-#identities-table thead td.name
-{
-  width: 55%;
-}
-
-#identities-table thead td.email
-{
-  width: 45%;
+  -o-text-overflow: ellipsis;
 }
 
 #subscription-table tbody td
@@ -189,10 +172,9 @@
 #identity-details
 {
   position: absolute;
-  top: 95px;
-  left: 450px;
-  right: 20px;
-  bottom: 30px;
+  top: 0;
+  right: 0;
+  bottom: 0;
   border: 1px solid #999999;
   overflow: auto;
   background-color: #F2F2F2;
@@ -246,6 +228,7 @@
   left: 20px;
 }
 
+#identities-list,
 #sectionslist
 {
   position: absolute;
@@ -254,7 +237,7 @@
   bottom: 0px;
   border: 1px solid #999999;
   background-color: #F9F9F9;
-  overflow: auto;
+  overflow: hidden;
 }
 
 #sections-table
diff --git a/skins/default/templates/editidentity.html b/skins/default/templates/editidentity.html
index 30177ad..5b4c753 100644
--- a/skins/default/templates/editidentity.html
+++ b/skins/default/templates/editidentity.html
@@ -4,6 +4,14 @@
 <title><roundcube:object name="pagetitle" /></title>
 <roundcube:include file="/includes/links.html" />
 <script type="text/javascript" src="/functions.js"></script>
+<script type="text/javascript" src="/splitter.js"></script>
+<style type="text/css">
+#identities-list { width: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter-5 : 295" />px; }
+#identity-details { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px;
+  <roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305).')+\\'px\\');') : ''" />
+}
+</style>
+
 </head>
 <body>
 
@@ -11,14 +19,22 @@
 <roundcube:include file="/includes/header.html" />
 <roundcube:include file="/includes/settingstabs.html" />
 
+<div id="prefsscreen">
+
 <div id="identities-list">
-<div class="boxlistcontent" style="top: 0px">
-<roundcube:object name="identitiesList" id="identities-table" class="records-table" cellspacing="0" summary="Identities list" editIcon="" />
+<div id="identity-title" class="boxtitle"><roundcube:label name="identities" /></div>
+<div class="boxlistcontent">
+<roundcube:object name="identitiesList" id="identities-table" class="records-table" cellspacing="0" summary="Identities list" noheader="true" editIcon="" />
 </div>
 <div class="boxfooter">
 <roundcube:button command="add" type="link" title="newidentity" class="buttonPas addgroup" classAct="button addgroup" content=" " condition="config:identities_level:0<2" />
 </div>
 </div>
+
+<script type="text/javascript">
+  var identviewsplit = new rcube_splitter({id:'identviewsplitter', p1: 'identities-list', p2: 'identity-details', orientation: 'v', relative: true, start: 300 });
+  rcmail.add_onload('identviewsplit.init()');
+</script>
 
 <div id="identity-details">
 <div id="identity-title" class="boxtitle"><roundcube:object name="steptitle" /></div>
@@ -33,5 +49,7 @@
 </div>
 </div>
 
+</div>
+
 </body>
 </html>
diff --git a/skins/default/templates/identities.html b/skins/default/templates/identities.html
index 55094a0..04fa981 100644
--- a/skins/default/templates/identities.html
+++ b/skins/default/templates/identities.html
@@ -4,6 +4,14 @@
 <title><roundcube:object name="pagetitle" /></title>
 <roundcube:include file="/includes/links.html" />
 <script type="text/javascript" src="/functions.js"></script>
+<script type="text/javascript" src="/splitter.js"></script>
+<style type="text/css">
+#identities-list { width: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter-5 : 295" />px; }
+#identity-details { left: <roundcube:exp expression="!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305" />px;
+  <roundcube:exp expression="browser:ie ? ('width:expression((parseInt(this.parentNode.offsetWidth)-'.(!empty(cookie:identviewsplitter) ? cookie:identviewsplitter+5 : 305).')+\\'px\\');') : ''" />
+}
+</style>
+
 </head>
 <body>
 
@@ -11,20 +19,30 @@
 <roundcube:include file="/includes/header.html" />
 <roundcube:include file="/includes/settingstabs.html" />
 
+<div id="prefsscreen">
+
 <div id="identities-list">
-<div class="boxlistcontent" style="top: 0px">
-<roundcube:object name="identitiesList" id="identities-table" class="records-table" cellspacing="0" summary="Identities list" editIcon="" />
+<div id="identity-title" class="boxtitle"><roundcube:label name="identities" /></div>
+<div class="boxlistcontent">
+<roundcube:object name="identitiesList" id="identities-table" class="records-table" cellspacing="0" summary="Identities list" noheader="true" editIcon="" />
 </div>
 <div class="boxfooter">
 <roundcube:button command="add" type="link" title="newidentity" class="buttonPas addgroup" classAct="button addgroup" content=" " condition="config:identities_level:0<2" />
 </div>
 </div>
 
+<script type="text/javascript">
+  var identviewsplit = new rcube_splitter({id:'identviewsplitter', p1: 'identities-list', p2: 'identity-details', orientation: 'v', relative: true, start: 300 });
+  rcmail.add_onload('identviewsplit.init()');
+</script>
+
 <div id="identity-details">
   <div style="margin:10px auto; text-align:center">
   <img src="/images/watermark.gif" width="260" height="228" alt="" />
   </div>
 </div>
 
+</div>
+
 </body>
 </html>

--
Gitblit v1.9.1