From 0d9b63e9c022c48b98ec1542dccb50f1b28f80b8 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Wed, 04 Sep 2013 05:13:26 -0400
Subject: [PATCH] Add canned response UI elements to classic skin

---
 skins/classic/mail.css                    |    4 +
 skins/classic/includes/settingstabs.html  |    1 
 skins/classic/settings.css                |   15 +++++
 skins/classic/common.css                  |   29 +++++++++
 skins/classic/templates/compose.html      |   11 +++
 skins/classic/templates/responses.html    |   46 +++++++++++++++
 skins/classic/templates/responseedit.html |   24 ++++++++
 skins/larry/images/buttons.png            |    0 
 skins/classic/images/mail_toolbar.png     |    0 
 9 files changed, 129 insertions(+), 1 deletions(-)

diff --git a/skins/classic/common.css b/skins/classic/common.css
index 3c322f0..accdf71 100644
--- a/skins/classic/common.css
+++ b/skins/classic/common.css
@@ -511,7 +511,8 @@
   margin: 3px -4px;
 }
 
-.popupmenu li a
+.popupmenu li a,
+.popupmenu li label
 {
   display: block;
   color: #a0a0a0;
@@ -519,6 +520,14 @@
   text-decoration: none;
   min-height: 14px;
   background: transparent;
+}
+
+.popupmenu li label.comment
+{
+  color: #999;
+  font-style: italic;
+  padding-top: 4px;
+  padding-bottom: 3px;
 }
 
 .popupmenu li a.active,
@@ -704,6 +713,24 @@
   outline: none;
 }
 
+.propform div.prop
+{
+  margin-bottom: 0.5em;
+}
+
+.propform div.prop.block label
+{
+  display: block;
+  margin-bottom: 2px;
+}
+
+.propform div.prop.block input,
+.propform div.prop.block textarea
+{
+  width: 97%;
+}
+
+
 /***** roundcube webmail pre-defined classes *****/
 
 #rcmversion
diff --git a/skins/classic/images/mail_toolbar.png b/skins/classic/images/mail_toolbar.png
index 4a84317..3ef003f 100644
--- a/skins/classic/images/mail_toolbar.png
+++ b/skins/classic/images/mail_toolbar.png
Binary files differ
diff --git a/skins/classic/includes/settingstabs.html b/skins/classic/includes/settingstabs.html
index 0aea80b..e44eb5b 100644
--- a/skins/classic/includes/settingstabs.html
+++ b/skins/classic/includes/settingstabs.html
@@ -2,6 +2,7 @@
 <span id="settingstabdefault" class="tablink"><roundcube:button command="preferences" type="link" label="preferences" title="editpreferences" /></span>
 <span id="settingstabfolders" class="tablink"><roundcube:button command="folders" type="link" label="folders" title="managefolders" class="tablink" /></span>
 <span id="settingstabidentities" class="tablink"><roundcube:button command="identities" type="link" label="identities" title="manageidentities" class="tablink" /></span>
+<span id="settingstabresponses" class="tablink"><roundcube:button command="responses" type="link" label="responses" title="editresponses" class="tablink" /></span>
 <span id="settingstababout" class="tablink"><roundcube:button command="about" type="link" label="about" title="about" class="tablink" /></span>
 <roundcube:container name="tabs" id="tabsbar" />
 <script type="text/javascript"> if (window.rcmail) rcmail.add_onload(rcube_init_settings_tabs); </script>
diff --git a/skins/classic/mail.css b/skins/classic/mail.css
index b8cc9f3..d472d6d 100644
--- a/skins/classic/mail.css
+++ b/skins/classic/mail.css
@@ -171,6 +171,10 @@
   background-position: -480px -32px;
 }
 
+#messagetoolbar a.responses {
+  background-position: -512px 0;
+}
+
 #messagetoolbar select.mboxlist
 {
   position: relative;
diff --git a/skins/classic/settings.css b/skins/classic/settings.css
index 2433f50..0e4f796 100644
--- a/skins/classic/settings.css
+++ b/skins/classic/settings.css
@@ -81,12 +81,21 @@
 }
 
 #identity-details table td.title,
+#response-details table td.title,
 #folder-details table td.title
 {
   font-weight: bold;
   text-align: right;
   width: 1%;
   white-space: nowrap;
+}
+
+#response-details table td.title
+{
+  text-align: left;
+  vertical-align: top;
+  width: 140px;
+  padding-top: 5px;
 }
 
 #bottomboxes
