You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
622 lines
13 KiB
Plaintext
622 lines
13 KiB
Plaintext
/*** List and treelist widgets ***/
|
|
|
|
.listing {
|
|
tbody td,
|
|
li {
|
|
display: block;
|
|
border-bottom: 1px solid #f4f4f4;
|
|
cursor: default;
|
|
font-weight: normal;
|
|
}
|
|
|
|
tbody td,
|
|
li a {
|
|
display: block;
|
|
text-decoration: none;
|
|
cursor: default;
|
|
padding: 0 0.5em;
|
|
white-space: nowrap;
|
|
vertical-align: middle;
|
|
line-height: 2.4em;
|
|
color: @color-list;
|
|
}
|
|
|
|
tbody td {
|
|
display: table-cell;
|
|
outline: none;
|
|
}
|
|
|
|
li.selected,
|
|
tr.selected td {
|
|
color: @color-list-selected;
|
|
background-color: @color-list-selected-background;
|
|
}
|
|
|
|
td.selection {
|
|
padding: 0 1em;
|
|
width: 3em;
|
|
text-align: center;
|
|
}
|
|
|
|
td.selection > input {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
li.droptarget > a,
|
|
tr.droptarget > td {
|
|
background-color: @color-list-droptarget-background;
|
|
}
|
|
|
|
/* Focus indicator */
|
|
/* because of border-collapse, we make the left border twice what we want it to be - half will be hidden to the left */
|
|
@media screen and (min-width: @screen-width-large) {
|
|
li > a,
|
|
tbody tr > td:first-child {
|
|
border-left: 2px solid transparent;
|
|
}
|
|
li > a:focus,
|
|
&.focus tbody tr.focused > td:first-child {
|
|
border-left: 2px solid @color-list-focus-indicator;
|
|
}
|
|
}
|
|
}
|
|
|
|
table.listing {
|
|
width: 100%;
|
|
table-layout: fixed;
|
|
}
|
|
|
|
ul.listing {
|
|
display: block;
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
& > ul {
|
|
padding: 0;
|
|
}
|
|
|
|
li {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
position: relative;
|
|
|
|
ul {
|
|
border-top: 1px solid #f4f4f4;
|
|
padding-left: 1.5em;
|
|
|
|
li:last-child {
|
|
border-bottom: none;
|
|
}
|
|
}
|
|
|
|
input[type=checkbox] {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0.2em;
|
|
height: 2.4em;
|
|
vertical-align: middle;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/* icons */
|
|
|
|
.listing.iconized li {
|
|
a:before {
|
|
&:extend(.font-icon-class);
|
|
}
|
|
&.preferences > a:before {
|
|
content: @fa-var-sliders;
|
|
}
|
|
&.folders > a:before {
|
|
content: @fa-var-folder;
|
|
}
|
|
&.responses > a:before {
|
|
content: @fa-var-comment;
|
|
}
|
|
&.identities > a:before {
|
|
content: @fa-var-at;
|
|
}
|
|
&.password > a:before {
|
|
content: @fa-var-lock;
|
|
}
|
|
&.addressbook a:before {
|
|
content: @fa-var-book;
|
|
}
|
|
&.contactgroup a:before {
|
|
content: @fa-var-group;
|
|
}
|
|
&.contactsearch a:before {
|
|
content: @fa-var-search;
|
|
}
|
|
&.filter > a:before {
|
|
content: @fa-var-filter;
|
|
}
|
|
&.vacation > a:before {
|
|
content: @fa-var-clock-o;
|
|
}
|
|
&.enigma.keys > a:before {
|
|
content: @fa-var-key;
|
|
}
|
|
|
|
/* autocomplete popup */
|
|
& > i:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-user;
|
|
}
|
|
&.group > i:before {
|
|
content: @fa-var-group;
|
|
}
|
|
}
|
|
|
|
.listing.iconized tr {
|
|
td:before {
|
|
&:extend(.font-icon-class);
|
|
}
|
|
&.contact.person td.name:before {
|
|
content: @fa-var-user;
|
|
}
|
|
&.contact.group td.name:before {
|
|
content: @fa-var-group;
|
|
}
|
|
&.general > td.section:before {
|
|
content: @fa-var-desktop;
|
|
}
|
|
&.mailbox > td.section:before {
|
|
content: @fa-var-envelope-o;
|
|
}
|
|
&.mailview > td.section:before {
|
|
content: @fa-var-inbox;
|
|
}
|
|
&.compose > td.section:before {
|
|
content: @fa-var-paper-plane;
|
|
}
|
|
&.addressbook > td.section:before {
|
|
content: @fa-var-user;
|
|
}
|
|
&.folders > td.section:before {
|
|
content: @fa-var-folder-o;
|
|
}
|
|
&.server > td.section:before {
|
|
content: @fa-var-server;
|
|
}
|
|
&.enigma > td.section:before {
|
|
content: @fa-var-lock;
|
|
}
|
|
}
|
|
|
|
/* selecatable list: e.g. spellcheck language selection */
|
|
.listing.iconized.selectable li {
|
|
a:before {
|
|
&:extend(.font-icon-class);
|
|
content: "";
|
|
}
|
|
a.selected:before {
|
|
content: @fa-var-check;
|
|
}
|
|
}
|
|
|
|
ul.treelist li {
|
|
div.treetoggle {
|
|
position: absolute;
|
|
top: 1.2em;
|
|
left: 1.3em;
|
|
width: 0.8em;
|
|
height: 0.8em;
|
|
line-height: 0.8em;
|
|
cursor: pointer;
|
|
|
|
&:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-plus-square-o;
|
|
font-size: 0.8em;
|
|
width: 0.8em;
|
|
height: 0.8em;
|
|
background-color: white;
|
|
}
|
|
|
|
&.expanded:before {
|
|
content: @fa-var-minus-square-o;
|
|
}
|
|
}
|
|
|
|
& > a {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
&.selected > a {
|
|
color: @color-list-selected;
|
|
background-color: @color-list-selected-background;
|
|
}
|
|
|
|
&.selected {
|
|
color: inherit;
|
|
background-color: transparent;
|
|
}
|
|
|
|
ul {
|
|
padding: 0;
|
|
|
|
li {
|
|
padding-left: 0;
|
|
a { padding-left: 1.5em; }
|
|
div.treetoggle { left: (1.5em + 0.8em); }
|
|
|
|
li {
|
|
a { padding-left: (2 * 1.5em); }
|
|
div.treetoggle { left: (2 * 1.5em + 0.8em); }
|
|
|
|
li {
|
|
a { padding-left: (3 * 1.5em); }
|
|
div.treetoggle { left: (3 * 1.5em + 0.8em); }
|
|
|
|
li {
|
|
a { padding-left: (4 * 1.5em); }
|
|
div.treetoggle { left: (4 * 1.5em + 0.8em); }
|
|
|
|
li {
|
|
a { padding-left: (5 * 1.5em); }
|
|
div.treetoggle { left: (5 * 1.5em + 0.8em); }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*** Folders list widget ***/
|
|
|
|
.folderlist {
|
|
li {
|
|
&.mailbox {
|
|
&.unread {
|
|
/* TODO */
|
|
& > a {
|
|
padding-right: 2.5em;
|
|
}
|
|
}
|
|
|
|
&.recent {
|
|
color: @color-list-recent;
|
|
}
|
|
|
|
.unreadcount {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
min-width: 2em;
|
|
line-height: 1.4em;
|
|
margin: 0.5em 0.2em;
|
|
padding: 0 0.3em;
|
|
background: /* todo */ #1e70bf;
|
|
border-radius: 0.4em;
|
|
color: @color-list-badge;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
}
|
|
|
|
&.selected .unreadcount {
|
|
/* todo */;
|
|
}
|
|
|
|
&.recent > .unreadcount {
|
|
background: @color-list-recent-badge;
|
|
color: @color-list-recent-badge-background;
|
|
}
|
|
}
|
|
|
|
a:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-folder-o;
|
|
}
|
|
|
|
&.inbox a:before {
|
|
content: @fa-var-inbox;
|
|
}
|
|
&.trash a:before {
|
|
content: @fa-var-trash;
|
|
}
|
|
&.trash.empty a:before {
|
|
content: @fa-var-trash-o;
|
|
}
|
|
&.drafts a:before {
|
|
content: @fa-var-edit;
|
|
}
|
|
&.sent a:before {
|
|
content: @fa-var-paper-plane;
|
|
}
|
|
&.junk a:before {
|
|
content: @fa-var-recycle;
|
|
}
|
|
&.archive a:before {
|
|
content: @fa-var-archive;
|
|
}
|
|
}
|
|
}
|
|
|
|
/*** Messages list widget ***/
|
|
|
|
.messagelist > thead,
|
|
.messagelist .branch,
|
|
table.fixedcopy {
|
|
display: none;
|
|
}
|
|
|
|
.messagelist {
|
|
td {
|
|
border-left: 0;
|
|
width: 2em;
|
|
vertical-align: top;
|
|
}
|
|
|
|
td.subject {
|
|
width: 99%;
|
|
white-space: wrap;
|
|
position: relative; /* for span.date positioning in Firefox */
|
|
|
|
span {
|
|
line-height: 2em;
|
|
|
|
&.date {
|
|
right: 2px;
|
|
top: 3px;
|
|
position: absolute;
|
|
color: #666; /* TODO */
|
|
}
|
|
|
|
&.fromto {
|
|
padding-left: 1.5em;
|
|
display: block;
|
|
margin-right: 10em;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
color: #666; /* TODO */
|
|
}
|
|
|
|
&.subject {
|
|
clear: both;
|
|
display: block;
|
|
font-size: 1em;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
}
|
|
|
|
td.threads {
|
|
vertical-align: bottom;
|
|
}
|
|
|
|
td.flags {
|
|
span {
|
|
width: 20px;
|
|
height: 20px;
|
|
display: block;
|
|
margin-left: 1px;
|
|
|
|
&.flag {
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
}
|
|
|
|
tr.flagged td.subject span.date,
|
|
tr.flagged td.subject span.fromto {
|
|
color: #ff5c33; /* TODO */
|
|
}
|
|
|
|
tr.deleted td.subject span.date,
|
|
tr.deleted td.subject span.fromto {
|
|
color: #ccc; /* TODO */
|
|
}
|
|
|
|
tr.unread td.subject span.subject {
|
|
/* TODO font-weight: bold? */
|
|
}
|
|
|
|
/* thread parent message with unread children */
|
|
tr.unroot td.subject a {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
tr.thread td.threads div:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-caret-square-o-right;
|
|
}
|
|
tr.thread.expanded td.threads div:before {
|
|
content: @fa-var-caret-square-o-down;
|
|
}
|
|
td.subject span.msgicon.status:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-circle;
|
|
cursor: pointer;
|
|
font-size: 0.4em;
|
|
width: 3em;
|
|
}
|
|
td.subject span.msgicon.status.unread:before {
|
|
content: @fa-var-star;
|
|
font-size: 1.2em;
|
|
width: 1em;
|
|
}
|
|
td.subject span.msgicon.status.unreadchildren:before {
|
|
content: @fa-var-star-half-o;
|
|
font-size: 1.2em;
|
|
width: 1em;
|
|
}
|
|
td.subject span.msgicon.status.replied:before {
|
|
content: @fa-var-mail-reply;
|
|
font-size: 1.2em;
|
|
width: 1em;
|
|
}
|
|
td.subject span.msgicon.status.forwarded:before {
|
|
content: @fa-var-mail-forward;
|
|
font-size: 1.2em;
|
|
width: 1em;
|
|
}
|
|
td.subject span.msgicon.status.replied.forwarded:before {
|
|
content: @fa-var-mail-forward; /* TODO */
|
|
font-size: 1.2em;
|
|
width: 1em;
|
|
}
|
|
tr.deleted td.subject span.msgicon.status:before {
|
|
content: @fa-var-ban;
|
|
font-size: 1.2em;
|
|
width: 1em;
|
|
}
|
|
|
|
span.attachment span {
|
|
&:extend(.font-icon-class);
|
|
|
|
&:before {
|
|
content: @fa-var-paperclip;
|
|
}
|
|
&.report:before {
|
|
content: @fa-var-file-text-o;
|
|
}
|
|
&.encrypted:before {
|
|
content: @fa-var-lock;
|
|
}
|
|
}
|
|
|
|
span.flagged:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-flag;
|
|
}
|
|
|
|
tr:hover span.unflagged:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-flag-o;
|
|
}
|
|
}
|
|
|
|
/* Attachments list */
|
|
|
|
.attachmentslist li {
|
|
display: inline-block;
|
|
line-height: 1.25em;
|
|
|
|
&:before {
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-file-o;
|
|
}
|
|
|
|
&.txt:before,
|
|
&.text:before {
|
|
content: @fa-var-file-text-o;
|
|
}
|
|
|
|
&.pdf:before {
|
|
content: @fa-var-file-pdf-o;
|
|
}
|
|
|
|
&.odt:before,
|
|
&.doc:before,
|
|
&.docx:before,
|
|
&.msword:before {
|
|
content: @fa-var-file-word-o;
|
|
}
|
|
|
|
&.ods:before,
|
|
&.xls:before,
|
|
&.xlsx:before,
|
|
&.msexcel:before {
|
|
content: @fa-var-file-excel-o;
|
|
}
|
|
|
|
&.rar:before,
|
|
&.zip:before,
|
|
&.gz:before {
|
|
content: @fa-var-file-zip-o;
|
|
}
|
|
|
|
&.image:before,
|
|
&.jpg:before,
|
|
&.jpeg:before,
|
|
&.png:before {
|
|
content: @fa-var-file-image-o;
|
|
}
|
|
|
|
&.mp3:before,
|
|
&.audio:before {
|
|
content: @fa-var-file-audio-o;
|
|
}
|
|
|
|
&.m4p:before,
|
|
&.video:before {
|
|
content: @fa-var-file-video-o;
|
|
}
|
|
|
|
&.ics:before,
|
|
&.calendar:before {
|
|
/* TODO */
|
|
}
|
|
|
|
&.vcard:before {
|
|
content: @fa-var-vcard;
|
|
}
|
|
|
|
&.html:before {
|
|
content: @fa-var-file-code-o;
|
|
}
|
|
|
|
&.eml:before,
|
|
&.rfc822:before {
|
|
/* TODO */
|
|
}
|
|
|
|
&.odp:before,
|
|
&.otp:before,
|
|
&.ppt:before,
|
|
&.pptx:before,
|
|
&.ppsx:before,
|
|
&.vnd.mspowerpoint:before {
|
|
content: @fa-var-file-powerpoint-o;
|
|
}
|
|
|
|
&.sig:before,
|
|
&.pgp-signature:before,
|
|
&.pkcs7-signature:before {
|
|
/* TODO */
|
|
}
|
|
|
|
&.application.asc:before {
|
|
/* TODO */
|
|
}
|
|
|
|
&.application.pgp-keys:before {
|
|
/* TODO */
|
|
}
|
|
|
|
.attachment-size {
|
|
color: #ddd; /* TODO: use color variable */
|
|
}
|
|
|
|
a.button {
|
|
float: right;
|
|
}
|
|
|
|
a.delete:before {
|
|
float: right;
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-trash;
|
|
}
|
|
|
|
&.uploading {
|
|
&:before {
|
|
content: @fa-var-circle-o-notch;
|
|
.animated-icon-class;
|
|
}
|
|
|
|
a.cancelupload:before {
|
|
float: right;
|
|
&:extend(.font-icon-class);
|
|
content: @fa-var-remove;
|
|
}
|
|
}
|
|
}
|