From e19229ce09c0233a93584925b2e4fed7370e6650 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 14 Dec 2011 06:53:02 -0500
Subject: [PATCH] Larry's identities settings and about page

---
 skins/larry/templates/mail.html          |    2 
 skins/larry/templates/about.html         |   36 +++++++++
 skins/larry/templates/error.html         |    2 
 skins/larry/settings.css                 |   29 ++++++-
 skins/larry/styles.css                   |   82 +++++++++++++++++---
 skins/larry/templates/identities.html    |   34 ++++++++
 skins/larry/includes/header.html         |    1 
 skins/larry/includes/settingstabs.html   |    1 
 program/steps/settings/edit_identity.inc |    6 
 skins/larry/templates/identityedit.html  |   45 +++++++++++
 10 files changed, 214 insertions(+), 24 deletions(-)

diff --git a/program/steps/settings/edit_identity.inc b/program/steps/settings/edit_identity.inc
index df5cf93..bf64d42 100644
--- a/program/steps/settings/edit_identity.inc
+++ b/program/steps/settings/edit_identity.inc
@@ -5,7 +5,7 @@
  | program/steps/settings/edit_identity.inc                              |
  |                                                                       |
  | This file is part of the Roundcube Webmail client                     |
- | Copyright (C) 2005-2007, The Roundcube Dev Team                       |
+ | Copyright (C) 2005-2011, The Roundcube Dev Team                       |
  | Licensed under the GNU GPL                                            |
  |                                                                       |
  | PURPOSE:                                                              |
@@ -131,10 +131,10 @@
         $value = !empty($colprop['value']) ? $colprop['value'] :
             rcmail_get_edit_field($col, $IDENTITY_RECORD[$col], $colprop, $colprop['type']);
 
-        $table->add('title', sprintf('<label for="%s">%s</label>', $colprop['id'], Q($label)));
+        $table->add('title', html::label($colprop['id'], Q($label)));
         $table->add(null, $value);
       }
-      $content = $table->show();
+      $content = $table->show($attrib);
     }
     else {
       $content = $fieldset['content'];
diff --git a/skins/larry/includes/header.html b/skins/larry/includes/header.html
index 9295b7e..2fd6774 100644
--- a/skins/larry/includes/header.html
+++ b/skins/larry/includes/header.html
@@ -1,6 +1,7 @@
 <div id="header">
 <div id="topline">
 	<div class="topleft">
+		<roundcube:button command="about" type="link" label="about" class="about-link" />
 		<roundcube:if condition="config:support_url" />
 		<a href="<roundcube:var name='config:support_url' />" target="_blank" class="support-link"><roundcube:label name="support" /></a>
 		<roundcube:endif />
diff --git a/skins/larry/includes/settingstabs.html b/skins/larry/includes/settingstabs.html
index 8b23afc..bb26fc6 100644
--- a/skins/larry/includes/settingstabs.html
+++ b/skins/larry/includes/settingstabs.html
@@ -4,7 +4,6 @@
 	<span id="settingstabpreferences" class="listitem preferences"><roundcube:button command="preferences" type="link" label="preferences" title="editpreferences" /></span>
 	<span id="settingstabfolders" class="listitem folders"><roundcube:button command="folders" type="link" label="folders" title="managefolders" /></span>
 	<span id="settingstabidentities" class="listitem identities"><roundcube:button command="identities" type="link" label="identities" title="manageidentities" /></span>
-	<span id="settingstababout" class="listitem about"><roundcube:button command="about" type="link" label="about" title="about" /></span>
 	<roundcube:container name="tabs" id="settings-tabs" />
 </div>
 </div>
diff --git a/skins/larry/settings.css b/skins/larry/settings.css
index 70e3599..ccb96c0 100644
--- a/skins/larry/settings.css
+++ b/skins/larry/settings.css
@@ -16,15 +16,15 @@
 	position: absolute;
 	top: 0;
 	left: 0;
-	width: 240px;
+	width: 220px;
 	bottom: 0;
 }
 
 #sectionslist {
 	position: absolute;
 	top: 0;
-	left: 250px;
-	width: 240px;
+	left: 230px;
+	width: 260px;
 	bottom: 0;
 }
 
@@ -48,11 +48,14 @@
 	background: url(images/listicons.png) -100px 0 no-repeat;
 }
 
-#settings-sections span.listitem a {
+/* note: support span.tablink because this is used by plugins */
+#settings-sections span.listitem a,
+#settings-sections span.tablink a {
 	background-position: 6px -862px;
 }
 
-#settings-sections span.selected a {
+#settings-sections span.selected a,
+#settings-sections span.tablink.selected a {
 	background-position: 6px -887px;
 }
 
@@ -142,3 +145,19 @@
 	background-position: 6px -550px;
 }
 
