Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F2512975
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
34 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/skins/elastic/styles/widgets/forms.less b/skins/elastic/styles/widgets/forms.less
index 876b774a4..c2b9c346d 100644
--- a/skins/elastic/styles/widgets/forms.less
+++ b/skins/elastic/styles/widgets/forms.less
@@ -1,846 +1,854 @@
/**
* Roundcube webmail styles for the Elastic skin
*
* Copyright (c) 2017, The Roundcube Dev Team
*
* The contents are subject to the Creative Commons Attribution-ShareAlike
* License. It is allowed to copy, distribute, transmit and to adapt the work
* by keeping credits to the original authors in the README.md file.
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*/
/*** Common form elements ***/
#uploadform {
display: none;
}
form.smart-upload,
input.smart-upload {
visibility: hidden;
width: 1px;
height: 1px;
opacity: 0;
}
.propform {
/* TODO: do we need this? */
&:not(.popupmenu) {
width: 100%;
}
/* This is the way we can have multiple checkboxes in a single form field */
.form-check td:not(.title) > label {
display: block;
margin: 0;
line-height: 2rem;
label {
margin-right: .5rem;
}
}
td.datetime {
display: flex;
input:first-child {
margin-right: .5rem;
}
input:last-child {
width: 75%;
}
}
td.rowbuttons {
width: 1%;
white-space: nowrap;
span {
display: none;
}
a {
padding: 0;
line-height: 2.3rem;
height: 2.3rem;
font-size: 1rem;
&:before {
&:extend(.font-icon-class);
content: @fa-var-plus;
margin: 0;
}
&.delete:before {
content: @fa-var-trash-o;
}
&.advanced:before {
content: @fa-var-cog;
}
&:not(:last-child) {
margin-right: .25rem;
}
}
}
td.rowactions {
width: 1%;
.form-control {
width: auto;
}
}
td.rowtargets {
.input-group {
margin-bottom: .25rem;
*:first-child.input-group-addon {
text-align: left;
min-width: 7.5em;
}
}
& > .advanced {
margin-top: .25rem;
}
}
td > .flexbox {
display: flex;
& > .multi-input {
width: 100%;
margin-left: .25rem;
}
}
.rulerow {
margin-bottom: .5rem;
}
}
@media screen and (max-width: 576px) {
.propform {
table.compact-table {
overflow-x: initial;
tbody {
display: block;
}
.rowactions > select,
.flexbox > select {
width: 100%;
}
tr {
display: flex;
flex-direction: column;
td {
width: 100%;
padding-right: 0;
padding-left: 0;
&.rowbuttons {
text-align: right;
a {
margin-right: .5rem;
& > span {
display: inline;
}
}
}
}
}
}
}
}
.propform,
.formcontent {
legend {
font-weight: bold;
font-size: 1.2em;
}
}
/* Forms fixes for IE and Edge */
html.ms .propform {
.row:not(.form-check) > td {
display: flex;
}
@media screen and (min-width: 576px) {
.row.form-check > td {
display: flex;
}
}
@media screen and (max-width: 575px) {
.row {
display: block;
}
}
}
.formcontainer {
display: flex;
flex-direction: column;
justify-content:flex-start;
overflow-y: hidden !important;
height: 100%;
.formcontent {
overflow-x: hidden;
overflow-y: auto;
}
.formbuttons {
padding: 0.5rem 1rem;
}
}
html.layout-phone {
.formcontainer {
.formbuttons {
display: none;
}
}
}
.formcontent {
padding: 1em;
.row {
margin-right: 0; /* without these the form is too wide causing horizontal scrollbar appearence */
margin-left: 0;
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9,
.col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9 {
/* overwrite Bootstrap's redundant padding */
padding: 0;
}
}
.row.form-check {
padding-right: 0; /* without these e.g. inputs in compose screen are not aligned properly */
display: flex; /* https://github.com/twbs/bootstrap/issues/22348 */
flex-wrap: nowrap;
/* fixed checkbox vertical alignment */
td:not(.col-form-label) {
- padding-top: ~"calc(.5rem - 1px * 2)";
- padding-bottom: ~"calc(.5rem - 1px * 2)";
+ padding: 0;
}
/* alignment fixes needed because we do not stick precissely to Bootstrap's form structure */
@media screen and (max-width: 576px) {
.col-6 {
max-width: 100%;
flex: auto;
}
& > *:last-child {
width: 1%;
min-width: 2.2em; /* for icon-checkbox */
padding-right: 15px;
}
}
.form-check-input {
margin: 0; /* fixes checkbox alignment with other inputs in a form */
margin-top: .5rem;
margin-bottom: .5rem;
}
}
.nav-tabs {
margin-bottom: 1rem;
}
.hint {
margin-bottom: 1em;
font-style: italic;
}
}
@media screen and (max-width: @screen-width-mini) {
.formcontent {
.col-form-label {
flex: auto;
max-width: 100%;
}
.col-10 {
flex: auto;
max-width: 100%;
}
}
}
/* Some common icons for "iconized inputs" */
.input-group-addon.icon {
text-decoration: none;
&:before {
&:extend(.font-icon-class);
margin: 0;
line-height: 1;
}
&.user:before {
content: @fa-var-user;
}
&.pass:before {
content: @fa-var-lock;
}
&.host:before {
content: @fa-var-home;
}
&.cancel:before {
content: @fa-var-close;
}
&.edit:before {
content: @fa-var-pencil;
}
&.add:before {
content: @fa-var-plus;
}
&.search:before {
content: @fa-var-search;
}
&.filter:before {
content: @fa-var-filter;
}
.inner {
display: none;
}
}
td.editfield { width: 99%; /* TODO */ }
.form-group { margin-bottom: .5rem; /* overwrites Bootstrap style */ }
ul.proplist {
padding-left: 15px;
margin-bottom: 0;
list-style-type: none;
li {
line-height: 2.4rem;
margin-bottom: .25rem;
display: flex;
input[type=radio] {
vertical-align: middle;
margin-right: .5em;
& + .input-group {
flex-grow: 1;
}
}
label {
margin: 0;
}
.icon-checkbox {
height: 2.4rem !important;
margin-left: -1.2em;
& + label {
height: 1.8rem;
margin-right: .5rem;
}
}
select {
width: auto;
display: inline;
}
}
}
.checklist {
.form-check-input + label {
margin-right: .25rem;
line-height: 1;
}
}
/*** Forms in popups ***/
.popup form.propform {
padding: .5rem;
overflow-x: hidden;
}
.popupmenu.form {
&.nolist {
padding: 0 .5rem;
}
ul {
list-style-type: none;
padding: 0;
margin: 0;
}
li:not(.separator) {
padding: 0 1rem;
label {
margin: 0;
- line-height: @listing-line-height;
+ height: @listing-line-height;
input {
margin-right: .5rem;
}
}
}
input {
vertical-align: middle;
height: @listing-line-height !important;
}
select {
margin: .5rem 0;
}
.buttons {
text-align: center;
padding: .5rem;
}
}
+html.touch .popupmenu.form {
+ li {
+ input.icon-checkbox + label:before {
+ line-height: 1.4;
+ }
+ }
+}
+
/*** Smart list (multiple input) field ***/
.multi-input {
& > .content {
max-height: 11.65em;
overflow: hidden;
overflow-y: auto;
border-radius: .25rem;
border: 1px solid @color-input-border;
&.focused {
border: 1px solid @color-input-border-focus;
}
/* TODO: style button focus */
}
.input-group {
margin: 0 !important;
}
.input-group-addon {
&.reset:before {
&:extend(.font-icon-class);
content: @fa-var-trash-o;
margin: 0;
}
}
.input-group-addon,
.form-control {
height: 2.25rem; /* to be the same height as select.form-control element */
}
input.form-control {
padding-left: .5rem;
}
input,
input:focus,
.input-group-addon {
border-radius: 0;
border: 0;
border-bottom: 1px solid @color-input-border;
}
.input-group:last-child * {
border: 0;
}
& + .btn {
margin-top: .5rem;
}
&.is-invalid {
& > .content {
border: 1px solid @color-input-border-invalid;
}
& > .invalid-feedback {
display: inline-block;
}
}
}
/*** Files upload widget with list of files, upload form and drop area ***/
.file-upload {
/* TODO */
padding: 1em 1em 12em;
margin: 1em;
background-color: #f4f4f4;
.upload-form {
text-align: center;
padding-bottom: 1em;
}
.hint {
margin-bottom: .5rem;
}
.attachmentslist {
list-style: none;
li {
display: block;
padding-bottom: .5em;
}
}
&.droptarget {
&.hover {
}
&.active {
}
}
}
/*** Smart recipient input field ***/
.recipient-input {
display: flex;
flex-wrap: wrap;
padding: 0 .75rem .25rem .75rem;
&.focus {
border-color: @color-input-border-focus;
}
.recipient {
flex: 1;
display: flex;
position: relative;
max-width: 50%;
border: 1px solid @color-recipient-input-border;
background-color: @color-recipient-input-background;
border-radius: .25em;
padding: 0 .25em;
margin-top: .25rem;
margin-right: .2em;
white-space: nowrap;
@media screen and (max-width: 450px) {
width: 100%;
max-width: 100%;
}
}
.name {
flex-grow: 1;
display: inline-block;
line-height: 1.1;
padding: .25em;
vertical-align: middle;
overflow: hidden;
text-overflow: ellipsis;
}
.email {
text-indent: -5000rem;
display: inline-block;
width: 0;
}
.quotes {
position: absolute;
width: 0;
opacity: 0;
}
a.button.icon {
font-size: .8em;
cursor: pointer;
line-height: 1.5;
&:before {
float: none;
display: inline-block;
width: 1em;
margin: 0;
}
}
input {
flex-grow: 1;
min-width: 25%;
background: transparent !important;
border: 0 !important;
margin-top: .25rem;
outline: 0;
}
}
/*** Skin selection widget ***/
.skinselection {
white-space: nowrap;
display: table-row;
& > span {
display: table-cell;
vertical-align: middle;
padding: .1em .5em;
white-space: normal;
&:last-child {
padding-right: 0;
}
}
.skinitem input {
width: auto;
}
.skinname {
font-weight: bold;
}
.skinlicense,
.skinlicense a {
font-style: italic;
text-decoration: none;
}
.skinlicense a:hover {
text-decoration: underline;
}
.skinthumbnail {
width: 64px;
height: 64px;
border: 1px solid @color-input-border;
background: #fff;
border-radius: 4px;
}
}
/*** Image upload widget ***/
.image-upload {
position: relative;
overflow: hidden;
cursor: pointer;
a.button {
display: none;
position: absolute;
left: 0;
right: 0;
background-color: rgba(255, 255, 255, .85);
border-radius: 5px;
width: 2.5em;
padding: .5em;
margin: .5em;
}
&.changed a.button {
display: inline;
}
}
/*** Pretty icon checkbox ***/
input.icon-checkbox {
opacity: 0;
margin-left: -1.5em;
& + label {
margin: 0;
display: inline;
font-size: 1.2rem;
&:before {
&:extend(.font-icon-class);
content: @fa-var-toggle-off;
margin: 0;
color: @color-checkbox;
+ height: 2rem;
}
}
&:disabled + label {
opacity: 0.4;
pointer-events: none;
}
&:checked + label:before {
content: @fa-var-toggle-on;
color: @color-checkbox-checked;
}
&:focus + label:before {
color: @color-checkbox-focus;
}
&:checked:focus + label:before {
color: @color-checkbox-checked-focus;
}
&.form-check-input + label {
font-size: 1.25rem;
- padding: .4em 0;
+ padding-top: .25rem;
}
}
html.touch input.icon-checkbox + label {
font-size: 1.5rem;
}
/*** HTML editor widget (and TinyMCE editor) ***/
.mce-tinymce {
&.mce-container.mce-panel {
border-radius: .25rem;
border-color: @color-input-border;
overflow: hidden;
}
.mce-btn,
.mce-panel {
background-color: @color-input-addon-background;
}
}
.html-editor {
position: relative;
display: flex;
& > .nav {
border-color: transparent;
z-index: 1;
position: absolute;
top: 1px;
right: 1rem;
a.active {
border-color: @color-input-border !important;
&.mode-html {
background-color: @color-input-addon-background;
border-bottom-color: @color-input-addon-background !important;
}
&.mode-plain {
border-bottom-color: #fff !important;
}
}
a:hover {
border-bottom-color: transparent;
}
}
& > .googie_edit_layer,
& > .mce-tinymce,
& > textarea {
margin-top: 2.55rem;
font-family: monospace;
width: 100% !important;
}
}
/*** GoogieSpell widget ***/
.googie_window {
width: 16rem;
}
.googie_edit_layer {
font-family: monospace;
/* from Bootstrap's textarea */
padding: .5rem .75rem;
border: 1px solid @color-input-border;
border-radius: .3rem;
line-height: 1.25;
}
.googie_link {
color: @color-spellcheck-link;
text-decoration: underline;
cursor: pointer;
}
.googie_list {
td {
min-width: 8rem;
width: auto;
&.googie_list_onhover {
color: @color-toolbarmenu-hover;
background-color: @color-toolbarmenu-hover-background;
}
.googie_list_revert:before {
&:extend(.font-icon-class);
content: @fa-var-plus-square;
}
.googie_add_to_dict:before {
&:extend(.font-icon-class);
content: @fa-var-plus-square;
}
}
input {
display: inline-block;
margin: .5rem .5rem .5rem 0 !important;
padding: .5rem .75rem !important;
}
}
/* Remove outline on selects in Firefox */
@-moz-document url-prefix() {
select:-moz-focusring {
color: transparent !important;
text-shadow: 0 0 0 @color-font !important;
}
}
.form-control, .form-control:focus {
color: @color-font;
}
.invalid-feedback {
color: @color-error;
}
.form-control.is-invalid {
border-color: @color-input-border-invalid;
}
diff --git a/skins/elastic/styles/widgets/lists.less b/skins/elastic/styles/widgets/lists.less
index 4256265c2..8e59b9ef9 100644
--- a/skins/elastic/styles/widgets/lists.less
+++ b/skins/elastic/styles/widgets/lists.less
@@ -1,774 +1,773 @@
/**
* Roundcube webmail styles for the Elastic skin
*
* Copyright (c) 2017, The Roundcube Dev Team
*
* The contents are subject to the Creative Commons Attribution-ShareAlike
* License. It is allowed to copy, distribute, transmit and to adapt the work
* by keeping credits to the original authors in the README.md file.
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*/
/*** List and treelist widgets ***/
.listing {
tbody td,
li {
border-bottom: 1px solid @color-list-border;
cursor: default;
font-weight: normal;
line-height: @listing-line-height;
}
tbody td,
li a {
display: block;
text-decoration: none;
cursor: default;
padding: 0 .5rem;
white-space: nowrap;
vertical-align: middle;
color: @color-list;
}
tbody td {
display: table-cell;
outline: none;
overflow: hidden;
text-overflow: ellipsis;
a {
color: @color-list;
}
}
li.selected,
tr.selected td {
color: @color-list-selected;
background-color: @color-list-selected-background;
}
td.selection {
padding: 0 0 0 .5em;
width: 2em;
text-align: center;
& > input {
vertical-align: middle;
}
}
td.name {
overflow: hidden;
text-overflow: ellipsis;
}
td.action {
/* TODO */
padding: 0 .5em;
width: 2em;
text-align: center;
&:empty {
width: 0;
}
}
li.droptarget > a,
tr.droptarget > td {
background-color: @color-list-droptarget-background;
}
li.disabled,
tr.disabled td {
color: @color-list-deleted;
}
/* 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;
outline: 0;
}
}
}
table.listing {
width: 100%;
table-layout: fixed;
/*
border-spacing/border-collapse here fix problem with our focus indicator
when the table cells use overflow: hidden. I.e. we use border-spacing:0
instead of Bootstrap's border-collapse:collapse. Is this cross-browser?
*/
border-spacing: 0;
border-collapse: unset;
}
ul.listing {
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 @color-list-border;
padding-left: 1.5em;
li:last-child {
border-bottom: none;
}
}
input.icon-checkbox + label,
input[type=checkbox] {
position: absolute;
top: 0;
right: .5rem;
height: @listing-line-height;
vertical-align: middle;
}
}
}
html.touch {
.listing:not(.toolbar) li,
.listing tbody td {
line-height: @listing-touch-line-height;
font-size: 1.2rem;
}
- input.icon-checkbox + label,
li input[type=checkbox] {
height: @listing-touch-line-height;
}
td.selection {
padding: 0;
width: 3em;
}
}
/* icons */
.listing.iconized li {
a:before {
&:extend(.font-icon-class);
height: 2em; /* TODO: ? */
margin-right: .5rem;
}
&.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;
}
&.userinfo > a:before {
content: @fa-var-info-circle;
}
a.help:before {
content: @fa-var-life-bouy;
}
a.about:before {
content: @fa-var-question-circle-o;
}
a.license:before {
content: @fa-var-shield;
}
/* autocomplete popup */
& > i:before {
&:extend(.font-icon-class);
content: @fa-var-user;
margin-left: .5rem;
}
&.group > i:before {
content: @fa-var-group;
}
}
html.ie11 .listing.iconized li a:before {
font-size: 1.25rem;
}
.listing.iconized tr {
td:before {
&:extend(.font-icon-class);
margin-right: .5rem;
}
&.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;
}
}
.popupmenu .listing {
li.selected {
color: @color-toolbarmenu-hover;
background-color: @color-toolbarmenu-hover-background;
}
td {
overflow: hidden;
text-overflow: ellipsis;
}
}
ul.treelist li {
div.treetoggle {
position: absolute;
top: (@listing-line-height * 0.5);
left: 1.4em;
width: .8em;
height: .8em;
line-height: .8em;
cursor: pointer;
html.touch & {
top: (@listing-touch-line-height * 0.5);
}
&:before {
&:extend(.font-icon-class);
content: @fa-var-plus-square-o;
font-size: .8em;
width: .8em;
height: .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 + .9em); }
li {
a { padding-left: (2 * 1.5em); }
div.treetoggle { left: (2 * 1.5em + .9em); }
li {
a { padding-left: (3 * 1.5em); }
div.treetoggle { left: (3 * 1.5em + .9em); }
li {
a { padding-left: (4 * 1.5em); }
div.treetoggle { left: (4 * 1.5em + .9em); }
li {
a { padding-left: (5 * 1.5em); }
div.treetoggle { left: (5 * 1.5em + .9em); }
}
}
}
}
}
}
}
/*** Folders list widget ***/
.folderlist {
li {
&.mailbox {
&.unread {
/* TODO */
& > a {
padding-right: 2.8em;
}
}
&.recent {
color: @color-list-recent;
}
.unreadcount {
position: absolute;
top: 0;
right: 0;
min-width: 2em;
line-height: 1.4rem;
margin: (@listing-line-height - 1.4rem)/2;
padding: 0 .3em;
border-radius: .4em;
background: @color-list-badge-background;
color: @color-list-badge;
text-align: center;
font-weight: bold;
html.touch & {
line-height: 2rem;
margin: (@listing-touch-line-height - 2rem)/2;
}
}
&.selected .unreadcount {
/* todo */;
}
&.recent > .unreadcount {
background: @color-list-recent-badge-background;
color: @color-list-recent-badge;
}
&.root {
display: none !important;
/* FIXME: This element is confusing, I propose to not use it */
}
}
a:before {
&:extend(.font-icon-class);
content: @fa-var-folder-o;
margin-right: .5rem;
}
&.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;
font-size: 1rem !important;
}
td.subject {
width: 99%;
position: relative; /* for span.date positioning in Firefox */
background-clip: padding-box; /* fixes Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=688556 */
padding-right: 0;
a {
text-decoration: none;
cursor: default;
}
span {
line-height: 2em;
&.date {
right: 0;
top: 0;
position: absolute;
font-size: 90%;
color: @color-list-secondary;
}
&.fromto {
padding-left: 1.5em;
display: block;
margin-right: 10em;
overflow: hidden;
text-overflow: ellipsis;
font-size: 90%;
color: @color-list-secondary;
}
&.subject {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
td.threads {
padding: 0 0 0 .25rem;
width: 1.5em;
}
td.flags {
width: 2.5em;
& > span {
height: 1.7em;
line-height: 1.7em;
display: block;
&.flag {
cursor: pointer;
}
}
}
tr.flagged td,
tr.flagged td.subject span.subject a,
tr.flagged td.subject span.date,
tr.flagged td.subject span.fromto {
color: @color-list-flagged;
}
tr.deleted td,
tr.deleted td.subject span.subject a,
tr.deleted td.subject span.date,
tr.deleted td.subject span.fromto {
color: @color-list-deleted;
}
tr.unread td.subject span.subject {
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-angle-right;
cursor: pointer;
}
tr.thread.expanded td.threads div:before {
content: @fa-var-angle-down;
}
td.subject span.msgicon.status:before {
&:extend(.font-icon-class);
content: @fa-var-circle;
cursor: pointer;
font-size: .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 {
margin: 0;
content: @fa-var-paperclip;
}
&.report:before {
content: @fa-var-file-text-o;
}
&.encrypted:before {
content: @fa-var-lock;
}
&.vcard:before {
content: @fa-var-user-o; /* vcard_attachments plugin */
}
}
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;
}
}
html.layout-phone,
html.touch {
.messagelist {
td.flags {
display: none;
}
td.subject {
padding-right: 1em;
span.date {
right: 1em;
}
}
td.threads {
padding: 0;
width: 2em;
}
}
}
/* Attachments list */
.attachmentslist {
padding: 0;
}
.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: @color-list-secondary;
}
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;
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Apr 18, 8:19 AM (1 h, 25 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
436112
Default Alt Text
(34 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment