From a3644638aaf0418598196a870204e0b632a4c8ad Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 17 Apr 2015 06:28:40 -0400
Subject: [PATCH] Allow preference sections to define CSS class names

---
 skins/classic/mail.css |  357 +++++++++++++++-------------------------------------------
 1 files changed, 95 insertions(+), 262 deletions(-)

diff --git a/skins/classic/mail.css b/skins/classic/mail.css
index 47faa29..060503b 100644
--- a/skins/classic/mail.css
+++ b/skins/classic/mail.css
@@ -173,11 +173,11 @@
 }
 
 #messagetoolbar a.download {
-  background-position: -480px 0;
+  background-position: -514px 0;
 }
 
 #messagetoolbar a.downloadSel {
-  background-position: -480px -32px;
+  background-position: -514px -32px;
 }
 
 #messagetoolbar a.responses {
@@ -409,168 +409,14 @@
   background-color: #FFF;
 }
 
-#mailboxlist li
-{
-  display: block;
-  position: relative;
-  font-size: 11px;
-  border-bottom: 1px solid #EBEBEB;
-}
-
-#mailboxlist li ul li:last-child
-{
-  border-bottom: 0 none;
-}
-
-#mailboxlist li.inbox a
-{
-  background-position: 5px -18px;
-}
-
-#mailboxlist li.drafts a
-{
-  background-position: 5px -37px;
-}
-
-#mailboxlist li.sent a
-{
-  background-position: 5px -54px;
-}
-
-#mailboxlist li.junk a
-{
-  background-position: 5px -73px;
-}
-
-#mailboxlist li.trash a
-{
-  background-position: 5px -180px;
-}
-
-#mailboxlist li.trash.empty a
-{
-  background-position: 5px -90px;
-}
-
-#mailboxlist li a
-{
-  cursor: default;
-  display: block;
-  position: relative;
-  padding-left: 25px;
-  padding-top: 2px;
-  padding-bottom: 2px;
-  text-decoration: none;
-  height: 15px;
-  background: url(images/icons/folders.png) 5px 0 no-repeat;
-}
-
 #mailboxlist li.unread
 {
   font-weight: bold;
 }
 
-#mailboxlist li.virtual > a
-{
-  color: #666;
-}
-
 #mailboxlist li.recent > a
 {
   color: #0066FF;
-}
-
-#mailboxlist li.selected,
-#mailboxlist li.droptarget li.selected
-{
-  background-color: #929292;
-}
-
-#mailboxlist li.selected > a,
-#mailboxlist li.droptarget li.selected a
-{
-  color: #FFF;
-  font-weight: bold;
-}
-
-#mailboxlist li.droptarget
-{
-  background-color: #FFFFA6;
-}
-
-/* styles for nested folders */
-#mailboxlist ul {
-  list-style: none;
-  padding: 0;
-  margin: 0;
-  border-top: 1px solid #EBEBEB;
-  background-color: #FFF;
-  font-weight: normal;
-}
-
-#mailboxlist li.mailbox ul li a {
-  padding-left: 40px;  /* 24 + 1 x 16 */
-  background-position: 20px 0;  /* 4 + 1 x 16 */
-}
-#mailboxlist li.mailbox ul li div.treetoggle {
-  left: 23px !important;
-}
-
-#mailboxlist li.mailbox ul ul li.mailbox a {
-  padding-left: 56px;  /* 2x */
-  background-position: 36px 0;
-}
-#mailboxlist li.mailbox ul ul li div.treetoggle {
-  left: 39px !important;
-}
-
-#mailboxlist li.mailbox ul ul ul li.mailbox a {
-  padding-left: 72px;  /* 3x */
-  background-position: 52px 0;
-}
-#mailboxlist li.mailbox ul ul ul li div.treetoggle {
-  left: 55px !important;
-}
-
-#mailboxlist li.mailbox ul ul ul ul li.mailbox a {
-  padding-left: 88px;  /* 4x */
-  background-position: 68px 0;
-}
-#mailboxlist li.mailbox ul ul ul ul li div.treetoggle {
-  left: 71px !important;
-}
-
-/* indent folders on levels > 4 */
-#mailboxlist li.mailbox ul ul ul ul ul li {
-  padding-left: 16px;
-}
-#mailboxlist li.mailbox ul ul ul ul ul li div.treetoggle {
-  left: 87px !important;
-}
-
-#mailboxlist li.mailbox ul li.drafts a
-{
-  background-position: 21px -37px;
-}
-
-#mailboxlist li.mailbox ul li.sent a
-{
-  background-position: 21px -54px;
-}
-
-#mailboxlist li.mailbox ul li.junk a
-{
-  background-position: 21px -73px;
-}
-
-#mailboxlist li.mailbox ul li.trash a
-{
-  background-position: 21px -180px;
-}
-
-#mailboxlist li.mailbox ul li.trash.empty a
-{
-  background-position: 21px -90px;
 }
 
 #listcontrols
