From a4be516f688d934699dd40f39d7f4f9eaa1ce1eb Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Mon, 12 Dec 2011 16:43:35 -0500
Subject: [PATCH] Larry continued...

---
 skins/larry/templates/mail.html       |    5 +
 skins/larry/includes/mailtoolbar.html |    5 +
 skins/larry/templates/message.html    |   22 +++----
 skins/larry/styles.css                |   65 +++++++++++++--------
 skins/larry/images/buttons.png        |    0 
 skins/larry/mail.css                  |   67 +++++++++++++++++++--
 skins/larry/ui.js                     |   12 ++++
 7 files changed, 129 insertions(+), 47 deletions(-)

diff --git a/skins/larry/images/buttons.png b/skins/larry/images/buttons.png
index 54ebc83..f511755 100644
--- a/skins/larry/images/buttons.png
+++ b/skins/larry/images/buttons.png
Binary files differ
diff --git a/skins/larry/includes/mailtoolbar.html b/skins/larry/includes/mailtoolbar.html
index 09a6f81..246a715 100644
--- a/skins/larry/includes/mailtoolbar.html
+++ b/skins/larry/includes/mailtoolbar.html
@@ -14,7 +14,10 @@
 <roundcube:button command="forward" type="link" class="button forward disabled" classAct="button forward" classSel="button forward pressed" label="forwardmessage" />
 <span class="dropbuttontip" id="forwardmenulink" onclick="UI.show_popup('forwardmenu');return false"></span>
 </span>
-<roundcube:button command="delete" type="link" class="button delete disabled" classAct="button delete" classSel="button delete pressed" label="deletemessage" />
+<roundcube:button command="delete" type="link" class="button delete disabled" classAct="button delete" classSel="button delete pressed" label="delete" title="deletemessage" />
+<roundcube:if condition="template:name == 'message'" />
+<roundcube:button command="print" type="link" class="button print disabled" classAct="button print" classSel="button print pressed" label="print" />
+<roundcube:endif />
 <roundcube:container name="toolbar" id="mailtoolbar" />
 <roundcube:if condition="template:name == 'mail'" />
 <roundcube:button name="markmenulink" id="markmessagemenulink" type="link" class="button markmessage" label="markmessages" onclick="UI.show_popup('markmessagemenu');return false" />
diff --git a/skins/larry/mail.css b/skins/larry/mail.css
index 2478735..15046d2 100644
--- a/skins/larry/mail.css
+++ b/skins/larry/mail.css
@@ -76,6 +76,31 @@
 	display: inline-block;
 }
 
+#messagelistfooter #listcontrols {
+	display: inline-block;
+	margin-right: 2em;
+}
+
+a.iconbutton.listmode {
+	width: 26px;
+	height: 20px;
+	background-position: 0 -437px;
+}
+
+a.iconbutton.threadmode {
+	width: 26px;
+	height: 20px;
+	background-position: 0 -457px;
+}
+
+a.iconbutton.listmode.selected {
+	background-position: -26px -437px;
+}
+
+a.iconbutton.threadmode.selected {
+	background-position: -26px -457px;
+}
+
 #mailboxlist li.mailbox {
 	position: relative;
 	background-repeat: no-repeat;
@@ -234,6 +259,7 @@
 	right: 0;
 	left: 15em;
 	height: 40px;
+	white-space: nowrap;
 }
 
 #messagetoolbar.fullwidth {
@@ -251,11 +277,11 @@
 	right: 2px;
 	width: 20px;
 	height: 18px;
-	background: url(images/buttons.png) -5px -318px no-repeat;
+	background: url(images/buttons.png) -3px -418px no-repeat;
 }
 
 #mailpreviewtoggle.enabled {
-	background-position: -28px -318px;
+	background-position: -28px -418px;
 }
 
 
@@ -603,19 +629,29 @@
 	top: 140px;
 	left: 0;
 	width: 100%;
-	bottom: 32px;
+	bottom: 0;
 	overflow: auto;
+	border-radius: 4px 4px 0 0;
 }
 
 #messageheader,
 #partheader {
 	padding: 3px 0;
 	background: #fff;
