From da89cf293753cfbfbe1f6cedcbb5a5d22aed45db Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 26 Jul 2011 13:21:26 -0400
Subject: [PATCH] Always show address book name if multiple books are configured; fix styling

---
 skins/default/templates/contactedit.html |    3 +++
 program/steps/addressbook/edit.inc       |    2 +-
 program/steps/addressbook/func.inc       |   14 ++++++++++++++
 skins/default/templates/contactadd.html  |    6 +++---
 program/steps/addressbook/show.inc       |    8 +-------
 skins/default/addressbook.css            |    2 +-
 6 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/program/steps/addressbook/edit.inc b/program/steps/addressbook/edit.inc
index f9d74e4..69fcba9 100644
--- a/program/steps/addressbook/edit.inc
+++ b/program/steps/addressbook/edit.inc
@@ -54,7 +54,7 @@
 }
 
 $SOURCE_ID = $source;
-
+rcmail_set_sourcename($CONTACTS);
 
 function rcmail_get_edit_record()
 {
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc
index 6b3ebad..0a5a022 100644
--- a/program/steps/addressbook/func.inc
+++ b/program/steps/addressbook/func.inc
@@ -160,6 +160,20 @@
     return $list[key($list)]['id'];
 }
 
+function rcmail_set_sourcename($abook)
+{
+    global $OUTPUT;
+    
+    // get address book name (for display)
+    if ($abook && $_SESSION['addressbooks_count'] > 1) {
+        $name = $abook->get_name();
+        if (!$name && $source == 0) {
+            $name = rcube_label('personaladrbook');
+        }
+        $OUTPUT->set_env('sourcename', $name);
+    }
+}
+
 
 function rcmail_directory_list($attrib)
 {
diff --git a/program/steps/addressbook/show.inc b/program/steps/addressbook/show.inc
index fc983e6..729cb34 100644
--- a/program/steps/addressbook/show.inc
+++ b/program/steps/addressbook/show.inc
@@ -34,13 +34,7 @@
 }
 
 // get address book name (for display)
-if ($_SESSION['addressbooks_count'] > 1) {
-    $name = $CONTACTS->get_name();
-    if (!$name && $source == 0) {
-        $name = rcube_label('personaladrbook');
-    }
-    $OUTPUT->set_env('sourcename', $name);
-}
+rcmail_set_sourcename($CONTACTS);
 
 // return raw photo of the given contact
 if ($RCMAIL->action == 'photo') {
diff --git a/skins/default/addressbook.css b/skins/default/addressbook.css
index 63c60c0..69b913e 100644
--- a/skins/default/addressbook.css
+++ b/skins/default/addressbook.css
@@ -390,5 +390,5 @@
 {
   color: #666;
   font-size: 10px;
-  margin-left: 2px;
+  margin: -5px 0 8px 2px;
 }
diff --git a/skins/default/templates/contactadd.html b/skins/default/templates/contactadd.html
index 305940a..67b7bcd 100644
--- a/skins/default/templates/contactadd.html
+++ b/skins/default/templates/contactadd.html
@@ -10,9 +10,9 @@
 <div id="contact-title" class="boxtitle"><roundcube:label name="addcontact" /></div>
 <div id="contact-details" class="boxcontent">
 <form name="editform" method="post" action="./">
-  <div id="sourcename" style="height: 20px">
-    <roundcube:label name="addressbook" />: <roundcube:object name="sourceselector" class="hint" id="sourceselect" />
-  </div>
+  <roundcube:if condition="strlen(env:sourcename)" />
+    <div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:object name="sourceselector" class="hint" id="sourceselect" /></div>
+  <roundcube:endif />
   <div id="contactphoto">
     <roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" />
     <div class="formlinks">
diff --git a/skins/default/templates/contactedit.html b/skins/default/templates/contactedit.html
index 681201c..77e4661 100644
--- a/skins/default/templates/contactedit.html
+++ b/skins/default/templates/contactedit.html
@@ -10,6 +10,9 @@
 <div id="contact-title" class="boxtitle"><roundcube:label name="editcontact" /></div>
 <div id="contact-details" class="boxcontent">
 <form name="editform" method="post" action="./">
+  <roundcube:if condition="strlen(env:sourcename)" />
+    <div id="sourcename"><roundcube:label name="addressbook" />: <roundcube:var name="env:sourcename" /></div>
+  <roundcube:endif />
   <div id="contactphoto">
     <roundcube:object name="contactphoto" id="contactpic" placeholder="/images/contactpic.png" />
     <div class="formlinks">

--
Gitblit v1.9.1