@@ -719,6 +565,7 @@
   z-index: 2;
 }
 
+.messagelist thead tr th,
 .messagelist thead tr td
 {
   height: 20px;
@@ -729,25 +576,26 @@
   background: url(images/listheader.gif) top left repeat-x #CCC;
   font-size: 11px;
   font-weight: bold;
+  text-align: left;
 }
 
-.messagelist thead tr td.sortedASC,
-.messagelist thead tr td.sortedDESC
+.messagelist thead tr > .sortedASC,
+.messagelist thead tr > .sortedDESC
 {
   background-position: 0 -26px;
 }
 
-.messagelist thead tr td.sortedASC a
+.messagelist thead tr > .sortedASC a
 {
   background: url(images/icons/sort.gif) right 0 no-repeat;
 }
 
-.messagelist thead tr td.sortedDESC a
+.messagelist thead tr > .sortedDESC a
 {
   background: url(images/icons/sort.gif) right -14px no-repeat;
 }
 
-.messagelist thead tr td a
+.messagelist thead tr a
 {
   display: block;
   width: auto !important;
@@ -756,18 +604,19 @@
   text-decoration: none;
 }
 
-.messagelist thead tr td.size.sortedASC a,
-.messagelist thead tr td.size.sortedDESC a
+.messagelist thead tr > .size.sortedASC a,
+.messagelist thead tr > .size.sortedDESC a
 {
   padding-right: 18px;
 }
 
-.messagelist thead tr td.subject
+.messagelist thead tr > .subject
 {
   padding-left: 18px;
   width: 99%;
 }
 
+.messagelist tbody tr th,
 .messagelist tbody tr td
 {
   height: 20px;
@@ -780,6 +629,7 @@
   -o-text-overflow: ellipsis;
   border-bottom: 1px solid #EBEBEB;
   cursor: default;
+  outline: none;
 }
 
 .messagelist tbody tr td a
@@ -803,40 +653,42 @@
   cursor: pointer;
 }
 
-.messagelist tr td.flag span,
-.messagelist tr td.status span,
-.messagelist tr td.attachment span,
-.messagelist tr td.priority span
+.messagelist tr > .flag span,
+.messagelist tr > .status span,
+.messagelist tr > .attachment span,
+.messagelist tr > .priority span
 {
   display: block;
   width: 15px;
+  text-indent: -5000px;
+  overflow: hidden;
 }
 
 .messagelist tr td div.collapsed,
 .messagelist tr td div.expanded,