+#identitieslist {
+	position: absolute;
+	top: 0;
+	left: 230px;
+	width: 300px;
+	bottom: 0;
+}
+
+#identity-details {
+	position: absolute;
+	top: 0;
+	left: 540px;
+	right: 0;
+	bottom: 0;
+}
+
diff --git a/skins/larry/styles.css b/skins/larry/styles.css
index d3a117b..0b9e1b4 100644
--- a/skins/larry/styles.css
+++ b/skins/larry/styles.css
@@ -47,7 +47,7 @@
 input[type="text"]:focus,
 input[type="password"]:focus,
 input.button:focus,
-textarea {
+textarea:focus {
 	border-color: #4787b1;
 	box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9);
 	-moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9);
@@ -85,7 +85,7 @@
 }
 
 .formbuttons input.button {
-	color: #dddddd;
+	color: #ddd;
 	font-size: 110%;
 	text-shadow: 1px 1px 1px #333;
 	padding: 4px 12px;
@@ -100,7 +100,7 @@
 }
 
 .formbuttons input.button:hover {
-	color: #ededed;
+	color: #f2f2f2;
 	box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6);
 	-moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6);
 	-webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6);
@@ -369,9 +369,10 @@
 	padding-right: 1em;
 }
 
-#topline a.support-link {
+#topline .topleft a {
 	display: inline-block;
-	padding: 2px 0;
+	padding: 2px 0.8em 0 0;
+	color: #aaa;
 }
 
 #topline a.button-logout {
@@ -463,6 +464,27 @@
 	background: #fff;
 }
 
+.scroller {
+	overflow: auto;
+}
+
+.readtext {
+	width: 42em;
+	padding: 12px;
+}
+
+.readtext > h1,
+.readtext > h2,
+.readtext > h3 {
+	margin-top: 0;
+}
+
+.watermark {
+	background-image: url(images/watermark.jpg);
+	background-position: center;
+	background-repeat: no-repeat;
+}
+
 /*** lists ***/
 
 .listbox {
@@ -479,7 +501,7 @@
 	overflow: auto;
 }
 
-.listbox .scroller.wfooter {
+.listbox .scroller.withfooter {
 	bottom: 42px;
 }
 
@@ -525,7 +547,8 @@
 	text-shadow: 1px 1px 1px #fff;
 	text-decoration: none;
 	cursor: default;
-	padding: 8px 8px 4px 8px;
+	padding: 7px 8px 5px 8px;
+	white-space: nowrap;
 }
 
 .listbox .listitem.selected,
@@ -587,14 +610,29 @@
 	background: url(images/buttons.png) -1000px 0 no-repeat;
 }
 
+.boxfooter .listbutton.add .inner {
+	background-position: 8px -1210px;
+}
+
 .boxfooter .listbutton.groupactions .inner {
 	background-position: 4px -1292px;
 }
 
-.errobox h3 {
+.centerbox {
+	width: 40em;
+	margin: 36px auto;
+}
+
+.errorbox {
+	width: 40em;
+	padding: 20px;
+}
+
+.errorbox h3 {
 	font-size: 16px;
 	margin-top: 0;
 }
+
 
 /*** iFrames ***/
 
@@ -603,11 +641,8 @@
 	margin: 38px 0 20px 0;
 }
 