-	background: -moz-linear-gradient(top, #fff 0%, #f0f0f0 100%);
-	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f0f0));
-	background: -o-linear-gradient(top, #fff 0%, #f0f0f0 100%);
-	background: -ms-linear-gradient(top, #fff 0%, #f0f0f0 100%);
-	background: linear-gradient(top, #fff 0%, #f0f0f0 100%);
+	background: -moz-linear-gradient(top, #fff 0%, #e9e9e9 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#e9e9e9));
+	background: -o-linear-gradient(top, #fff 0%, #e9e9e9 100%);
+	background: -ms-linear-gradient(top, #fff 0%, #e9e9e9 100%);
+	background: linear-gradient(top, #fff 0%, #e9e9e9 100%);
+}
+
+h2.subject {
+	font-size: 15px;
+	margin: 0 15em 0 0;
+	padding: 4px 8px 2px 8px;
+	white-space: nowrap;
+	overflow: hidden;
+	text-overflow: ellipsis;
 }
 
 .headers-table td {
@@ -649,6 +685,21 @@
 	margin-left: 0.5em;
 }
 
+#messageheader #countcontrols {
+	position: absolute;
+	top: 8px;
+	right: 8px;
+	width: 18em;
+	text-align: right;
+	white-space: nowrap;
+}
+
+#messageheader .pagenav .countdisplay {
+	min-width: 0;
+	padding-right: 0.5em;
+	white-space: nowrap;
+}
+
 #messagecontent .leftcol {
 	margin-right: 250px;
 }
diff --git a/skins/larry/styles.css b/skins/larry/styles.css
index ebfe63e..18c987d 100644
--- a/skins/larry/styles.css
+++ b/skins/larry/styles.css
@@ -130,11 +130,11 @@
 
 a.button {
 	display: inline-block;
-	margin: 0 3px;
+	margin: 0 2px;
 	padding: 2px 5px;
 	color: #525252;
 	text-shadow: 1px 1px 1px #fff;
-	border: 1px solid #ddd;
+	border: 1px solid #c6c6c6;
 	border-radius: 4px;
 	background: #f7f7f7;
 	background: -moz-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
@@ -142,10 +142,10 @@
 	background: -o-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
 	background: -ms-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
 	background: linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
-	box-shadow: 0 2px 2px 0 #999;
-	-o-box-shadow: 0 2px 2px 0 #999;
-	-webkit-box-shadow: 0 2px 2px 0 #999;
-	-moz-box-shadow: 0 2px 2px 0 #999;
+	box-shadow: 0 1px 1px 0 #ccc;
+	-o-box-shadow: 0 1px 1px 0 #ccc;
+	-webkit-box-shadow: 0 1px 1px 0 #ccc;
+	-moz-box-shadow: 0 1px 1px 0 #ccc;
 	text-decoration: none;
 }
 
@@ -167,7 +167,7 @@
 	background: linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
 }
 
-.pagenav a.button {
+.pagenav.dark a.button {
 	font-weight: bold;
 	border-color: #e6e6e6;
 	background: #f7f7f7;
@@ -176,9 +176,13 @@
 	background: -o-linear-gradient(top, #d8d8d8 0%, #bababa 100%);
 	background: -ms-linear-gradient(top, #d8d8d8 0%, #bababa 100%);
 	background: linear-gradient(top, #d8d8d8 0%, #bababa 100%);
+	box-shadow: 0 1px 1px 0 #999;
+	-o-box-shadow: 0 1px 1px 0 #999;
+	-webkit-box-shadow: 0 1px 1px 0 #999;
+	-moz-box-shadow: 0 1px 1px 0 #999;
 }
 
-.pagenav a.button.pressed {
+.pagenav.dark a.button.pressed {
 	background: #bababa;
 	background: -moz-linear-gradient(top, #bababa 0%, #d8d8d8 100%);
 	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#bababa), color-stop(100%,#d8d8d8));
@@ -221,6 +225,7 @@
 	width: 24px;
 	height: 18px;
 	text-decoration: none;
+	text-indent: -1000px;
 	background: url(images/buttons.png) -1000px 0 no-repeat;
 }
 
@@ -550,7 +555,7 @@
 }
 
 .boxfooter .listbutton.groupactions .inner {
-	background-position: 4px -1212px;
+	background-position: 4px -1292px;
 }
 
 .errobox h3 {
@@ -780,45 +785,57 @@
 	top: 0;
 	height: 42px;
 	width: 18px;
-	background: url(images/buttons.png) -24px -1049px no-repeat;
+	background: url(images/buttons.png) -24px -1129px no-repeat;
 	cursor: pointer;
 }
 
 .dropbutton .dropbuttontip:hover {
-	background-position: 0 -1049px;
+	background-position: 0 -1129px;
 }
 
 .toolbar a.button.back {
-	background-position: 0 -370px;
+	background-position: 0 -1170px;
 }
 
 .toolbar a.button.checkmail {
-	background-position: center -410px;
-}
-
-.toolbar a.button.compose {
-	background-position: center -450px;
-}
-
-.toolbar a.button.reply {
 	background-position: center -490px;
 }
 
-.toolbar a.button.reply-all {
+.toolbar a.button.compose {
 	background-position: center -530px;
 }
 
-.toolbar a.button.forward {
+.toolbar a.button.reply {
 	background-position: center -570px;
 }
 
-.toolbar a.button.delete {
+.toolbar a.button.reply-all {
 	background-position: center -610px;
+}
+
+.toolbar a.button.forward {
+	background-position: center -650px;
+}
+
+.toolbar a.button.delete {
+	background-position: center -690px;
+}
+
+.toolbar a.button.archive {
+	background-position: center -730px;
+}
+
+.toolbar a.button.junk {
+	background-position: center -770px;
+}
+
+.toolbar a.button.print {
+	background-position: center -810px;
 }
 
 .toolbar a.button.markmessage,
 .toolbar a.button.more {
-	background-position: center -770px;
+	background-position: center -850px;
 }
 
 /*** popup menus ***/
diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html
index b6f3339..cc056ac 100644
--- a/skins/larry/templates/mail.html
+++ b/skins/larry/templates/mail.html
@@ -56,10 +56,11 @@
 <!-- list footer -->
 <div id="messagelistfooter">
 	<div id="listcontrols">
-		
+		<a href="#list" class="iconbutton listmode" id="maillistmode" title="<roundcube:label name='list' />">List</a>
+		<a href="#threads" class="iconbutton threadmode" id="mailthreadmode" title="<roundcube:label name='threads' />">Threads</a>
 	</div>
 
-	<div id="countcontrols" class="pagenav">
+	<div id="countcontrols" class="pagenav dark">
 		<roundcube:object name="messageCountDisplay" class="countdisplay" />
 		<roundcube:button command="firstpage" type="link" class="button firstpage disabled" classAct="button firstpage" classSel="button firstpage pressed" innerClass="inner" title="firstpage" content="|&amp;lt;" />
 		<roundcube:button command="previouspage" type="link" class="button prevpage disabled" classAct="button prevpage" classSel="button prevpage pressed" innerClass="inner" title="previouspage" content="&amp;lt;" />
diff --git a/skins/larry/templates/message.html b/skins/larry/templates/message.html
index 9cb5928..b73f647 100644
--- a/skins/larry/templates/message.html
+++ b/skins/larry/templates/message.html
@@ -31,8 +31,17 @@
 
 <div id="mailview-top">
 <div id="messageheader" class="uibox">
-<roundcube:object name="messageHeaders" class="headers-table" addicon="/images/addcontact.png" />
+<h2 class="subject"><roundcube:object name="messageHeaders" valueOf="subject" /></h2>
+<roundcube:object name="messageHeaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject" />
 <roundcube:object name="messageFullHeaders" id="full-headers" />
+
+<!-- record navigation -->
+<div id="countcontrols" class="pagenav">
+	<roundcube:object name="messageCountDisplay" class="countdisplay" />
+	<roundcube:button command="previousmessage" type="link" class="button prevpage disabled" classAct="button prevpage" classSel="button prevpage pressed" innerClass="inner" title="previousmessage" content="&amp;lt;" />
+	<roundcube:button command="nextmessage" type="link" class="button nextpage disabled" classAct="button nextpage" classSel="button nextpage pressed" innerClass="inner" title="nextmessage" content="&amp;gt;" />
+</div>
+
 </div>
 
 <div id="messagecontent" class="uibox">
@@ -43,17 +52,6 @@
 <roundcube:object name="messageObjects" id="message-objects" />
 <roundcube:object name="messageBody" id="messagebody" />
 </div>
-</div>
-
-<!-- list footer -->
-<div id="messagelistfooter" class="rightalign">
-	<div id="countcontrols" class="pagenav">
-		<roundcube:object name="messageCountDisplay" class="countdisplay" />
-		<roundcube:button command="firstmessage" type="link" class="button firstpage disabled" classAct="button firstpage" classSel="button firstpage pressed" innerClass="inner" title="firstmessage" content="|&amp;lt;" />
-		<roundcube:button command="previousmessage" type="link" class="button prevpage disabled" classAct="button prevpage" classSel="button prevpage pressed" innerClass="inner" title="previousmessage" content="&amp;lt;" />
-		<roundcube:button command="nextmessage" type="link" class="button nextpage disabled" classAct="button nextpage" classSel="button nextpage pressed" innerClass="inner" title="nextmessage" content="&amp;gt;" />
-		<roundcube:button command="lastmessage" type="link" class="button lastpage disabled" classAct="button lastpage" classSel="button lastpage pressed" innerClass="inner" title="lastmessage" content="&amp;gt;|" />
-	</div>
 </div>
 
 </div><!-- end mailview-top -->
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index 274b71b..b20b538 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -38,6 +38,8 @@
 //      rcmail.addEventListener('aftertoggle-editor', 'resize_compose_body_ev', rcmail_ui);
       rcmail.gui_object('message_dragmenu', 'dragmessagemenu');
       $('#mailpreviewtoggle').click(function(e){ toggle_preview_pane(e); return false });
+      $('#maillistmode').addClass(rcmail.env.threading ? 'unselected' : 'selected').click(function(e){ switch_view_mode('list'); return false });
+      $('#mailthreadmode').addClass(rcmail.env.threading ? 'selected' : 'unselected').click(function(e){ switch_view_mode('thread'); return false });
       
       if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') {
         init_messageview();
@@ -176,6 +178,16 @@
   }
 
 
+  function switch_view_mode(mode)
+  {
+    if (rcmail.env.threading != (mode == 'thread'))
+      rcmail.set_list_options(null, undefined, undefined, mode == 'thread' ? 1 : 0);
+
+    $('#maillistmode, #mailthreadmode').removeClass('selected');
+    $('#mail'+mode+'mode').addClass('selected');
+  }
+
+
   /**** popup callbacks ****/
 
   function searchmenu(show)

--
Gitblit v1.9.1