-.messagelist tr td.threads div.listmenu,
-.messagelist tr td.attachment span.attachment,
-.messagelist tr td.attachment span.report,
-.messagelist tr td.priority span.priority,
-.messagelist tr td.priority span.prio1,
-.messagelist tr td.priority span.prio2,
-.messagelist tr td.priority span.prio3,
-.messagelist tr td.priority span.prio4,
-.messagelist tr td.priority span.prio5,
-.messagelist tr td.flag span.flagged,
-.messagelist tr td.flag span.unflagged,
-.messagelist tr td.flag span.unflagged:hover,
-.messagelist tr td.status span.status,
-.messagelist tr td.status span.msgicon,
-.messagelist tr td.status span.deleted,
-.messagelist tr td.status span.unread,
-.messagelist tr td.status span.unreadchildren,
-.messagelist tr td.subject span.msgicon,
-.messagelist tr td.subject span.deleted,
-.messagelist tr td.subject span.unread,
-.messagelist tr td.subject span.replied,
-.messagelist tr td.subject span.forwarded,
-.messagelist tr td.subject span.unreadchildren
+.messagelist tr > .threads .listmenu,
+.messagelist tr > .attachment span.attachment,
+.messagelist tr > .attachment span.report,
+.messagelist tr > .priority span.priority,
+.messagelist tr > .priority span.prio1,
+.messagelist tr > .priority span.prio2,
+.messagelist tr > .priority span.prio3,
+.messagelist tr > .priority span.prio4,
+.messagelist tr > .priority span.prio5,
+.messagelist tr > .flag span.flagged,
+.messagelist tr > .flag span.unflagged,
+.messagelist tr > .flag span.unflagged:hover,
+.messagelist tr > .status span.status,
+.messagelist tr > .status span.msgicon,
+.messagelist tr > .status span.deleted,
+.messagelist tr > .status span.unread,
+.messagelist tr > .status span.unreadchildren,
+.messagelist tr > .subject span.msgicon,
+.messagelist tr > .subject span.deleted,
+.messagelist tr > .subject span.unread,
+.messagelist tr > .subject span.replied,
+.messagelist tr > .subject span.forwarded,
+.messagelist tr > .subject span.unreadchildren
 {
   display: inline-block;
   vertical-align: middle;
@@ -845,99 +697,99 @@
   background: url(images/messageicons.png) center no-repeat;
 }
 
-.messagelist tr td.attachment span.attachment
+.messagelist tr > .attachment span.attachment
 {
   background-position: 0 -170px;
 }
 
-.messagelist tr td.attachment span.report
+.messagelist tr > .attachment span.report
 {
   background-position: 0 -255px;
 }
 
-.messagelist tr td.priority span.priority
+.messagelist tr > .priority span.priority
 {
   background-position: 0 -309px;
 }
 
-.messagelist tr td.priority span.prio5
+.messagelist tr > .priority span.prio5
 {
   background-position: 0 -358px;
 }
 
-.messagelist tr td.priority span.prio4
+.messagelist tr > .priority span.prio4
 {
   background-position: 0 -340px;
 }
 
-.messagelist tr td.priority span.prio3
+.messagelist tr > .priority span.prio3
 {
   background-position: 0 -324px;
 }
 
-.messagelist tr td.priority span.prio2
+.messagelist tr > .priority span.prio2
 {
   background-position: 0 -309px;
 }
 
-.messagelist tr td.priority span.prio1
+.messagelist tr > .priority span.prio1
 {
   background-position: 0 -290px;
 }
 
-.messagelist tr td.flag span.flagged
+.messagelist tr > .flag span.flagged
 {
   background-position: 0 -153px;
 }
 
-.messagelist tr td.flag span.unflagged:hover
+.messagelist tr > .flag span.unflagged:hover
 {
   background-position: 0 -136px;
 }
 
-.messagelist tr td.subject span.msgicon,
-.messagelist tr td.subject span.unreadchildren
+.messagelist tr > .subject span.msgicon,
+.messagelist tr > .subject span.unreadchildren
 {
   background-position: 0 -51px;
   margin: 0 2px;
 }
 
-.messagelist tr td.subject span.replied
+.messagelist tr > .subject span.replied
 {
   background-position: 0 -85px;
 }
 
-.messagelist tr td.subject span.forwarded
+.messagelist tr > .subject span.forwarded
 {
   background-position: 0 -68px;
 }
 
-.messagelist tr td.subject span.replied.forwarded
+.messagelist tr > .subject span.replied.forwarded
 {
   background-position: 0 -102px;
 }
 
-.messagelist tr td.status span.msgicon,
-.messagelist tr td.flag span.unflagged,
-.messagelist tr td.status span.unreadchildren
+.messagelist tr > .status span.msgicon,
+.messagelist tr > .flag span.unflagged,
+.messagelist tr > .status span.unreadchildren
 {
   background-position: 0 17px; /* no icon */
 }
 
-.messagelist tr td.status span.msgicon:hover
+.messagelist tr > .status span.msgicon:hover
 {
   background-position: 0 -272px;
 }
 
-.messagelist tr td.status span.deleted,
-.messagelist tr td.subject span.deleted
+.messagelist tr > .status span.deleted,
+.messagelist tr > .subject span.deleted
 {
   background-position: 0 -187px;
 }
 