+.contentbox .boxtitle,
 body.iframe .boxtitle {
-	position: fixed;
-	top: 0;
-	left: 0;
-	width: 100%;
 	color: #777;
 	background: #eee;
 	background: -moz-linear-gradient(top, #eee 0%, #dfdfdf 100%);
@@ -618,8 +653,24 @@
 	border-bottom: 1px solid #ccc;
 }
 
+body.iframe .boxtitle {
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;
+}
+
 .boxcontent {
 	padding: 10px;
+}
+
+.contentbox .scroller {
+	position: absolute;
+	top: 34px;
+	left: 0;
+	right: 0;
+	bottom: 28px;
+	overflow: auto;
 }
 
 .footerleft {
@@ -657,6 +708,11 @@
 	color: #333;
 	padding-right: 20px;
 	white-space: nowrap;
+}
+
+table.propform .mceLayout td {
+	padding: 0;
+	border-bottom: 0;
 }
 
 
@@ -787,7 +843,7 @@
 	text-align: center;
 	font-size: 10px;
 	color: #555;
-	min-width: 55px;
+	min-width: 50px;
 	max-width: 75px;
 	overflow: hidden;
 	text-overflow: ellipsis;
diff --git a/skins/larry/templates/about.html b/skins/larry/templates/about.html
new file mode 100644
index 0000000..f1e4242
--- /dev/null
+++ b/skins/larry/templates/about.html
@@ -0,0 +1,36 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+</head>
+<body>
+
+<roundcube:include file="/includes/header.html" />
+
+<div class="offset uibox scroller centerbox" style="width:60em">
+
+<div class="readtext">
+<roundcube:object name="aboutcontent" />
+
+<h2 class="sysname">Roundcube Webmail <roundcube:object name="version" /></h2>
+<p class="copyright">Copyright &copy; 2005-2011, The Roundcube Dev Team</p>
+<p class="license">This program is free software; you can redistribute it and/or modify
+it under the terms of the <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GNU General Public License version 2</a>
+as published by the Free Software Foundation.
+</p>
+<p class="links"><roundcube:object name="supportlink" label="support" target="_blank" /></p>
+
+</div>
+
+<div class="readtext">
+<h3><roundcube:label name="installedplugins" en_US="Installed plugins" /></h3>
+<roundcube:object name="pluginlist" id="pluginlist" class="records-table" cellspacing="0" />
+</div>
+
+</div>
+
+<roundcube:include file="/includes/footer.html" />
+
+</body>
+</html>
diff --git a/skins/larry/templates/error.html b/skins/larry/templates/error.html
index 222683f..cd0fc96 100644
--- a/skins/larry/templates/error.html
+++ b/skins/larry/templates/error.html
@@ -8,7 +8,7 @@
 
 <roundcube:include file="/includes/header.html" />
 
-<div class="uibox errobox" style="width:40em; margin:60px auto; padding:20px">
+<div class="uibox centerbox errorbox">
 $__page_content
 </div>
 
diff --git a/skins/larry/templates/identities.html b/skins/larry/templates/identities.html
new file mode 100644
index 0000000..53d7539
--- /dev/null
+++ b/skins/larry/templates/identities.html
@@ -0,0 +1,34 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+</head>
+<body>
+
+<roundcube:include file="/includes/header.html" />
+
+<div id="mainscreen" class="offset">
+
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="identitieslist" class="uibox listbox">
+<h2 class="boxtitle"><roundcube:label name="identities" /></h2>
+<div class="scroller withfooter">
+<roundcube:object name="identitiesList" id="identities-table" class="listing" cellspacing="0" summary="Identities list" noheader="true" editIcon="" />
+</div>
+<div class="boxfooter">
+<roundcube:button command="add" type="link" title="newidentity" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" condition="config:identities_level:0<2" />
+</div>
+</div>
+
+<div id="identity-details" class="uibox contentbox watermark">
+<roundcube:object name="message" id="message" class="statusbar" />
+</div>
+
+</div>
+
+<roundcube:include file="/includes/footer.html" />
+
+</body>
+</html>
diff --git a/skins/larry/templates/identityedit.html b/skins/larry/templates/identityedit.html
new file mode 100644
index 0000000..bfdf61d
--- /dev/null
+++ b/skins/larry/templates/identityedit.html
@@ -0,0 +1,45 @@
+<roundcube:object name="doctype" value="html5" />
+<html>
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+</head>
+<body>
+
+<roundcube:include file="/includes/header.html" />
+
+<div id="mainscreen" class="offset">
+
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="identitieslist" class="uibox listbox">
+<h2 class="boxtitle"><roundcube:label name="identities" /></h2>
+<div class="scroller withfooter">
+<roundcube:object name="identitiesList" id="identities-table" class="listing" noheader="true" editIcon="" />
+</div>
+<div class="boxfooter">
+<roundcube:button command="add" type="link" title="newidentity" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" condition="config:identities_level:0<2" />
+</div>
+</div>
+
+<div id="identity-details" class="uibox contentbox">
+<h1 class="boxtitle"><roundcube:object name="steptitle" /></h1>
+
+<div class="boxcontent scroller">
+<roundcube:object name="identityform" class="propform" size="40" textareacols="40" textarearows="6" />
+
+<p class="formbuttons">
+	<roundcube:button command="save" type="input" class="button mainaction" label="save" />
+	<roundcube:button command="delete" type="input" class="button" label="delete" condition="env:action=='edit-identity'" style="margin-left:0.5em" />
+</p>
+</div>
+
+<roundcube:object name="message" id="message" class="statusbar" />
+</div>
+
+</div>
+
+<roundcube:include file="/includes/footer.html" />
+
+</body>
+</html>
diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html
index cc056ac..cbaf740 100644
--- a/skins/larry/templates/mail.html
+++ b/skins/larry/templates/mail.html
@@ -21,7 +21,7 @@
 
 <!-- folders list -->
 <div id="mailboxcontainer" class="uibox listbox">
-<div class="scroller wfooter">
+<div class="scroller withfooter">
 <roundcube:object name="mailboxlist" id="mailboxlist"class="listing" folder_filter="mail" unreadwrap="%s" />
 </div>
 <div class="boxfooter">

--
Gitblit v1.9.1