Add files via upload

This commit is contained in:
seb1k 2024-10-13 15:16:46 +02:00 committed by GitHub
parent de30d295ce
commit 96c04e745c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 249 additions and 62 deletions

127
styles/styles.min.css vendored
View file

@ -2,8 +2,9 @@ html {
--font: #2c363a;
--font2:#737677;
--background: #fff;
--backgroundhover: #ebf9ff;
--backgroundhoverlight: #F4FBFF;
--backgroundhover: #CDE6F7;
--backgroundhoverlight: #E6F2FA;
--backgroundtree: #e1e1e1;
--backgroundbutton: #F1F3F4;
--bordercolor:#d4dbde;
}
@ -15,10 +16,24 @@ html.dark-mode {
--background: #1a1c1e;
--backgroundhover: #374549;
--backgroundhoverlight: rgba(44, 54, 58, 0.7);
--backgroundtree: #374549;
--backgroundbutton: #374549;
--bordercolor:#3D444D;
}
#calendarslist .calendar{
flex-direction: row-reverse;
}
#calendarslist .quickview{
display:none;
}
html.dark-mode .custom-select{background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23c5d1d3' viewBox='0 0 4 5'%3e%3cpath d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat}
.task-addressbook.action-edit input,
.task-addressbook.action-edit .input-group-prepend{
border: 1px solid var(--bordercolor) !important;
}
.header-headers .from .adr{
font-size:medium;
@ -111,7 +126,7 @@ top:0px;
z-index:9;
width:290px;
height:100%;
background-color: var(--background);
background-color: #f5f5f5;
font-size: larger;
left:-290px;
transition: all .25s ease-out;
@ -121,6 +136,9 @@ scrollbar-width: thin;
border-radius: 0 24px 24px 0;
}
html.dark-mode #menuleft{
background-color: var(--background);
}
#menuleft.menu_marginleft{
left:0px;
@ -335,7 +353,7 @@ animation: spin 1.5s linear infinite;
.logout:before { content: "\f011";margin-left:0.5rem;margin-right: 0.5rem;}
.composeicon:before { content: "\f304";margin-left:0.5rem;margin-right: 0.5rem;}
.composeicon:before { content: "\f303";margin-left:0.7rem;margin-right: 0.3rem;}
.mailicon:before { content: "\f0e0";}
@ -392,6 +410,7 @@ background-color:#888;
position: absolute;
bottom: 16px;
right: 8px;
opacity:.8;
}
#menuleft_cont .sidebar-menu{
@ -410,7 +429,7 @@ html.layout-normal #folderlist-content .sidebar-menu {
.compose.button div{
background-color: var(--backgroundbutton);
background-color: #fff;
display:inline-block;
width:150px;
height:42px;
@ -420,7 +439,9 @@ line-height:40px;
margin:1.5rem;
}
html.dark-mode .compose.button div{
background-color: var(--backgroundbutton);
}
.compose.button:active{
transform: scale(0.95);
@ -515,7 +536,7 @@ margin-right: 1rem !important;
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}
.z-depth-2 {
.z-depth-2,.compose.button div:hover {
box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
}
@ -529,6 +550,7 @@ line-height: 58px;
#messagelist-header{
border:0 !important;
background-color:transparent !important;
}
@ -547,19 +569,21 @@ border:0 !important;
}
#layout > div > .header,
#layout > div > .header a.button,
body {
color: var(--font);
background-color: var(--background);
}
#layout > div > .header a.button {
color: var(--font);
}
#layout > div > .header,
.table-widget table.options-table tr:last-child td {
border-bottom: 1px solid #d4dbde;
background-color: #f4f4f4;
}
#layout-list,
@ -780,8 +804,7 @@ html.iframe body {
#layout-content,
#layout-list,
#layout-sidebar{
#layout-list{
background-color: #fff;
}
@ -831,13 +854,12 @@ html.dark-mode #layout > div > .footer {
flex-direction: column;
flex: 2;
min-width: 220px;
border-right: 1px solid var(--bordercolor);
}
#layout-sidebar.sidebar-right {
order: 2;
border-right: 0;
border-left: 1px solid #d4dbde;
border-left: 1px solid var(--bordercolor);
flex: 3;
}
@ -1070,7 +1092,7 @@ font.bold {
background-color: var(--backgroundbutton);
}
.formcontent:not(.popupmenu),
.frame-content {
padding: .5rem;
}
@ -2912,15 +2934,10 @@ html.layout-small .hide_small {
@media screen and (min-width: 769px) {
a.toolbar-list-button,
.only_small_screen{
display:none !important;
}
a.toolbar-list-button,
.only_small_screen{
display:none !important;
}
.content-frame-navigation {
display: none !important;
@ -2928,7 +2945,7 @@ html.layout-small .hide_small {
.header a.button.icon:not(.disabled):focus,
.header a.button.icon:not(.disabled):hover {
background-color: #ececec;
background-color: var(--backgroundhover);
outline: 0;
}
@ -2945,16 +2962,10 @@ html.layout-small .hide_small {
display:none !important;
}
.header_back{
display:block;
}
.menu.footer {
justify-content: space-around !important;
@ -3727,8 +3738,16 @@ color: var(--font2);
#messagestack .loading {
background-color: #6b7275;
animation: fadein 2s;
}
@keyframes fadein {
0% { opacity: 0; }
50% { opacity: 0; }
100% { opacity: 1; }
}
#messagestack .alert-info.information {
background-color: #37beff;
}
@ -3804,7 +3823,7 @@ ul.treelist.notree div.treetoggle {
html.layout-small td.selection {
padding: 0;
width: 60px;
padding: 0 0 0 .3em;
padding: 0 0 0 .7em;
}
@ -4160,10 +4179,14 @@ ul.treelist li.selected {
ul.treelist li.selected > a,
ul.treelist li.selected > div > a {
color: #2c363a;
background-color: var(--backgroundhover);
background-color: var(--backgroundtree);
font-weight:bold;
}
ul.treelist li ul {
padding: 0;
}
@ -4229,8 +4252,7 @@ ul.treelist.notree li > a {
margin: 7.7px;
padding: 0 0.3em;
border-radius: 0.4em;
background: #37beff;
color: #fff;
color: #2564AE;
text-align: center;
font-weight: 700;
}
@ -5277,6 +5299,8 @@ input.smart-upload {
margin-bottom: 0;
}
.formcontent:not(.popupmenu){padding:1rem}
fieldset.advanced > legend {
width: auto;
cursor: pointer;
@ -5393,7 +5417,7 @@ html.layout-small .formcontainer .formbuttons {
.formcontent .row .form-control-plaintext,
.formcontent .row label.col-form-label {
padding: 5px 5px 5px 0;
padding: 5px;
}
.formcontent .row .form-control-plaintext {
@ -5793,6 +5817,10 @@ fieldset .file-upload {
padding: 0 0.75rem 4px;
list-style-type: none;
}
.recipient-input{
min-height:34px !important;
padding-top:1px;
}
.file-upload.droptarget:after {
content: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20960%20560%22%3E%0A%3Cpath%20fill%3D%22%23d4dbde%22%20d%3D%22M690%20245c0%209.2-3.5%2017.9-10.1%2024.9l-175%20175c-6.6%206.6-15.3%2010.1-24.9%2010.1-9.2%200-18.4-3.5-24.9-10.1l-175-175c-6.6-7-10.1-15.8-10.1-24.9%200-4.4.9-9.2%202.6-13.6C277.9%20218.3%20291%20210%20305%20210h87.5V35c0-19.2%2015.8-35%2035-35h105c19.2%200%2035%2015.8%2035%2035v175H655c14%200%2027.1%208.3%2032.4%2021.4%201.7%204.4%202.6%209.2%202.6%2013.6zm0%20245H270V350h-70v140c0%2038.5%2031.5%2070%2070%2070h420c38.5%200%2070-31.5%2070-70V350h-70v140z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
@ -6256,7 +6284,15 @@ div.tox {
div.tox.tox-tinymce {
border-radius: 0.25rem;
border: 1px solid #ced4da;
}
#composebodycontainer .tox-tinymce{
border-right:0 !important;
border-left:0 !important;
border-radius:0;
}
html:not(.dark-mode) #compose-content{
background-color: #F5F5F5;
}
div.tox.focused {
@ -7213,7 +7249,7 @@ html.dark-mode #logo {
html.dark-mode #layout-content,
html.dark-mode #layout-list,
html.dark-mode #layout-sidebar,
html.dark-mode #layout > div > .header,
html.dark-mode .menu.pagenav.pagenav-list,
html.dark-mode .menu.pagenav.pagenav-list + .navlist,
@ -7223,6 +7259,17 @@ html.dark-mode .popup .listbox .footer {
border-color: var(--bordercolor);
}
#layout-sidebar{
border-right: 0;
background-color: #F5F5F5;
}
html.dark-mode #layout-sidebar{
border-right: 1px solid var(--bordercolor);
background-color: transparent;
}
html.dark-mode #layout > div > .footer {
font-weight: 400;
}
@ -7365,7 +7412,7 @@ html.dark-mode .listing li ul {
.listing li.selected ul {
background-color: #FFF;
background-color: #F5F5F5;
}
html.dark-mode .listing li.selected ul {

View file

@ -1,5 +1,9 @@
<roundcube:include file="includes/layout.html" />
<roundcube:include file="includes/top-right_menu.html" />
<h1 class="voice"><roundcube:label name="addressbook" /></h1>
<!-- sources/groups list -->
@ -71,7 +75,7 @@
<div id="layout-content" role="main">
<h2 id="aria-label-toolbar" class="voice"><roundcube:label name="arialabeltoolbar" /></h2>
<div class="header" role="toolbar" aria-labelledby="aria-label-toolbar">
<roundcube:include file="includes/top-right_menu.html" />
<a class="button icon back-list-button" href="#back"><span class="inner"><roundcube:label name="back" /></span></a>
<span class="header-title only_small"></span>
<!-- toolbar -->

View file

@ -33,7 +33,7 @@
<roundcube:object name="fileDropArea" id="compose-attachments" />
</div>
<!-- compose options -->
<div id="compose-options" class="formcontent" role="region" aria-labelledby="aria-label-composeoptions">
<div id="compose-options" class="formcontent" role="region" aria-labelledby="aria-label-composeoptions" style="padding: 1.3rem">
<h2 id="aria-label-composeoptions" class="voice"><roundcube:label name="arialabelcomposeoptions" /></h2>
<roundcube:container name="composeoptions" id="compose-options" />
@ -133,16 +133,16 @@
</div>
</div>
<div id="compose-content" class="formcontainer content">
<roundcube:object name="composeFormHead" role="main" class="formcontent scroller" />
<roundcube:object name="composeFormHead" role="main" class="scroller" />
<roundcube:object name="composeObjects" id="compose-objects" class="mb-3" />
<!-- message headers -->
<div id="compose-headers" role="region" aria-labelledby="aria-label-composeheaders">
<h2 id="aria-label-composeheaders" class="voice"><roundcube:label name="arialabelmessageheaders" /></h2>
<table style="width:100%"><tr><td class="hide_small" style=" width: 1%;vertical-align:middle">
<table style="width:100%"><tr><td class="hide_small" style="width: 1%;vertical-align:middle;padding:10px 10px 0 10px">
<roundcube:button command="send" class="btn btn-primary send" label="send" tabindex="1" data-content-button="true" style="height: 50px; padding-right: 12px;"/>
</td>
<td>
<td style="padding:10px 10px 0 0">
<div class="compose-headers">
<div id="compose_from" class="form-group row">
<label for="_from" class="col-2 col-form-label"><roundcube:label name="from" /></label>
@ -225,7 +225,7 @@
</div>
</div>
</div>
<div id="compose_subject" class="form-group row">
<div id="compose_subject" class="form-group row" style="margin-bottom:0">
<label for="compose-subject" class="col-2 col-form-label"><roundcube:label name="subject" /></label>
<div class="col-10">
<roundcube:object name="composeSubject" id="compose-subject" form="form" tabindex="1" class="form-control" />

View file

@ -4,18 +4,39 @@
label="compose" title="writenewmessage" innerclass="inner" />
<roundcube:button command="reply" type="link" class="reply disabled" classAct="reply"
label="reply" title="replytomessage" innerclass="inner" data-content-button="true" />
<span class="dropbutton">
<roundcube:button command="reply-all" type="link" class="reply-all disabled" classAct="reply-all"
label="replyall" title="replytoallmessage" innerclass="inner" />
<a href="#reply-all" id="replyallmenulink" class="dropdown" data-popup="replyall-menu" tabindex="0">
<span class="inner"><roundcube:label name="arialabelreplyalloptions" /></span>
</a>
</span>
<span class="dropbutton">
<roundcube:button command="forward" type="link" class="forward disabled" classAct="forward"
label="forward" title="forwardmessage" innerclass="inner" />
<a href="#forward" id="forwardmenulink" class="dropdown" data-popup="forward-menu" tabindex="0">
<span class="inner"><roundcube:label name="arialabelforwardingoptions" /></span>
</a>
</span>
<span class="spacer"></span>
<roundcube:button command="delete" type="link" class="delete disabled" classAct="delete"
label="delete" title="deletemessage" innerclass="inner" />
<roundcube:if condition="template:name == 'message'" />
<roundcube:button command="print" type="link" class="print disabled" classAct="print"
label="print" title="printmessage" innerclass="inner" data-hidden="small" />
<roundcube:endif />
<roundcube:container name="toolbar" id="mailtoolbar" />
<roundcube:button name="markmenulink" id="markmessagemenulink" type="link" class="markmessage"
label="mark" title="markmessages" data-popup="markmessage-menu" innerclass="inner" />
<roundcube:button name="messagemenulink" id="messagemenulink" type="link" class="more"
label="more" title="moreactions" data-popup="message-menu" innerclass="inner" />
<roundcube:if condition="template:name == 'message'" />
<span class="spacer"></span>
<roundcube:button command="previousmessage" type="link" class="prev disabled" classAct="prev"
innerclass="inner" label="previous" title="previousmessage" data-hidden="small" />
<roundcube:button command="nextmessage" type="link" class="next disabled" classAct="next"
innerclass="inner" label="next" title="nextmessage" data-hidden="small" />
<roundcube:endif />
</div>

View file

@ -32,7 +32,6 @@
<roundcube:button command="delete" type="link" class="delete disabled" classAct="delete"
label="delete" title="delete" innerClass="inner" />
</div>
<roundcube:include file="includes/top-right_menu.html" />
</div>
<div class="iframe-wrapper">
<roundcube:object name="contentframe" id="preferences-frame" src="env:blankpage" title="arialabelresponseeditfrom" />

126
ui.min.js vendored
View file

@ -557,13 +557,21 @@ if(rcmail.env.action=="preview")
// Enable checkbox selection on list widgets
rcmail[list].enable_checkbox_selection();
var withselection = 1;
if(table.is("#contacts-table"))
withselection = 0;
//if (get_pref('list-selection') === true) {
table.addClass('withselection');
//}
// table.addClass('withselection');
// }
if(withselection)
table.addClass('withselection');
// Add Select button to the list navigation bar
if (!button) {
button = $('<a>').attr({'class': 'button selection disabled', role: 'button', title: rcmail.gettext('select')})
.on('click', function() { UI.toggle_list_selection(this, table.attr('id')); })
.append($('<span class="inner">').text(rcmail.gettext('select')));
@ -1012,6 +1020,114 @@ if(rcmail.env.action=="preview")
.parent().addClass('input-group input-group-lg');
});
}
$('table.propform', context).each(function() {
var text_rows = 0, form_rows = 0;
var col_sizes = ['sm', 4, 8];
if ($(this).attr('class').match(/cols-([a-z]+)-(\d)-(\d)/)) {
col_sizes = [RegExp.$1, RegExp.$2, RegExp.$3];
}
$(this).find('> tbody > tr, > tr').each(function() {
var first, last, row = $(this),
row_classes = ['form-group', 'row'],
cells = row.children('td');
if (cells.length == 2) {
first = cells.first();
last = cells.last();
$('label', first).addClass('col-form-label');
first.addClass('col-' + col_sizes[0] + '-' + col_sizes[1]);
last.addClass('col-' + col_sizes[0] + '-' + col_sizes[2]);
if (last.find('[type=checkbox]').length == 1 && !last.find('.proplist').length) {
row_classes.push('form-check');
if (last.find('a').length) {
row_classes.push('with-link');
}
form_rows++;
}
else if (!last.find('input:not([type=hidden]),textarea,radio,select').length) {
last.addClass('form-control-plaintext');
text_rows++;
}
else {
form_rows++;
}
// style some multi-input fields
if (last.children('.datepicker') && last.children('input').length == 2) {
last.addClass('datetime');
}
}
else if (cells.length == 1) {
cells.css('width', '100%');
}
row.addClass(row_classes.join(' '));
});
if (text_rows > form_rows) {
$(this).addClass('text-only');
}
});
// Special input + anything entry
$('td.input-group', context).each(function() {
$(this).children().slice(1).addClass('input-group-append');
});
// Other forms, e.g. Contact advanced search
$('fieldset.propform:not(.grouped) div.row', context).each(function() {
var has_input = $('input:not([type=hidden]),select,textarea', this).length > 0;
if (has_input) {
$(supported_controls, this).addClass('form-control');
}
$(this).children().last().addClass('col-sm-8' + (!has_input ? ' form-control-plaintext' : ''));
$(this).children().first().addClass('col-sm-4 col-form-label');
$(this).addClass('form-group');
});
// Contact info/edit form
$('fieldset.propform.grouped fieldset', context).each(function() {
$('.row', this).each(function() {
var label, first,
has_input = $('input,select,textarea', this).length > 0,
items = $(this).children();
if (has_input) {
$(supported_controls, this).addClass('form-control');
}
if (items.length < 2) {
return;
}
first = items.first();
if (first.is('select')) {
first.addClass('input-group-prepend');
}
else {
first.wrap('<span class="input-group-prepend">').addClass('input-group-text');
}
if (!has_input) {
items.last().addClass('form-control-plaintext');
}
$('.content', this).addClass('input-group-prepend input-group-append input-group-text');
$('a.deletebutton', this).addClass('input-group-text icon delete').wrap('<span class="input-group-append">');
$(this).addClass('input-group');
});
});
}
@ -2197,7 +2313,7 @@ if(rcmail.env.action=="preview")
rcmail.hide_message(p.object);
return;
}
alert_style(p.object, p.type, true);
$(p.object).attr('role', 'alert');
@ -5352,7 +5468,7 @@ $('.header-headers .replyto').parent().remove()
$('.header-headers .sender').each(function() {
var fromhref = $('.header-headers .from .adr a')[0].href
var senderaddr=jQuery(this).find('.rcmContactAddress')[0].href
log(fromhref+'---'+senderaddr)
if(fromhref==senderaddr)
this.parentElement.remove()
})