-.messagelist tr td.status span.status,
-.messagelist tr td.status span.unread,
-.messagelist tr td.subject span.unread
+.messagelist tr > .status span.status,
+.messagelist tr > .status span.unread,
+.messagelist tr > .subject span.unread
 {
   background-position: 0 -119px;
 }
@@ -954,10 +806,13 @@
   cursor: pointer;
 }
 
-.messagelist tr td.threads div.listmenu
+.messagelist tr > .threads .listmenu
 {
   background-position: 0 -238px;
   cursor: pointer;
+  overflow: hidden;
+  text-indent: -5000px;
+  display: block;
 }
 
 .messagelist tbody tr td.subject
@@ -977,45 +832,45 @@
   text-decoration: underline;
 }
 
-.messagelist tr td.attachment,
-.messagelist tr td.threads,
-.messagelist tr td.status,
-.messagelist tr td.flag,
-.messagelist tr td.priority
+.messagelist tr > .attachment,
+.messagelist tr > .threads,
+.messagelist tr > .status,
+.messagelist tr > .flag,
+.messagelist tr > .priority
 {
   width: 17px;
   padding: 0 0 0 2px;
 }
 
-.messagelist tr td.size
+.messagelist tr > .size
 {
   width: 60px;
   text-align: right;
   padding: 0 2px;
 }
 
-.messagelist tr td.fromto,
-.messagelist tr td.from,
-.messagelist tr td.to,
-.messagelist tr td.cc,
-.messagelist tr td.replyto
+.messagelist tr > .fromto,
+.messagelist tr > .from,
+.messagelist tr > .to,
+.messagelist tr > .cc,
+.messagelist tr > .replyto
 {
   width: 180px;
   padding: 0 2px;
 }
 
-.messagelist tr td.date
+.messagelist tr > .date
 {
   width: 135px;
   padding: 0 2px;
 }
 
-.messagelist tr td.folder
+.messagelist tr > .folder
 {
   width: 135px;
 }
 
-.messagelist tr td.hidden
+.messagelist tr > .hidden
 {
   display: none;
 }
@@ -1038,6 +893,7 @@
 }
 
 /* This padding-left minus the focused padding left should be half of the focused border-left */
+.messagelist thead tr th:first-child,
 .messagelist thead tr td:first-child,
 .messagelist tbody tr td:first-child {
 	border-left: 0;
@@ -1058,21 +914,15 @@
 .messagelist tr.selected td
 {
   color: #FFFFFF;
-  background-color: #CC3333;
-}
-
-.messagelist tr.unfocused td
-{
-  color: #FFFFFF;
   background-color: #929292;
 }
 
-.messagelist tr.selected td a
+.messagelist.focus tr.selected td
 {
-  color: #FFFFFF;
+  background-color: #CC3333;
 }
 
-.messagelist tr.unfocused td a
+.messagelist tr.selected td a
 {
   color: #FFFFFF;
 }
@@ -1325,7 +1175,7 @@
   border-left: 2px solid blue;
   border-right: 2px solid blue;
   background-color: #F6F6F6;
-  margin: 0;
+  margin: 2px 0;
   padding: 0 0.4em;
   overflow: hidden;
   text-overflow: ellipsis;
@@ -1343,16 +1193,6 @@
   color: #990000;
   border-left: 2px solid #bb0000;
   border-right: 2px solid #bb0000;
-}
-
-body.iframe div.message-htmlpart
-{
-  margin: 8px;
-}
-
-div.message-htmlpart div.rcmBody
-{
-  margin: 8px;
 }
 
 #messagebody span.part-notice
@@ -1541,6 +1381,10 @@
   border: 1px solid #999;
 }
 
+#compose-body-div .mce-tinymce {
+  border: 0 !important;
+}
+
 #compose-div .boxlistcontent
 {
   bottom: 23px;
@@ -1559,17 +1403,6 @@
   resize: none;
   border: none;
   outline: none;
-}
-
-#compose-body_tbl,
-#compose-body_tbl td
-{
-  border: none;
-}
-
-#compose-body_tbl tr.mceFirst td.mceToolbar
-{
-  border-bottom: 1px solid #ccc;
 }
 
 #compose-headers
@@ -1860,7 +1693,7 @@
   color: #999;
 }
 
-#compose-contacts #quicksearchbar
+#compose-contacts .searchbox
 {
   top: 2px;
   left: 7px;

--
Gitblit v1.9.1