@@ -149,6 +158,12 @@
   float: right;
 }
 
+#formfooter .footerindent
+{
+  padding: 10px 0;
+  margin-left: 155px;
+}
+
 #quota
 {
   position: absolute;
diff --git a/skins/classic/templates/compose.html b/skins/classic/templates/compose.html
index 5e259e1..7ed9fac 100644
--- a/skins/classic/templates/compose.html
+++ b/skins/classic/templates/compose.html
@@ -40,6 +40,7 @@
         <span id="spellmenulink" onclick="rcmail_ui.show_popup('spellmenu');return false"></span>
     </span>
 <roundcube:endif />
+    <a href="#responses" class="button responses" label="responses" title="<roundcube:label name='insertresponse' />" id="responsesmenulink" unselectable="on" onmousedown="return false" onclick="rcmail_ui.show_popup('responsesmenu');return false">&nbsp;</a>
     <roundcube:container name="toolbar" id="compose-toolbar" />
     <roundcube:button name="messageoptions" id="composemenulink" type="link" class="button messagemenu" title="messageoptions" onclick="rcmail_ui.show_popup('composemenu', true);return false" content=" " />
 </div>
@@ -191,6 +192,16 @@
     </table>
 </div>
 
+<div id="responsesmenu" class="popupmenu">
+    <ul id="textresponsesmenu">
+        <li><label class="comment"><roundcube:label name="insertresponse" /></label></li>
+        <roundcube:object name="responseslist" id="responseslist" tagname="ul" itemclass="active" />
+        <li><label class="comment"><roundcube:label name="manageresponses" /></label></li>
+        <li><roundcube:button command="save-response" type="link" label="savenewresponse" classAct="active" unselectable="on" /></li>
+        <li><roundcube:button command="responses" type="link" label="editresponses" classAct="active" /></li>
+    </ul>
+</div>
+
 <div id="spellmenu" class="popupmenu selectable"></div>
 
 </form>
diff --git a/skins/classic/templates/responseedit.html b/skins/classic/templates/responseedit.html
new file mode 100644
index 0000000..fbc5f66
--- /dev/null
+++ b/skins/classic/templates/responseedit.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><roundcube:object name="pagetitle" /></title>
+<roundcube:include file="/includes/links.html" />
+<script type="text/javascript" src="/functions.js"></script>
+
+</head>
+<body class="iframe">
+
+<div id="prefs-title" class="boxtitle"><roundcube:object name="steptitle" /></div>
+
+<div id="response-details" class="boxcontent">
+  <roundcube:object name="responseform" class="propform" size="60" textareacols="60" textarearows="18" />
+
+  <div id="formfooter">
+    <div class="footerindent">
+      <roundcube:button command="save" type="input" class="button mainaction" label="save" />
+    </div>
+  </div>
+</div>
+
+</body>
+</html>
diff --git a/skins/classic/templates/responses.html b/skins/classic/templates/responses.html
new file mode 100644
index 0000000..14087d8
--- /dev/null
+++ b/skins/classic/templates/responses.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<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-box { 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>
+
+<roundcube:include file="/includes/taskbar.html" />
+<roundcube:include file="/includes/header.html" />
+<roundcube:include file="/includes/settingstabs.html" />
+
+<div id="mainscreen">
+
+<div id="identities-list">
+<div id="identity-title" class="boxtitle"><roundcube:label name="identities" /></div>
+<div class="boxlistcontent">
+<roundcube:object name="responsesList" id="identities-table" class="records-table" cellspacing="0" summary="Responses 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" /><roundcube:button command="delete" type="link" title="delete" class="buttonPas delgroup" classAct="button delgroup" 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-box', orientation: 'v', relative: true, start: 300 });
+  rcmail.add_onload('identviewsplit.init()');
+</script>
+
+<div id="identity-box">
+  <roundcube:object name="responseframe" id="identity-frame" width="100%" height="100%" frameborder="0" src="/watermark.html" />
+</div>
+
+</div>
+
+</body>
+</html>
diff --git a/skins/larry/images/buttons.png b/skins/larry/images/buttons.png
index 03c61ed..8e25601 100644
--- a/skins/larry/images/buttons.png
+++ b/skins/larry/images/buttons.png
Binary files differ

--
Gitblit v1.9.1