From d1d820da73d9867a99d33d4f4872fc7bae53dfa6 Mon Sep 17 00:00:00 2001
From: the-djmaze <>
Date: Mon, 26 Sep 2022 11:55:26 +0200
Subject: [PATCH 1/5] Drop ko.extenders.limitedList
---
dev/Common/EnumsUser.js | 16 ----------------
dev/External/ko.js | 24 +-----------------------
dev/Settings/Admin/General.js | 4 +---
dev/Stores/Language.js | 4 +---
dev/Stores/Theme.js | 3 +--
dev/Stores/User/Folder.js | 4 ++--
dev/Stores/User/Settings.js | 26 ++++++--------------------
dev/View/Popup/Compose.js | 10 ++--------
8 files changed, 14 insertions(+), 77 deletions(-)
diff --git a/dev/Common/EnumsUser.js b/dev/Common/EnumsUser.js
index 178bdc773..6f3067740 100644
--- a/dev/Common/EnumsUser.js
+++ b/dev/Common/EnumsUser.js
@@ -28,22 +28,6 @@ export const FolderMetadataKeys = {
KolabFolderTypeShared: '/shared/vendor/kolab/folder-type'
};
-/**
- * @enum {string}
- */
-export const FolderSortMode = {
- DateDesc: '', // default 'REVERSE DATE'
- DateAsc: 'DATE',
- FromDesc: 'REVERSE FROM',
- FromAsc: 'FROM',
- SizeDesc: 'REVERSE SIZE',
- SizeAsc: 'SIZE',
- SubjectDesc: 'REVERSE SUBJECT',
- SubjectAsc: 'SUBJECT'
-// ToDesc: 'REVERSE TO',
-// ToAsc: 'TO',
-};
-
/**
* @enum {string}
*/
diff --git a/dev/External/ko.js b/dev/External/ko.js
index 7044ab55e..7a3bf6734 100644
--- a/dev/External/ko.js
+++ b/dev/External/ko.js
@@ -2,7 +2,7 @@ import ko from 'ko';
import { i18nToNodes } from 'Common/Translator';
import { doc, createElement } from 'Common/Globals';
import { SaveSettingsStep } from 'Common/Enums';
-import { arrayLength, isFunction, forEachObjectEntry } from 'Common/Utils';
+import { isFunction, forEachObjectEntry } from 'Common/Utils';
export const
errorTip = (element, value) => value
@@ -146,28 +146,6 @@ Object.assign(ko.bindingHandlers, {
// extenders
-ko.extenders.limitedList = (target, limitedList) => {
- const result = ko
- .computed({
- read: target,
- write: newValue => {
- let currentValue = target(),
- list = ko.unwrap(limitedList);
- list = arrayLength(list) ? list : [''];
- if (!list.includes(newValue)) {
- newValue = list.includes(currentValue, list) ? currentValue : list[0];
- target(newValue + ' ');
- }
- target(newValue);
- }
- })
- .extend({ notify: 'always' });
-
- result(target());
-
- return result;
-};
-
ko.extenders.toggleSubscribeProperty = (target, options) => {
const prop = options[1];
if (prop) {
diff --git a/dev/Settings/Admin/General.js b/dev/Settings/Admin/General.js
index bb4a26171..81119fb33 100644
--- a/dev/Settings/Admin/General.js
+++ b/dev/Settings/Admin/General.js
@@ -30,9 +30,7 @@ export class AdminSettingsGeneral extends AbstractViewSettings {
const aLanguagesAdmin = Settings.app('languagesAdmin');
this.languagesAdmin = ko.observableArray(isArray(aLanguagesAdmin) ? aLanguagesAdmin : []);
- this.languageAdmin = ko
- .observable(SettingsGet('LanguageAdmin'))
- .extend({ limitedList: this.languagesAdmin });
+ this.languageAdmin = ko.observable(SettingsGet('LanguageAdmin'));
this.theme = ThemeStore.theme;
this.themes = ThemeStore.themes;
diff --git a/dev/Stores/Language.js b/dev/Stores/Language.js
index 546785e18..1bb8566ba 100644
--- a/dev/Stores/Language.js
+++ b/dev/Stores/Language.js
@@ -3,6 +3,7 @@ import { Settings, SettingsGet } from 'Common/Globals';
import { isArray } from 'Common/Utils';
export const LanguageStore = {
+ language: ko.observable(''),
languages: ko.observableArray(),
userLanguage: ko.observable(''),
@@ -13,6 +14,3 @@ export const LanguageStore = {
this.userLanguage(SettingsGet('UserLanguage'));
}
}
-
-LanguageStore.language = ko.observable('')
- .extend({ limitedList: LanguageStore.languages });
diff --git a/dev/Stores/Theme.js b/dev/Stores/Theme.js
index 4864ef04f..2bc96b591 100644
--- a/dev/Stores/Theme.js
+++ b/dev/Stores/Theme.js
@@ -4,6 +4,7 @@ import { isArray } from 'Common/Utils';
import { serverRequestRaw } from 'Common/Links';
export const ThemeStore = {
+ theme: ko.observable(''),
themes: ko.observableArray(),
userBackgroundName: ko.observable(''),
userBackgroundHash: ko.observable(''),
@@ -23,8 +24,6 @@ export const ThemeStore = {
}
};
-ThemeStore.theme = ko.observable('').extend({ limitedList: ThemeStore.themes });
-
ThemeStore.isMobile.subscribe(value => $htmlCL.toggle('rl-mobile', value));
ThemeStore.userBackgroundHash.subscribe(value => {
diff --git a/dev/Stores/User/Folder.js b/dev/Stores/User/Folder.js
index aec4bf758..d7e1ebd20 100644
--- a/dev/Stores/User/Folder.js
+++ b/dev/Stores/User/Folder.js
@@ -1,7 +1,7 @@
import ko from 'ko';
import { koComputable } from 'External/ko';
-import { FolderType, FolderSortMode } from 'Common/EnumsUser';
+import { FolderType } from 'Common/EnumsUser';
import { UNUSED_OPTION_VALUE } from 'Common/Consts';
import { forEachObjectEntry } from 'Common/Utils';
import { addObservablesTo, addSubscribablesTo, addComputablesTo } from 'External/ko';
@@ -44,7 +44,7 @@ export const FolderUserStore = new class {
foldersInboxUnreadCount: 0
});
- self.sortMode = ko.observable('').extend({ limitedList: Object.values(FolderSortMode) });
+ self.sortMode = ko.observable('');
self.namespace = '';
diff --git a/dev/Stores/User/Settings.js b/dev/Stores/User/Settings.js
index 8d7ad9d90..eabf47a26 100644
--- a/dev/Stores/User/Settings.js
+++ b/dev/Stores/User/Settings.js
@@ -1,7 +1,7 @@
import ko from 'ko';
import { koComputable } from 'External/ko';
-import { Layout, EditorDefaultType, ComposeType } from 'Common/EnumsUser';
+import { Layout } from 'Common/EnumsUser';
import { pInt } from 'Common/Utils';
import { addObservablesTo } from 'External/ko';
import { $htmlCL, SettingsGet, fireEvent } from 'Common/Globals';
@@ -11,24 +11,6 @@ export const SettingsUserStore = new class {
constructor() {
const self = this;
- self.layout = ko
- .observable(1)
- .extend({ limitedList: Object.values(Layout) });
-
- self.editorDefaultType = ko.observable('Html').extend({
- limitedList: [
- EditorDefaultType.Html,
- EditorDefaultType.Plain
- ]
- });
-
- self.msgDefaultAction = ko.observable(1).extend({
- limitedList: [
- ComposeType.Reply,
- ComposeType.ReplyAll
- ]
- });
-
self.messagesPerPage = ko.observable(25).extend({ debounce: 999 });
self.messageReadDelay = ko.observable(5).extend({ debounce: 999 });
@@ -48,7 +30,11 @@ export const SettingsUserStore = new class {
requestReadReceipt: 0,
requestDsn: 0,
pgpSign: 0,
- pgpEncrypt: 0
+ pgpEncrypt: 0,
+
+ layout: 1,
+ editorDefaultType: 'Html',
+ msgDefaultAction: 1
});
self.init();
diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js
index b57ad59ae..a3e8884de 100644
--- a/dev/View/Popup/Compose.js
+++ b/dev/View/Popup/Compose.js
@@ -126,10 +126,7 @@ const
}
},
- isPlainEditor = () => {
- let type = SettingsUserStore.editorDefaultType();
- return EditorDefaultType.Html !== type;
- },
+ isPlainEditor = () => EditorDefaultType.Plain === SettingsUserStore.editorDefaultType(),
/**
* @param {string} prefix
@@ -966,10 +963,7 @@ export class ComposePopupView extends AbstractViewPopup {
this.editor(editor => {
encrypted || editor.setHtml(sText);
- if (encrypted
- || EditorDefaultType.Plain === SettingsUserStore.editorDefaultType()
- || !message.isHtml()
- ) {
+ if (encrypted || this.isPlainEditor() || !message.isHtml()) {
editor.modePlain();
}
From 0864d306d6bd623745081ee88d55d67ac37ac511 Mon Sep 17 00:00:00 2001
From: the-djmaze <>
Date: Mon, 26 Sep 2022 13:54:28 +0200
Subject: [PATCH 2/5] Improved folder/mailbox name editing
---
dev/External/ko.js | 13 +++++++++++++
dev/Model/FolderCollection.js | 6 ++----
dev/Settings/User/Folders.js | 13 ++++++-------
dev/Styles/User/SettingsFolders.less | 3 +--
.../templates/Views/User/SettingsFolderItem.html | 4 ++--
5 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/dev/External/ko.js b/dev/External/ko.js
index 7a3bf6734..05f0acd46 100644
--- a/dev/External/ko.js
+++ b/dev/External/ko.js
@@ -68,6 +68,19 @@ Object.assign(ko.bindingHandlers, {
}
},
+ onEsc: {
+ init: (element, fValueAccessor, fAllBindings, viewModel) => {
+ let fn = event => {
+ if ('Escape' == event.key) {
+ element.dispatchEvent(new Event('change'));
+ fValueAccessor().call(viewModel);
+ }
+ };
+ element.addEventListener('keyup', fn);
+ ko.utils.domNodeDisposal.addDisposeCallback(element, () => element.removeEventListener('keyup', fn));
+ }
+ },
+
onSpace: {
init: (element, fValueAccessor, fAllBindings, viewModel) => {
let fn = event => {
diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js
index bd303ca51..4453ba339 100644
--- a/dev/Model/FolderCollection.js
+++ b/dev/Model/FolderCollection.js
@@ -250,7 +250,7 @@ export class FolderModel extends AbstractModel {
focused: false,
selected: false,
- edited: false,
+ editing: false,
isSubscribed: true,
checkable: false, // Check for new messages
askDelete: false,
@@ -443,9 +443,7 @@ export class FolderModel extends AbstractModel {
});
folder.addSubscribables({
- name: value => folder.nameForEdit(value),
-
- edited: value => value && folder.nameForEdit(folder.name()),
+ editing: value => value && folder.nameForEdit(folder.name()),
unreadEmails: unread => {
if (FolderType.Inbox === folder.type()) {
diff --git a/dev/Settings/User/Folders.js b/dev/Settings/User/Folders.js
index 729ec8d49..6664d97c5 100644
--- a/dev/Settings/User/Folders.js
+++ b/dev/Settings/User/Folders.js
@@ -51,14 +51,13 @@ export class UserSettingsFolders /*extends AbstractViewSettings*/ {
this.folderForDeletion = folderForDeletion;
- this.folderForEdit = ko.observable(null).extend({ toggleSubscribeProperty: [this, 'edited'] });
+ this.folderForEdit = ko.observable(null).extend({ toggleSubscribeProperty: [this, 'editing'] });
SettingsUserStore.hideUnsubscribed.subscribe(value => Remote.saveSetting('HideUnsubscribed', value));
}
folderEditOnEnter(folder) {
- const nameToEdit = folder ? folder.nameForEdit().trim() : '';
-
+ const nameToEdit = folder?.nameForEdit().trim();
if (nameToEdit && folder.name() !== nameToEdit) {
Remote.abort('Folders').post('FolderRename', FolderUserStore.foldersRenaming, {
Folder: folder.fullName,
@@ -88,13 +87,13 @@ export class UserSettingsFolders /*extends AbstractViewSettings*/ {
});
}
- folder.edited(false);
+// this.folderForEdit(null);
+ folder.editing(false);
}
folderEditOnEsc(folder) {
- if (folder) {
- folder.edited(false);
- }
+// this.folderForEdit(null);
+ folder?.editing(false);
}
onShow() {
diff --git a/dev/Styles/User/SettingsFolders.less b/dev/Styles/User/SettingsFolders.less
index 6cf0fd517..f6c08daa5 100644
--- a/dev/Styles/User/SettingsFolders.less
+++ b/dev/Styles/User/SettingsFolders.less
@@ -23,8 +23,7 @@
opacity: 0.6;
}
- .folder-name.can-be-edited:hover {
- text-decoration-style: dashed;
+ .folder-name.can-be-edited {
cursor: pointer;
}
diff --git a/snappymail/v/0.0.0/app/templates/Views/User/SettingsFolderItem.html b/snappymail/v/0.0.0/app/templates/Views/User/SettingsFolderItem.html
index 7588a4f10..a1538fb0f 100644
--- a/snappymail/v/0.0.0/app/templates/Views/User/SettingsFolderItem.html
+++ b/snappymail/v/0.0.0/app/templates/Views/User/SettingsFolderItem.html
@@ -1,11 +1,11 @@
|
-
+ data-bind="value: nameForEdit, visible: editing, hasfocus: editing, onEnter: function () { $root.folderEditOnEnter($data); }, onEsc: function () { $root.folderEditOnEsc($data); }">
|
From 118558cdfdd035238131436a7eca504e6a734d3b Mon Sep 17 00:00:00 2001
From: the-djmaze <>
Date: Mon, 26 Sep 2022 14:02:30 +0200
Subject: [PATCH 3/5] Renamed SaveSettingsStep to more logical
SaveSettingStatus
---
dev/Common/Enums.js | 8 ++++----
dev/Common/Utils.js | 8 ++++----
dev/Component/AbstractInput.js | 6 +++---
dev/External/ko.js | 12 ++++++------
dev/Knoin/AbstractViews.js | 10 +++++-----
dev/Settings/Admin/General.js | 14 +++++++-------
dev/Settings/User/General.js | 10 +++++-----
dev/Settings/User/Themes.js | 4 ++--
8 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/dev/Common/Enums.js b/dev/Common/Enums.js
index 7ff9a8418..4726fafb4 100644
--- a/dev/Common/Enums.js
+++ b/dev/Common/Enums.js
@@ -29,11 +29,11 @@ UploadErrorCode = {
/**
* @enum {number}
*/
-SaveSettingsStep = {
- Animate: -2,
+SaveSettingStatus = {
+ Saving: -2,
Idle: -1,
- TrueResult: 1,
- FalseResult: 0
+ Success: 1,
+ Failed: 0
},
/**
diff --git a/dev/Common/Utils.js b/dev/Common/Utils.js
index 862f4c9fc..8a9e9be8c 100644
--- a/dev/Common/Utils.js
+++ b/dev/Common/Utils.js
@@ -1,4 +1,4 @@
-import { SaveSettingsStep } from 'Common/Enums';
+import { SaveSettingStatus } from 'Common/Enums';
import { elementById } from 'Common/Globals';
let __themeTimer = 0,
@@ -40,14 +40,14 @@ export const
changeTheme = (value, themeTrigger = ()=>0) => {
const themeStyle = elementById('app-theme-style'),
clearTimer = () => {
- __themeTimer = setTimeout(() => themeTrigger(SaveSettingsStep.Idle), 1000);
+ __themeTimer = setTimeout(() => themeTrigger(SaveSettingStatus.Idle), 1000);
__themeJson = null;
},
url = themeStyle.dataset.href.replace(/(Admin|User)\/-\/[^/]+\//, '$1/-/' + value + '/') + 'Json/';
clearTimeout(__themeTimer);
- themeTrigger(SaveSettingsStep.Animate);
+ themeTrigger(SaveSettingStatus.Saving);
if (__themeJson) {
__themeJson.abort();
@@ -61,7 +61,7 @@ export const
.then(data => {
if (2 === arrayLength(data)) {
themeStyle.textContent = data[1];
- themeTrigger(SaveSettingsStep.TrueResult);
+ themeTrigger(SaveSettingStatus.Success);
}
})
.then(clearTimer, clearTimer);
diff --git a/dev/Component/AbstractInput.js b/dev/Component/AbstractInput.js
index b262fab22..5a1e86415 100644
--- a/dev/Component/AbstractInput.js
+++ b/dev/Component/AbstractInput.js
@@ -1,6 +1,6 @@
import ko from 'ko';
import { pInt } from 'Common/Utils';
-import { SaveSettingsStep } from 'Common/Enums';
+import { SaveSettingStatus } from 'Common/Enums';
import { koComputable } from 'External/ko';
import { dispose } from 'External/ko';
@@ -23,10 +23,10 @@ export class AbstractInput {
classForTrigger = ko.observable(''),
setTriggerState = value => {
switch (pInt(value)) {
- case SaveSettingsStep.TrueResult:
+ case SaveSettingStatus.Success:
classForTrigger('success');
break;
- case SaveSettingsStep.FalseResult:
+ case SaveSettingStatus.Failed:
classForTrigger('error');
break;
default:
diff --git a/dev/External/ko.js b/dev/External/ko.js
index 05f0acd46..2b3b89d2b 100644
--- a/dev/External/ko.js
+++ b/dev/External/ko.js
@@ -1,7 +1,7 @@
import ko from 'ko';
import { i18nToNodes } from 'Common/Translator';
import { doc, createElement } from 'Common/Globals';
-import { SaveSettingsStep } from 'Common/Enums';
+import { SaveSettingStatus } from 'Common/Enums';
import { isFunction, forEachObjectEntry } from 'Common/Utils';
export const
@@ -146,13 +146,13 @@ Object.assign(ko.bindingHandlers, {
const value = parseInt(ko.unwrap(fValueAccessor()),10);
let cl = (element.saveTriggerIcon || element).classList;
if (element.saveTriggerIcon) {
- cl.toggle('saving', value === SaveSettingsStep.Animate);
- cl.toggle('success', value === SaveSettingsStep.TrueResult);
- cl.toggle('error', value === SaveSettingsStep.FalseResult);
+ cl.toggle('saving', value === SaveSettingStatus.Saving);
+ cl.toggle('success', value === SaveSettingStatus.Success);
+ cl.toggle('error', value === SaveSettingStatus.Failed);
}
cl = element.classList;
- cl.toggle('success', value === SaveSettingsStep.TrueResult);
- cl.toggle('error', value === SaveSettingsStep.FalseResult);
+ cl.toggle('success', value === SaveSettingStatus.Success);
+ cl.toggle('error', value === SaveSettingStatus.Failed);
}
}
});
diff --git a/dev/Knoin/AbstractViews.js b/dev/Knoin/AbstractViews.js
index 4853a47b9..95c27ad78 100644
--- a/dev/Knoin/AbstractViews.js
+++ b/dev/Knoin/AbstractViews.js
@@ -4,7 +4,7 @@ import { addObservablesTo, addComputablesTo, addSubscribablesTo } from 'External
import { keyScope, SettingsGet, leftPanelDisabled, elementById } from 'Common/Globals';
import { ViewTypePopup, showScreenPopup } from 'Knoin/Knoin';
-import { SaveSettingsStep } from 'Common/Enums';
+import { SaveSettingStatus } from 'Common/Enums';
class AbstractView {
constructor(templateID, type)
@@ -123,16 +123,16 @@ export class AbstractViewSettings
trigger = prop + 'Trigger';
addObservablesTo(this, {
[prop]: SettingsGet(name),
- [trigger]: SaveSettingsStep.Idle,
+ [trigger]: SaveSettingStatus.Idle,
});
addSubscribablesTo(this, {
[prop]: (value => {
- this[trigger](SaveSettingsStep.Animate);
+ this[trigger](SaveSettingStatus.Saving);
valueCb?.(value);
rl.app.Remote.saveSetting(name, value,
iError => {
- this[trigger](iError ? SaveSettingsStep.FalseResult : SaveSettingsStep.TrueResult);
- setTimeout(() => this[trigger](SaveSettingsStep.Idle), 1000);
+ this[trigger](iError ? SaveSettingStatus.Failed : SaveSettingStatus.Success);
+ setTimeout(() => this[trigger](SaveSettingStatus.Idle), 1000);
}
);
}).debounce(999),
diff --git a/dev/Settings/Admin/General.js b/dev/Settings/Admin/General.js
index 81119fb33..526277cc9 100644
--- a/dev/Settings/Admin/General.js
+++ b/dev/Settings/Admin/General.js
@@ -8,7 +8,7 @@ import {
import { addObservablesTo, addSubscribablesTo, addComputablesTo } from 'External/ko';
-import { SaveSettingsStep } from 'Common/Enums';
+import { SaveSettingStatus } from 'Common/Enums';
import { Settings, SettingsGet, SettingsCapa } from 'Common/Globals';
import { translatorReload, convertLangName } from 'Common/Translator';
@@ -38,8 +38,8 @@ export class AdminSettingsGeneral extends AbstractViewSettings {
this.addSettings(['AllowLanguagesOnSettings','NewMoveToFolder']);
addObservablesTo(this, {
- attachmentLimitTrigger: SaveSettingsStep.Idle,
- themeTrigger: SaveSettingsStep.Idle,
+ attachmentLimitTrigger: SaveSettingStatus.Idle,
+ themeTrigger: SaveSettingStatus.Idle,
capaThemes: SettingsCapa('Themes'),
capaUserBackground: SettingsCapa('UserBackground'),
capaAdditionalAccounts: SettingsCapa('AdditionalAccounts'),
@@ -82,19 +82,19 @@ export class AdminSettingsGeneral extends AbstractViewSettings {
languageAdminFullName: () => convertLangName(this.languageAdmin())
});
- this.languageAdminTrigger = ko.observable(SaveSettingsStep.Idle).extend({ debounce: 100 });
+ this.languageAdminTrigger = ko.observable(SaveSettingStatus.Idle).extend({ debounce: 100 });
const fReloadLanguageHelper = (saveSettingsStep) => () => {
this.languageAdminTrigger(saveSettingsStep);
- setTimeout(() => this.languageAdminTrigger(SaveSettingsStep.Idle), 1000);
+ setTimeout(() => this.languageAdminTrigger(SaveSettingStatus.Idle), 1000);
},
fSaveHelper = key => value => Remote.saveSetting(key, value);
addSubscribablesTo(this, {
languageAdmin: value => {
- this.languageAdminTrigger(SaveSettingsStep.Animate);
+ this.languageAdminTrigger(SaveSettingStatus.Saving);
translatorReload(true, value)
- .then(fReloadLanguageHelper(SaveSettingsStep.TrueResult), fReloadLanguageHelper(SaveSettingsStep.FalseResult))
+ .then(fReloadLanguageHelper(SaveSettingStatus.Success), fReloadLanguageHelper(SaveSettingStatus.Failed))
.then(() => Remote.saveSetting('LanguageAdmin', value));
},
diff --git a/dev/Settings/User/General.js b/dev/Settings/User/General.js
index a4fdf7ab2..4ba4863d2 100644
--- a/dev/Settings/User/General.js
+++ b/dev/Settings/User/General.js
@@ -1,7 +1,7 @@
import ko from 'ko';
import { SMAudio } from 'Common/Audio';
-import { SaveSettingsStep } from 'Common/Enums';
+import { SaveSettingStatus } from 'Common/Enums';
import { EditorDefaultType, Layout } from 'Common/EnumsUser';
import { Settings, SettingsGet } from 'Common/Globals';
import { isArray } from 'Common/Utils';
@@ -48,7 +48,7 @@ export class UserSettingsGeneral extends AbstractViewSettings {
this.allowLanguagesOnSettings = !!SettingsGet('AllowLanguagesOnSettings');
- this.languageTrigger = ko.observable(SaveSettingsStep.Idle);
+ this.languageTrigger = ko.observable(SaveSettingStatus.Idle);
this.identities = IdentityUserStore;
@@ -103,14 +103,14 @@ export class UserSettingsGeneral extends AbstractViewSettings {
const fReloadLanguageHelper = (saveSettingsStep) => () => {
this.languageTrigger(saveSettingsStep);
- setTimeout(() => this.languageTrigger(SaveSettingsStep.Idle), 1000);
+ setTimeout(() => this.languageTrigger(SaveSettingStatus.Idle), 1000);
};
addSubscribablesTo(this, {
language: value => {
- this.languageTrigger(SaveSettingsStep.Animate);
+ this.languageTrigger(SaveSettingStatus.Saving);
translatorReload(false, value)
- .then(fReloadLanguageHelper(SaveSettingsStep.TrueResult), fReloadLanguageHelper(SaveSettingsStep.FalseResult))
+ .then(fReloadLanguageHelper(SaveSettingStatus.Success), fReloadLanguageHelper(SaveSettingStatus.Failed))
.then(() => Remote.saveSetting('Language', value));
},
diff --git a/dev/Settings/User/Themes.js b/dev/Settings/User/Themes.js
index 38676a770..d02075864 100644
--- a/dev/Settings/User/Themes.js
+++ b/dev/Settings/User/Themes.js
@@ -1,6 +1,6 @@
import { addObservablesTo } from 'External/ko';
-import { SaveSettingsStep, UploadErrorCode } from 'Common/Enums';
+import { SaveSettingStatus, UploadErrorCode } from 'Common/Enums';
import { changeTheme, convertThemeName } from 'Common/Utils';
import { themePreviewLink, serverRequest } from 'Common/Links';
import { i18n } from 'Common/Translator';
@@ -29,7 +29,7 @@ export class UserSettingsThemes /*extends AbstractViewSettings*/ {
themeBackground.enabled = SettingsCapa('UserBackground');
this.background = themeBackground;
- this.themeTrigger = ko.observable(SaveSettingsStep.Idle).extend({ debounce: 100 });
+ this.themeTrigger = ko.observable(SaveSettingStatus.Idle).extend({ debounce: 100 });
ThemeStore.theme.subscribe(value => {
this.themesObjects.forEach(theme => {
From 218b512526fe41648777229a5996d7512844e097 Mon Sep 17 00:00:00 2001
From: the-djmaze <>
Date: Mon, 26 Sep 2022 14:31:10 +0200
Subject: [PATCH 4/5] Drop unused translation
`SETTINGS_FILTERS/LOADING_PROCESS`
---
snappymail/v/0.0.0/app/localization/ar-SA/user.json | 3 +--
snappymail/v/0.0.0/app/localization/bg-BG/user.json | 3 +--
snappymail/v/0.0.0/app/localization/cs-CZ/user.json | 3 +--
snappymail/v/0.0.0/app/localization/da-DK/user.json | 3 +--
snappymail/v/0.0.0/app/localization/de-DE/user.json | 3 +--
snappymail/v/0.0.0/app/localization/el-GR/user.json | 3 +--
snappymail/v/0.0.0/app/localization/en-GB/user.json | 3 +--
snappymail/v/0.0.0/app/localization/en/user.json | 3 +--
snappymail/v/0.0.0/app/localization/es-ES/user.json | 3 +--
snappymail/v/0.0.0/app/localization/et-EE/user.json | 3 +--
snappymail/v/0.0.0/app/localization/fa-IR/user.json | 3 +--
snappymail/v/0.0.0/app/localization/fi-FI/user.json | 3 +--
snappymail/v/0.0.0/app/localization/fr-FR/user.json | 3 +--
snappymail/v/0.0.0/app/localization/hu-HU/user.json | 3 +--
snappymail/v/0.0.0/app/localization/id-ID/user.json | 3 +--
snappymail/v/0.0.0/app/localization/is-IS/user.json | 3 +--
snappymail/v/0.0.0/app/localization/it-IT/user.json | 3 +--
snappymail/v/0.0.0/app/localization/ja-JP/user.json | 3 +--
snappymail/v/0.0.0/app/localization/ko-KR/user.json | 3 +--
snappymail/v/0.0.0/app/localization/lt-LT/user.json | 3 +--
snappymail/v/0.0.0/app/localization/lv-LV/user.json | 3 +--
snappymail/v/0.0.0/app/localization/nb-NO/user.json | 3 +--
snappymail/v/0.0.0/app/localization/nl-NL/user.json | 3 +--
snappymail/v/0.0.0/app/localization/pl-PL/user.json | 3 +--
snappymail/v/0.0.0/app/localization/pt-BR/user.json | 3 +--
snappymail/v/0.0.0/app/localization/pt-PT/user.json | 3 +--
snappymail/v/0.0.0/app/localization/pt/user.json | 3 +--
snappymail/v/0.0.0/app/localization/ro-RO/user.json | 3 +--
snappymail/v/0.0.0/app/localization/ru-RU/user.json | 3 +--
snappymail/v/0.0.0/app/localization/sk-SK/user.json | 3 +--
snappymail/v/0.0.0/app/localization/sl-SI/user.json | 3 +--
snappymail/v/0.0.0/app/localization/sv-SE/user.json | 3 +--
snappymail/v/0.0.0/app/localization/tr-TR/user.json | 3 +--
snappymail/v/0.0.0/app/localization/uk-UA/user.json | 3 +--
snappymail/v/0.0.0/app/localization/vi-VN/user.json | 3 +--
snappymail/v/0.0.0/app/localization/zh-CN/user.json | 3 +--
snappymail/v/0.0.0/app/localization/zh-TW/user.json | 3 +--
37 files changed, 37 insertions(+), 74 deletions(-)
diff --git a/snappymail/v/0.0.0/app/localization/ar-SA/user.json b/snappymail/v/0.0.0/app/localization/ar-SA/user.json
index 328696bbd..f0207e856 100644
--- a/snappymail/v/0.0.0/app/localization/ar-SA/user.json
+++ b/snappymail/v/0.0.0/app/localization/ar-SA/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "\"%EMAIL%\" إعادة توجيه الى",
"SUBNAME_REJECT": "رفض",
"SUBNAME_VACATION_MESSAGE": "رسالة العطلة",
- "SUBNAME_DISCARD": "تجاهل",
- "LOADING_PROCESS": "تحديث قائمة عوامل التصفية"
+ "SUBNAME_DISCARD": "تجاهل"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "الأمان",
diff --git a/snappymail/v/0.0.0/app/localization/bg-BG/user.json b/snappymail/v/0.0.0/app/localization/bg-BG/user.json
index 01b4fe5a6..fed65d3e3 100644
--- a/snappymail/v/0.0.0/app/localization/bg-BG/user.json
+++ b/snappymail/v/0.0.0/app/localization/bg-BG/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Препрати към \"%EMAIL%\"",
"SUBNAME_REJECT": "Откажи",
"SUBNAME_VACATION_MESSAGE": "Съобщение в отпуска",
- "SUBNAME_DISCARD": "Отхвърли",
- "LOADING_PROCESS": "Обнови списъка с филтри"
+ "SUBNAME_DISCARD": "Отхвърли"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Сигурност",
diff --git a/snappymail/v/0.0.0/app/localization/cs-CZ/user.json b/snappymail/v/0.0.0/app/localization/cs-CZ/user.json
index 1ff11ba80..f29539336 100644
--- a/snappymail/v/0.0.0/app/localization/cs-CZ/user.json
+++ b/snappymail/v/0.0.0/app/localization/cs-CZ/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Přeposlat to \"%EMAIL%\"",
"SUBNAME_REJECT": "Odmítnout",
"SUBNAME_VACATION_MESSAGE": "Odpověď v nepřítomnosti",
- "SUBNAME_DISCARD": "Zahodit",
- "LOADING_PROCESS": "Aktualizovat seznam filtrů"
+ "SUBNAME_DISCARD": "Zahodit"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Zabezpečení",
diff --git a/snappymail/v/0.0.0/app/localization/da-DK/user.json b/snappymail/v/0.0.0/app/localization/da-DK/user.json
index 334e3f2a8..39e15ae23 100644
--- a/snappymail/v/0.0.0/app/localization/da-DK/user.json
+++ b/snappymail/v/0.0.0/app/localization/da-DK/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Videresend til \"%EMAIL%\"",
"SUBNAME_REJECT": "Afvis",
"SUBNAME_VACATION_MESSAGE": "Feriemeddelelse",
- "SUBNAME_DISCARD": "Kassér",
- "LOADING_PROCESS": "Opdater oversigten over filtre"
+ "SUBNAME_DISCARD": "Kassér"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Sikkerhed",
diff --git a/snappymail/v/0.0.0/app/localization/de-DE/user.json b/snappymail/v/0.0.0/app/localization/de-DE/user.json
index 4a75ec527..b5e094cb0 100644
--- a/snappymail/v/0.0.0/app/localization/de-DE/user.json
+++ b/snappymail/v/0.0.0/app/localization/de-DE/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Weiterleiten nach \"%EMAIL%\"",
"SUBNAME_REJECT": "Ablehnen",
"SUBNAME_VACATION_MESSAGE": "Urlaubsbenachrichtigung",
- "SUBNAME_DISCARD": "Verwerfen",
- "LOADING_PROCESS": "Aktualisiere Filterliste"
+ "SUBNAME_DISCARD": "Verwerfen"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Sicherheit",
diff --git a/snappymail/v/0.0.0/app/localization/el-GR/user.json b/snappymail/v/0.0.0/app/localization/el-GR/user.json
index 80234fb5e..0882b8e81 100644
--- a/snappymail/v/0.0.0/app/localization/el-GR/user.json
+++ b/snappymail/v/0.0.0/app/localization/el-GR/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Προώθηση στο \"%EMAIL%\"",
"SUBNAME_REJECT": "Απόρριψη",
"SUBNAME_VACATION_MESSAGE": "Μήνυμα διακοπών",
- "SUBNAME_DISCARD": "Απόρριψη",
- "LOADING_PROCESS": "Ενημέρωση λίστας φίλτρων"
+ "SUBNAME_DISCARD": "Απόρριψη"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Ασφάλεια",
diff --git a/snappymail/v/0.0.0/app/localization/en-GB/user.json b/snappymail/v/0.0.0/app/localization/en-GB/user.json
index 4a3669d6d..147e4b097 100644
--- a/snappymail/v/0.0.0/app/localization/en-GB/user.json
+++ b/snappymail/v/0.0.0/app/localization/en-GB/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
diff --git a/snappymail/v/0.0.0/app/localization/en/user.json b/snappymail/v/0.0.0/app/localization/en/user.json
index 71cac0f47..9256872be 100644
--- a/snappymail/v/0.0.0/app/localization/en/user.json
+++ b/snappymail/v/0.0.0/app/localization/en/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
diff --git a/snappymail/v/0.0.0/app/localization/es-ES/user.json b/snappymail/v/0.0.0/app/localization/es-ES/user.json
index 27633b159..23e1e7acb 100644
--- a/snappymail/v/0.0.0/app/localization/es-ES/user.json
+++ b/snappymail/v/0.0.0/app/localization/es-ES/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Reenviar a \"%EMAIL%\"",
"SUBNAME_REJECT": "Rechazar",
"SUBNAME_VACATION_MESSAGE": "Mensaje de vacaciones",
- "SUBNAME_DISCARD": "Descartar",
- "LOADING_PROCESS": "Actualizando lista de filtros"
+ "SUBNAME_DISCARD": "Descartar"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Seguridad",
diff --git a/snappymail/v/0.0.0/app/localization/et-EE/user.json b/snappymail/v/0.0.0/app/localization/et-EE/user.json
index 4eabfadc6..20d1d26cb 100644
--- a/snappymail/v/0.0.0/app/localization/et-EE/user.json
+++ b/snappymail/v/0.0.0/app/localization/et-EE/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Edasta aadressile \"%EMAIL%\"",
"SUBNAME_REJECT": "Lükka tagasi",
"SUBNAME_VACATION_MESSAGE": "Puhkuse teade",
- "SUBNAME_DISCARD": "Hülga",
- "LOADING_PROCESS": "Värskendan filtrite nimekirja"
+ "SUBNAME_DISCARD": "Hülga"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Turvalisus",
diff --git a/snappymail/v/0.0.0/app/localization/fa-IR/user.json b/snappymail/v/0.0.0/app/localization/fa-IR/user.json
index 9e42abf40..95a707ec7 100644
--- a/snappymail/v/0.0.0/app/localization/fa-IR/user.json
+++ b/snappymail/v/0.0.0/app/localization/fa-IR/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "ارسال به \"%EMAIL%\"",
"SUBNAME_REJECT": "برگشتزدن",
"SUBNAME_VACATION_MESSAGE": "پیام تعطیلات",
- "SUBNAME_DISCARD": "دور انداختن",
- "LOADING_PROCESS": "بروزرسانی لیست فیلتر"
+ "SUBNAME_DISCARD": "دور انداختن"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "امنیت",
diff --git a/snappymail/v/0.0.0/app/localization/fi-FI/user.json b/snappymail/v/0.0.0/app/localization/fi-FI/user.json
index 992034f21..04829d548 100644
--- a/snappymail/v/0.0.0/app/localization/fi-FI/user.json
+++ b/snappymail/v/0.0.0/app/localization/fi-FI/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Välitä osoitteeseen \"%EMAIL%\"",
"SUBNAME_REJECT": "Hylkää",
"SUBNAME_VACATION_MESSAGE": "Lomaviesti",
- "SUBNAME_DISCARD": "Poista",
- "LOADING_PROCESS": "Asetetaan suodattimet"
+ "SUBNAME_DISCARD": "Poista"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Turvallisuus",
diff --git a/snappymail/v/0.0.0/app/localization/fr-FR/user.json b/snappymail/v/0.0.0/app/localization/fr-FR/user.json
index 71cac0f47..9256872be 100644
--- a/snappymail/v/0.0.0/app/localization/fr-FR/user.json
+++ b/snappymail/v/0.0.0/app/localization/fr-FR/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
diff --git a/snappymail/v/0.0.0/app/localization/hu-HU/user.json b/snappymail/v/0.0.0/app/localization/hu-HU/user.json
index ee0ac9665..99ca6b46e 100644
--- a/snappymail/v/0.0.0/app/localization/hu-HU/user.json
+++ b/snappymail/v/0.0.0/app/localization/hu-HU/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Továbbítás ide: \"%EMAIL%\"",
"SUBNAME_REJECT": "Visszautasít",
"SUBNAME_VACATION_MESSAGE": "Vakáció üzenet",
- "SUBNAME_DISCARD": "Elvetés",
- "LOADING_PROCESS": "Szűrő lista frissítése"
+ "SUBNAME_DISCARD": "Elvetés"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Biztonság",
diff --git a/snappymail/v/0.0.0/app/localization/id-ID/user.json b/snappymail/v/0.0.0/app/localization/id-ID/user.json
index 36b87ca78..0713e629b 100644
--- a/snappymail/v/0.0.0/app/localization/id-ID/user.json
+++ b/snappymail/v/0.0.0/app/localization/id-ID/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Teruskan ke \"%EMAIL%\"",
"SUBNAME_REJECT": "Tolak",
"SUBNAME_VACATION_MESSAGE": "Pesan liburan",
- "SUBNAME_DISCARD": "Buang",
- "LOADING_PROCESS": "Perbarui daftar filter"
+ "SUBNAME_DISCARD": "Buang"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Keamanan",
diff --git a/snappymail/v/0.0.0/app/localization/is-IS/user.json b/snappymail/v/0.0.0/app/localization/is-IS/user.json
index 3b08f61bf..f81d1b072 100644
--- a/snappymail/v/0.0.0/app/localization/is-IS/user.json
+++ b/snappymail/v/0.0.0/app/localization/is-IS/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Áframsenda til \"%EMAIL%\"",
"SUBNAME_REJECT": "Hafna",
"SUBNAME_VACATION_MESSAGE": "Skilaboð vegna fría",
- "SUBNAME_DISCARD": "Henda",
- "LOADING_PROCESS": "Uppfæri síulista"
+ "SUBNAME_DISCARD": "Henda"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Öryggi",
diff --git a/snappymail/v/0.0.0/app/localization/it-IT/user.json b/snappymail/v/0.0.0/app/localization/it-IT/user.json
index 3373cbeea..d40c2a352 100644
--- a/snappymail/v/0.0.0/app/localization/it-IT/user.json
+++ b/snappymail/v/0.0.0/app/localization/it-IT/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Inoltra a \"%EMAIL%\"",
"SUBNAME_REJECT": "Rifiuta",
"SUBNAME_VACATION_MESSAGE": "Messaggio fuori-ufficio",
- "SUBNAME_DISCARD": "Scarta",
- "LOADING_PROCESS": "Aggiornamento lista filtri"
+ "SUBNAME_DISCARD": "Scarta"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Sicurezza",
diff --git a/snappymail/v/0.0.0/app/localization/ja-JP/user.json b/snappymail/v/0.0.0/app/localization/ja-JP/user.json
index 8ff2e4fb3..78dc6d5b8 100644
--- a/snappymail/v/0.0.0/app/localization/ja-JP/user.json
+++ b/snappymail/v/0.0.0/app/localization/ja-JP/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "\"%EMAIL%\"へ転送",
"SUBNAME_REJECT": "拒否",
"SUBNAME_VACATION_MESSAGE": "バケーションメッセージ",
- "SUBNAME_DISCARD": "破棄",
- "LOADING_PROCESS": "フィルターリストの更新中"
+ "SUBNAME_DISCARD": "破棄"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "セキュリティ",
diff --git a/snappymail/v/0.0.0/app/localization/ko-KR/user.json b/snappymail/v/0.0.0/app/localization/ko-KR/user.json
index 66828f58f..1b8eb78c3 100644
--- a/snappymail/v/0.0.0/app/localization/ko-KR/user.json
+++ b/snappymail/v/0.0.0/app/localization/ko-KR/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "\"%EMAIL%\"(으)로 전달",
"SUBNAME_REJECT": "거부",
"SUBNAME_VACATION_MESSAGE": "부재 중 메시지",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "필터 목록 업데이트 중"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "보안",
diff --git a/snappymail/v/0.0.0/app/localization/lt-LT/user.json b/snappymail/v/0.0.0/app/localization/lt-LT/user.json
index 4eef5056c..eeb9133e7 100644
--- a/snappymail/v/0.0.0/app/localization/lt-LT/user.json
+++ b/snappymail/v/0.0.0/app/localization/lt-LT/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "persiūsti \"%EMAIL%\"",
"SUBNAME_REJECT": "Atmesti",
"SUBNAME_VACATION_MESSAGE": "Atostogų žinutė",
- "SUBNAME_DISCARD": "Nepaisyti",
- "LOADING_PROCESS": "Atnaujinamas filtrų sąrašas"
+ "SUBNAME_DISCARD": "Nepaisyti"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Sauga",
diff --git a/snappymail/v/0.0.0/app/localization/lv-LV/user.json b/snappymail/v/0.0.0/app/localization/lv-LV/user.json
index d0fcfded6..57da36856 100644
--- a/snappymail/v/0.0.0/app/localization/lv-LV/user.json
+++ b/snappymail/v/0.0.0/app/localization/lv-LV/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
diff --git a/snappymail/v/0.0.0/app/localization/nb-NO/user.json b/snappymail/v/0.0.0/app/localization/nb-NO/user.json
index 88eb50284..34bc4eb70 100644
--- a/snappymail/v/0.0.0/app/localization/nb-NO/user.json
+++ b/snappymail/v/0.0.0/app/localization/nb-NO/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Videresend til «%EMAIL%»",
"SUBNAME_REJECT": "Avvis",
"SUBNAME_VACATION_MESSAGE": "Feriemelding",
- "SUBNAME_DISCARD": "Forkast",
- "LOADING_PROCESS": "Oppdater filterliste"
+ "SUBNAME_DISCARD": "Forkast"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Sikkerhet",
diff --git a/snappymail/v/0.0.0/app/localization/nl-NL/user.json b/snappymail/v/0.0.0/app/localization/nl-NL/user.json
index daa03ad40..269cc8d9e 100644
--- a/snappymail/v/0.0.0/app/localization/nl-NL/user.json
+++ b/snappymail/v/0.0.0/app/localization/nl-NL/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Doorsturen naar \"%EMAIL%\"",
"SUBNAME_REJECT": "Afwijzen",
"SUBNAME_VACATION_MESSAGE": "Afwezigheidsbericht",
- "SUBNAME_DISCARD": "Gooi weg",
- "LOADING_PROCESS": "Bezig met updaten van de filter lijst"
+ "SUBNAME_DISCARD": "Gooi weg"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Beveiliging",
diff --git a/snappymail/v/0.0.0/app/localization/pl-PL/user.json b/snappymail/v/0.0.0/app/localization/pl-PL/user.json
index 650bf26ba..b5f4acae5 100644
--- a/snappymail/v/0.0.0/app/localization/pl-PL/user.json
+++ b/snappymail/v/0.0.0/app/localization/pl-PL/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Przekaż do \"%EMAIL%\"",
"SUBNAME_REJECT": "Odrzuć",
"SUBNAME_VACATION_MESSAGE": "Wiadomość urlopowa",
- "SUBNAME_DISCARD": "Porzuć",
- "LOADING_PROCESS": "Aktualizowanie listy filtrów"
+ "SUBNAME_DISCARD": "Porzuć"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Bezpieczeństwo",
diff --git a/snappymail/v/0.0.0/app/localization/pt-BR/user.json b/snappymail/v/0.0.0/app/localization/pt-BR/user.json
index fdef67223..d44e49704 100644
--- a/snappymail/v/0.0.0/app/localization/pt-BR/user.json
+++ b/snappymail/v/0.0.0/app/localization/pt-BR/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Encaminhar para \"%EMAIL%\"",
"SUBNAME_REJECT": "Rejeitar",
"SUBNAME_VACATION_MESSAGE": "Mensagem de férias",
- "SUBNAME_DISCARD": "Descartar",
- "LOADING_PROCESS": "Atualizando Lista de filtros"
+ "SUBNAME_DISCARD": "Descartar"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Segurança",
diff --git a/snappymail/v/0.0.0/app/localization/pt-PT/user.json b/snappymail/v/0.0.0/app/localization/pt-PT/user.json
index d8c0c3670..ddc3c9c02 100644
--- a/snappymail/v/0.0.0/app/localization/pt-PT/user.json
+++ b/snappymail/v/0.0.0/app/localization/pt-PT/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Encaminhar para \"%EMAIL%\"",
"SUBNAME_REJECT": "Rejeitar",
"SUBNAME_VACATION_MESSAGE": "Mensagem de férias",
- "SUBNAME_DISCARD": "Descartar",
- "LOADING_PROCESS": "A atualizar lista de filtros"
+ "SUBNAME_DISCARD": "Descartar"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Segurança",
diff --git a/snappymail/v/0.0.0/app/localization/pt/user.json b/snappymail/v/0.0.0/app/localization/pt/user.json
index d8c0c3670..ddc3c9c02 100644
--- a/snappymail/v/0.0.0/app/localization/pt/user.json
+++ b/snappymail/v/0.0.0/app/localization/pt/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Encaminhar para \"%EMAIL%\"",
"SUBNAME_REJECT": "Rejeitar",
"SUBNAME_VACATION_MESSAGE": "Mensagem de férias",
- "SUBNAME_DISCARD": "Descartar",
- "LOADING_PROCESS": "A atualizar lista de filtros"
+ "SUBNAME_DISCARD": "Descartar"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Segurança",
diff --git a/snappymail/v/0.0.0/app/localization/ro-RO/user.json b/snappymail/v/0.0.0/app/localization/ro-RO/user.json
index 97dff5000..22a1dea73 100644
--- a/snappymail/v/0.0.0/app/localization/ro-RO/user.json
+++ b/snappymail/v/0.0.0/app/localization/ro-RO/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
diff --git a/snappymail/v/0.0.0/app/localization/ru-RU/user.json b/snappymail/v/0.0.0/app/localization/ru-RU/user.json
index ba4059184..b28a00718 100644
--- a/snappymail/v/0.0.0/app/localization/ru-RU/user.json
+++ b/snappymail/v/0.0.0/app/localization/ru-RU/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Переслать на \"%EMAIL%\"",
"SUBNAME_REJECT": "Не принимать",
"SUBNAME_VACATION_MESSAGE": "Сообщение автоответчика",
- "SUBNAME_DISCARD": "Уничтожить",
- "LOADING_PROCESS": "Обновление списка фильтров"
+ "SUBNAME_DISCARD": "Уничтожить"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Безопасность",
diff --git a/snappymail/v/0.0.0/app/localization/sk-SK/user.json b/snappymail/v/0.0.0/app/localization/sk-SK/user.json
index 9cf112b37..4b32cfe04 100644
--- a/snappymail/v/0.0.0/app/localization/sk-SK/user.json
+++ b/snappymail/v/0.0.0/app/localization/sk-SK/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
diff --git a/snappymail/v/0.0.0/app/localization/sl-SI/user.json b/snappymail/v/0.0.0/app/localization/sl-SI/user.json
index f36aa655f..506105b3f 100644
--- a/snappymail/v/0.0.0/app/localization/sl-SI/user.json
+++ b/snappymail/v/0.0.0/app/localization/sl-SI/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Posreduj na \"%EMAIL%\"",
"SUBNAME_REJECT": "Zavrni",
"SUBNAME_VACATION_MESSAGE": "Sporočilo odsotnosti",
- "SUBNAME_DISCARD": "Zavrzi",
- "LOADING_PROCESS": "Posodabljanje seznama filtrov"
+ "SUBNAME_DISCARD": "Zavrzi"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Varnost",
diff --git a/snappymail/v/0.0.0/app/localization/sv-SE/user.json b/snappymail/v/0.0.0/app/localization/sv-SE/user.json
index 2fd5f1c0e..04a92a1b4 100644
--- a/snappymail/v/0.0.0/app/localization/sv-SE/user.json
+++ b/snappymail/v/0.0.0/app/localization/sv-SE/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Vidarebefordra till \"%EMAIL%\"",
"SUBNAME_REJECT": "Avvisa",
"SUBNAME_VACATION_MESSAGE": "semestermeddelande",
- "SUBNAME_DISCARD": "Kassera",
- "LOADING_PROCESS": "Uppdaterar filter listan"
+ "SUBNAME_DISCARD": "Kassera"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Säkerhet",
diff --git a/snappymail/v/0.0.0/app/localization/tr-TR/user.json b/snappymail/v/0.0.0/app/localization/tr-TR/user.json
index 372836573..ae2fe1dd9 100644
--- a/snappymail/v/0.0.0/app/localization/tr-TR/user.json
+++ b/snappymail/v/0.0.0/app/localization/tr-TR/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
diff --git a/snappymail/v/0.0.0/app/localization/uk-UA/user.json b/snappymail/v/0.0.0/app/localization/uk-UA/user.json
index a51f76a26..4e778219e 100644
--- a/snappymail/v/0.0.0/app/localization/uk-UA/user.json
+++ b/snappymail/v/0.0.0/app/localization/uk-UA/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Повідомлення про відпустку",
- "SUBNAME_DISCARD": "Відклонити",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Відклонити"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Безпека",
diff --git a/snappymail/v/0.0.0/app/localization/vi-VN/user.json b/snappymail/v/0.0.0/app/localization/vi-VN/user.json
index 20b8d1f5e..73187742f 100644
--- a/snappymail/v/0.0.0/app/localization/vi-VN/user.json
+++ b/snappymail/v/0.0.0/app/localization/vi-VN/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Chuyển tiếp đến \"%EMAIL%\"",
"SUBNAME_REJECT": "Từ chối",
"SUBNAME_VACATION_MESSAGE": "Thư thông báo bạn đang nghỉ lễ",
- "SUBNAME_DISCARD": "Loại bỏ",
- "LOADING_PROCESS": "Đang cập nhật danh sách tấm lọc thư"
+ "SUBNAME_DISCARD": "Loại bỏ"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "An ninh",
diff --git a/snappymail/v/0.0.0/app/localization/zh-CN/user.json b/snappymail/v/0.0.0/app/localization/zh-CN/user.json
index 81699dd77..c95a04d5f 100644
--- a/snappymail/v/0.0.0/app/localization/zh-CN/user.json
+++ b/snappymail/v/0.0.0/app/localization/zh-CN/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "转发到 \"%EMAIL%\"",
"SUBNAME_REJECT": "拒绝",
"SUBNAME_VACATION_MESSAGE": "假期自动回复",
- "SUBNAME_DISCARD": "取消",
- "LOADING_PROCESS": "正在更新筛选规则列表"
+ "SUBNAME_DISCARD": "取消"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "安全",
diff --git a/snappymail/v/0.0.0/app/localization/zh-TW/user.json b/snappymail/v/0.0.0/app/localization/zh-TW/user.json
index 70a4c7788..bc199223a 100644
--- a/snappymail/v/0.0.0/app/localization/zh-TW/user.json
+++ b/snappymail/v/0.0.0/app/localization/zh-TW/user.json
@@ -378,8 +378,7 @@
"SUBNAME_FORWARD_TO": "Forward to \"%EMAIL%\"",
"SUBNAME_REJECT": "Reject",
"SUBNAME_VACATION_MESSAGE": "Vacation message",
- "SUBNAME_DISCARD": "Discard",
- "LOADING_PROCESS": "Updating filter list"
+ "SUBNAME_DISCARD": "Discard"
},
"SETTINGS_SECURITY": {
"LEGEND_SECURITY": "Security",
From 4301d92d0b9aeb3fa1a3e7e284229f1c449e3775 Mon Sep 17 00:00:00 2001
From: the-djmaze <>
Date: Mon, 26 Sep 2022 14:32:47 +0200
Subject: [PATCH 5/5] Change Squire HTML<>TEXT button for clarity as discussed
https://github.com/the-djmaze/snappymail/issues/498#issuecomment-1257076375
---
dev/External/SquireUI.js | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/dev/External/SquireUI.js b/dev/External/SquireUI.js
index 4007dd143..fdf8bff25 100644
--- a/dev/External/SquireUI.js
+++ b/dev/External/SquireUI.js
@@ -78,8 +78,13 @@ class SquireUI
actions = {
mode: {
plain: {
- html: '〈〉',
- cmd: () => this.setMode('plain' == this.mode ? 'wysiwyg' : 'plain'),
+// html: '〈〉',
+// cmd: () => this.setMode('plain' == this.mode ? 'wysiwyg' : 'plain'),
+ select: [
+ [i18n('SETTINGS_GENERAL/LABEL_EDITOR_HTML'),'wysiwyg'],
+ [i18n('SETTINGS_GENERAL/LABEL_EDITOR_PLAIN'),'plain']
+ ],
+ cmd: s => this.setMode('plain' == s.value ? 'plain' : 'wysiwyg'),
hint: i18n('EDITOR/TEXT_SWITCHER_PLAIN_TEXT', 'Plain')
}
},
@@ -299,8 +304,9 @@ class SquireUI
input.className = 'btn';
if (Array.isArray(cfg.select)) {
cfg.select.forEach(value => {
- var option = new Option(value, value);
- option.style[action] = value;
+ value = Array.isArray(value) ? value : [value, value];
+ var option = new Option(value[0], value[1]);
+ option.style[action] = value[1];
input.append(option);
});
} else {
@@ -347,6 +353,8 @@ class SquireUI
toolgroup.children.length && toolbar.append(toolgroup);
}
+ this.modeSelect = actions.mode.plain.input;
+
let changes = actions.changes;
changes.undo.input.disabled = changes.redo.input.disabled = true;
squire.addEventListener('undoStateChange', state => {
@@ -413,6 +421,7 @@ class SquireUI
this.onModeChange?.();
setTimeout(()=>this.focus(),1);
}
+ this.modeSelect.selectedIndex = 'plain' == this.mode ? 1 : 0;
}
// CKeditor gimmicks used by HtmlEditor