mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-03 22:47:03 +03:00
Improved icon font view
This commit is contained in:
parent
93738eac22
commit
4a8c9f8e18
31 changed files with 115 additions and 196 deletions
|
|
@ -1,7 +1,8 @@
|
|||
import { doc, createElement } from 'Common/Globals';
|
||||
import { EmailModel } from 'Model/Email';
|
||||
|
||||
const contentType = 'snappymail/emailaddress';
|
||||
const contentType = 'snappymail/emailaddress',
|
||||
getAddressKey = li => li && li.emailaddress && li.emailaddress.key;
|
||||
|
||||
let dragAddress, datalist;
|
||||
|
||||
|
|
@ -165,7 +166,7 @@ export class EmailAddressesComponent {
|
|||
|
||||
_editTag(ev) {
|
||||
var li = ev.target.closest('li'),
|
||||
tagKey = li && li.emailaddress.key;
|
||||
tagKey = getAddressKey(li);
|
||||
|
||||
if (!tagKey) {
|
||||
return true;
|
||||
|
|
@ -344,7 +345,7 @@ export class EmailAddressesComponent {
|
|||
_removeTag(ev, li) {
|
||||
ev.preventDefault();
|
||||
|
||||
var key = li.emailaddress.key,
|
||||
var key = getAddressKey(li),
|
||||
self = this,
|
||||
indexFound = self._chosenValues.findIndex(v => key === v.key);
|
||||
|
||||
|
|
@ -358,7 +359,7 @@ export class EmailAddressesComponent {
|
|||
|
||||
_removeDraggedTag(li) {
|
||||
var
|
||||
key = li.emailaddress.key,
|
||||
key = getAddressKey(li),
|
||||
self = this,
|
||||
indexFound = self._chosenValues.findIndex(v => key === v.key)
|
||||
;
|
||||
|
|
@ -380,7 +381,7 @@ export class EmailAddressesComponent {
|
|||
|
||||
_focus(ev) {
|
||||
var li = ev.target.closest('li');
|
||||
if (li && li.emailaddress.key) {
|
||||
if (getAddressKey(li)) {
|
||||
li.querySelector('a').focus();
|
||||
} else {
|
||||
this.focus();
|
||||
|
|
|
|||
|
|
@ -28,13 +28,14 @@
|
|||
box-shadow: 0 0 0 1px rgba(0, 0, 255, 0.1), 0 1px 5px rgba(0, 0, 255, 0.2);
|
||||
}
|
||||
|
||||
.checkedParent {
|
||||
.checkboxAttachment {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 1px 4px 0 5px;
|
||||
background: #FAFAFA;
|
||||
border: 0 solid #CCC;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.attachmentSize {
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@
|
|||
}
|
||||
|
||||
&.hideContactListCheckbox {
|
||||
.checkedParent, .checkboxCkeckAll {
|
||||
.checkboxItem {
|
||||
display: none !important;
|
||||
}
|
||||
.sidebarParent {
|
||||
|
|
@ -165,10 +165,11 @@
|
|||
border-color: transparent !important;
|
||||
}
|
||||
|
||||
.checkedParent {
|
||||
.checkboxItem {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
padding: 0 8px 0 6px;
|
||||
line-height: 45px;
|
||||
}
|
||||
|
||||
.nameParent {
|
||||
|
|
|
|||
|
|
@ -65,12 +65,13 @@
|
|||
padding: 0;
|
||||
}
|
||||
|
||||
.emailaddresses input[type="text"],
|
||||
.emailaddresses input[type="text"]:focus,
|
||||
.emailaddresses input[type="text"]:hover {
|
||||
#rl-app .emailaddresses input[type="text"],
|
||||
#rl-app .emailaddresses input[type="text"]:focus,
|
||||
#rl-app .emailaddresses input[type="text"]:hover {
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
height: 24px;
|
||||
height: auto;
|
||||
line-height: inherit;
|
||||
margin: 0;
|
||||
outline: 0;
|
||||
padding: 0;
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ html.rl-no-preview-pane {
|
|||
border-top-left-radius: @rlMainBorderRadius;
|
||||
border-bottom: 1px solid #bbb;
|
||||
|
||||
.checkboxCkeckAll {
|
||||
.checkboxCheckAll {
|
||||
margin: 5px 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -558,7 +558,7 @@ html.rl-no-preview-pane {
|
|||
}
|
||||
|
||||
&.hideMessageListCheckbox {
|
||||
.checkboxMessage, .checkboxCkeckAll {
|
||||
.checkboxMessage, .checkboxCheckAll {
|
||||
display: none !important;
|
||||
}
|
||||
.sidebarParent {
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ html.rl-no-preview-pane {
|
|||
border-radius: @rlLowBorderRadius;
|
||||
scroll-behavior: smooth;
|
||||
|
||||
.buttonUp, .buttonUnFull, .buttonFull {
|
||||
.buttonUnFull, .buttonFull {
|
||||
display: inline-block;
|
||||
position: fixed;
|
||||
right: 25px;
|
||||
|
|
@ -274,12 +274,7 @@ html.rl-no-preview-pane {
|
|||
}
|
||||
}
|
||||
|
||||
.buttonUp {
|
||||
right: 65px;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.buttonUp, .buttonUnFull {
|
||||
.buttonUnFull {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
|
@ -326,12 +321,12 @@ html.rl-no-preview-pane {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
.checkedParent {
|
||||
.checkboxAttachment {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.selection-mode {
|
||||
.checkedParent {
|
||||
.checkboxAttachment {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
|
@ -656,14 +651,8 @@ html.rl-message-fullscreen {
|
|||
}
|
||||
}
|
||||
|
||||
html .messageItem {
|
||||
.buttonUp, .buttonUp {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
html:not(.rl-mobile) .messageItem {
|
||||
.buttonUp, .buttonFull {
|
||||
.buttonFull {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
|
@ -675,7 +664,4 @@ html.rl-message-fullscreen .messageItem {
|
|||
.buttonFull {
|
||||
display: none !important;
|
||||
}
|
||||
.buttonUp {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ label.inline, span.inline {
|
|||
}
|
||||
|
||||
.btn-small.btn-small-small {
|
||||
padding: 3px 9px;
|
||||
font-size: 11px;
|
||||
line-height: 11px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
.fontastic,
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
display: inline-block;
|
||||
|
|
@ -25,7 +24,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
.icon-folder, .icon-folder-add, .icon-list {
|
||||
.icon-folder, .icon-folder-add {
|
||||
font-size: 18px;
|
||||
margin-top: -1px;
|
||||
margin-left: -1px;
|
||||
|
|
@ -55,22 +54,6 @@
|
|||
background-image: none !important;
|
||||
}
|
||||
|
||||
.icon-checkbox-checked, .icon-checkbox-unchecked, .icon-checkbox-partial, .icon-radio-checked, .icon-radio-unchecked {
|
||||
cursor: pointer;
|
||||
&:hover, &:active {
|
||||
filter: brightness(0.5);
|
||||
}
|
||||
}
|
||||
|
||||
.icon-white {
|
||||
&.icon-checkbox-checked, &.icon-checkbox-unchecked, &.icon-checkbox-partial, &.icon-radio-checked, &.icon-radio-unchecked {
|
||||
color: #eee;
|
||||
&:hover, &:active {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.iconcolor-display-none {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,10 +89,9 @@ class MessageOpenPgpPopupView extends AbstractViewPopup {
|
|||
oDom.addEventListener('click', event => {
|
||||
const el = event.target.closestWithin('.key-list__item', oDom);
|
||||
if (el) {
|
||||
oDom.querySelectorAll('.key-list__item .key-list__item__radio').forEach(node => {
|
||||
node.classList.toggle('icon-radio-unchecked', el !== node);
|
||||
node.classList.toggle('icon-radio-checked', el === node);
|
||||
});
|
||||
oDom.querySelectorAll('.key-list__item .key-list__item__radio').forEach(node =>
|
||||
node.textContent = el === node ? '⦿' : '○'
|
||||
);
|
||||
|
||||
self.selectedKey(ko.dataFor(el)); // eslint-disable-line no-invalid-this
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ class NewOpenPgpKeyPopupView extends AbstractViewPopup {
|
|||
|
||||
name: '',
|
||||
password: '',
|
||||
keyBitLength: 2048,
|
||||
keyBitLength: 4096,
|
||||
|
||||
submitRequest: false,
|
||||
submitError: ''
|
||||
|
|
@ -90,7 +90,7 @@ class NewOpenPgpKeyPopupView extends AbstractViewPopup {
|
|||
|
||||
this.email('');
|
||||
this.emailError(false);
|
||||
this.keyBitLength(2048);
|
||||
this.keyBitLength(4096);
|
||||
|
||||
this.submitError('');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -411,14 +411,6 @@ class MessageListMailBoxUserView extends AbstractViewRight {
|
|||
this.inputMessageListSearchFocus(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {string}
|
||||
*/
|
||||
printableMessageCountForDeletion() {
|
||||
const cnt = this.messageListCheckedOrSelectedUidsWithSubMails().length;
|
||||
return 1 < cnt ? ' (' + (100 > cnt ? cnt : '99+') + ')' : ''; // eslint-disable-line no-magic-numbers
|
||||
}
|
||||
|
||||
cancelSearch() {
|
||||
this.mainMessageListSearch('');
|
||||
this.inputMessageListSearchFocus(false);
|
||||
|
|
@ -694,7 +686,7 @@ class MessageListMailBoxUserView extends AbstractViewRight {
|
|||
let el = eqs(event, '.e-paginator .e-page');
|
||||
el && this.gotoPage(ko.dataFor(el));
|
||||
|
||||
eqs(event, '.messageList .checkboxCkeckAll') && this.checkAll(!this.checkAll());
|
||||
eqs(event, '.messageList .checkboxCheckAll') && this.checkAll(!this.checkAll());
|
||||
|
||||
el = eqs(event, '.messageList .messageListItem .flagParent');
|
||||
el && this.flagMessages(ko.dataFor(el));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue