mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Added "Default identity" setting (Closes #157)
This commit is contained in:
parent
c82a897582
commit
d80a9e8485
29 changed files with 239 additions and 67 deletions
|
|
@ -700,6 +700,8 @@ Selector.prototype.actionClick = function (oItem, oEvent)
|
||||||
{
|
{
|
||||||
this.focusedItem(oItem);
|
this.focusedItem(oItem);
|
||||||
this.selectedItem(oItem);
|
this.selectedItem(oItem);
|
||||||
|
|
||||||
|
this.scrollToFocused();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,9 @@ function SettingsIdentities()
|
||||||
var oData = RL.data();
|
var oData = RL.data();
|
||||||
|
|
||||||
this.editor = null;
|
this.editor = null;
|
||||||
|
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
|
||||||
|
|
||||||
|
this.accountEmail = oData.accountEmail;
|
||||||
this.displayName = oData.displayName;
|
this.displayName = oData.displayName;
|
||||||
this.signature = oData.signature;
|
this.signature = oData.signature;
|
||||||
this.signatureToAll = oData.signatureToAll;
|
this.signatureToAll = oData.signatureToAll;
|
||||||
|
|
@ -16,11 +18,47 @@ function SettingsIdentities()
|
||||||
|
|
||||||
this.signatureDom = ko.observable(null);
|
this.signatureDom = ko.observable(null);
|
||||||
|
|
||||||
|
this.defaultIdentityIDTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
this.displayNameTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
this.displayNameTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
this.replyTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
this.replyTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
|
|
||||||
this.identities = oData.identities;
|
this.identities = oData.identities;
|
||||||
|
this.defaultIdentityID = oData.defaultIdentityID;
|
||||||
|
|
||||||
|
this.identitiesOptions = ko.computed(function () {
|
||||||
|
|
||||||
|
var
|
||||||
|
aList = this.identities(),
|
||||||
|
aResult = []
|
||||||
|
;
|
||||||
|
|
||||||
|
if (0 < aList.length)
|
||||||
|
{
|
||||||
|
aResult.push({
|
||||||
|
'id': this.accountEmail.peek(),
|
||||||
|
'name': this.formattedAccountIdentity(),
|
||||||
|
'seporator': false
|
||||||
|
});
|
||||||
|
|
||||||
|
aResult.push({
|
||||||
|
'id': '---',
|
||||||
|
'name': '---',
|
||||||
|
'seporator': true,
|
||||||
|
'disabled': true
|
||||||
|
});
|
||||||
|
|
||||||
|
_.each(aList, function (oItem) {
|
||||||
|
aResult.push({
|
||||||
|
'id': oItem.id,
|
||||||
|
'name': oItem.formattedNameForEmail(),
|
||||||
|
'seporator': false
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return aResult;
|
||||||
|
}, this);
|
||||||
|
|
||||||
this.processText = ko.computed(function () {
|
this.processText = ko.computed(function () {
|
||||||
return oData.identitiesLoading() ? Utils.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : '';
|
return oData.identitiesLoading() ? Utils.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : '';
|
||||||
|
|
@ -47,6 +85,20 @@ function SettingsIdentities()
|
||||||
|
|
||||||
Utils.addSettingsViewModel(SettingsIdentities, 'SettingsIdentities', 'SETTINGS_LABELS/LABEL_IDENTITIES_NAME', 'identities');
|
Utils.addSettingsViewModel(SettingsIdentities, 'SettingsIdentities', 'SETTINGS_LABELS/LABEL_IDENTITIES_NAME', 'identities');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
|
SettingsIdentities.prototype.formattedAccountIdentity = function ()
|
||||||
|
{
|
||||||
|
var
|
||||||
|
sDisplayName = this.displayName.peek(),
|
||||||
|
sEmail = this.accountEmail.peek()
|
||||||
|
;
|
||||||
|
|
||||||
|
return '' === sDisplayName ? sEmail : '"' + Utils.quoteName(sDisplayName) + '" <' + sEmail + '>';
|
||||||
|
};
|
||||||
|
|
||||||
SettingsIdentities.prototype.addNewIdentity = function ()
|
SettingsIdentities.prototype.addNewIdentity = function ()
|
||||||
{
|
{
|
||||||
kn.showScreenPopup(PopupsIdentityViewModel);
|
kn.showScreenPopup(PopupsIdentityViewModel);
|
||||||
|
|
@ -129,9 +181,16 @@ SettingsIdentities.prototype.onBuild = function (oDom)
|
||||||
oData = RL.data(),
|
oData = RL.data(),
|
||||||
f1 = Utils.settingsSaveHelperSimpleFunction(self.displayNameTrigger, self),
|
f1 = Utils.settingsSaveHelperSimpleFunction(self.displayNameTrigger, self),
|
||||||
f2 = Utils.settingsSaveHelperSimpleFunction(self.replyTrigger, self),
|
f2 = Utils.settingsSaveHelperSimpleFunction(self.replyTrigger, self),
|
||||||
f3 = Utils.settingsSaveHelperSimpleFunction(self.signatureTrigger, self)
|
f3 = Utils.settingsSaveHelperSimpleFunction(self.signatureTrigger, self),
|
||||||
|
f4 = Utils.settingsSaveHelperSimpleFunction(self.defaultIdentityIDTrigger, self)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
oData.defaultIdentityID.subscribe(function (sValue) {
|
||||||
|
RL.remote().saveSettings(f4, {
|
||||||
|
'DefaultIdentityID': sValue
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
oData.displayName.subscribe(function (sValue) {
|
oData.displayName.subscribe(function (sValue) {
|
||||||
RL.remote().saveSettings(f1, {
|
RL.remote().saveSettings(f1, {
|
||||||
'DisplayName': sValue
|
'DisplayName': sValue
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@ function WebMailDataStorage()
|
||||||
this.accountsLoading = ko.observable(false).extend({'throttle': 100});
|
this.accountsLoading = ko.observable(false).extend({'throttle': 100});
|
||||||
|
|
||||||
// identities
|
// identities
|
||||||
|
this.defaultIdentityID = ko.observable('');
|
||||||
this.identities = ko.observableArray([]);
|
this.identities = ko.observableArray([]);
|
||||||
this.identitiesLoading = ko.observable(false).extend({'throttle': 100});
|
this.identitiesLoading = ko.observable(false).extend({'throttle': 100});
|
||||||
|
|
||||||
|
|
@ -476,6 +477,8 @@ WebMailDataStorage.prototype.populateDataOnStart = function()
|
||||||
this.accountOutLogin(RL.settingsGet('OutLogin'));
|
this.accountOutLogin(RL.settingsGet('OutLogin'));
|
||||||
this.projectHash(RL.settingsGet('ProjectHash'));
|
this.projectHash(RL.settingsGet('ProjectHash'));
|
||||||
|
|
||||||
|
this.defaultIdentityID(RL.settingsGet('DefaultIdentityID'));
|
||||||
|
|
||||||
this.displayName(RL.settingsGet('DisplayName'));
|
this.displayName(RL.settingsGet('DisplayName'));
|
||||||
this.replyTo(RL.settingsGet('ReplyTo'));
|
this.replyTo(RL.settingsGet('ReplyTo'));
|
||||||
this.signature(RL.settingsGet('Signature'));
|
this.signature(RL.settingsGet('Signature'));
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ function PopupsComposeViewModel()
|
||||||
this.composeEditorArea = ko.observable(null);
|
this.composeEditorArea = ko.observable(null);
|
||||||
|
|
||||||
this.identities = RL.data().identities;
|
this.identities = RL.data().identities;
|
||||||
|
this.defaultIdentityID = RL.data().defaultIdentityID;
|
||||||
this.currentIdentityID = ko.observable('');
|
this.currentIdentityID = ko.observable('');
|
||||||
|
|
||||||
this.currentIdentityString = ko.observable('');
|
this.currentIdentityString = ko.observable('');
|
||||||
|
|
@ -433,7 +433,6 @@ PopupsComposeViewModel.prototype.findIdentityIdByMessage = function (sComposeTyp
|
||||||
switch (sComposeType)
|
switch (sComposeType)
|
||||||
{
|
{
|
||||||
case Enums.ComposeType.Empty:
|
case Enums.ComposeType.Empty:
|
||||||
sResult = RL.data().accountEmail();
|
|
||||||
break;
|
break;
|
||||||
case Enums.ComposeType.Reply:
|
case Enums.ComposeType.Reply:
|
||||||
case Enums.ComposeType.ReplyAll:
|
case Enums.ComposeType.ReplyAll:
|
||||||
|
|
@ -446,7 +445,13 @@ PopupsComposeViewModel.prototype.findIdentityIdByMessage = function (sComposeTyp
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if ('' === sResult)
|
||||||
|
{
|
||||||
|
sResult = this.defaultIdentityID();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('' === sResult)
|
||||||
{
|
{
|
||||||
sResult = RL.data().accountEmail();
|
sResult = RL.data().accountEmail();
|
||||||
}
|
}
|
||||||
|
|
@ -694,9 +699,9 @@ PopupsComposeViewModel.prototype.onShow = function (sType, oMessageOrArray, aToE
|
||||||
if (null !== mEmail)
|
if (null !== mEmail)
|
||||||
{
|
{
|
||||||
oExcludeEmail[mEmail] = true;
|
oExcludeEmail[mEmail] = true;
|
||||||
this.currentIdentityID(this.findIdentityIdByMessage(sComposeType, oMessage));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.currentIdentityID(this.findIdentityIdByMessage(sComposeType, oMessage));
|
||||||
this.reset();
|
this.reset();
|
||||||
|
|
||||||
if (Utils.isNonEmptyArray(aToEmails))
|
if (Utils.isNonEmptyArray(aToEmails))
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"name": "RainLoop",
|
"name": "RainLoop",
|
||||||
"title": "RainLoop Webmail",
|
"title": "RainLoop Webmail",
|
||||||
"version": "1.6.7",
|
"version": "1.6.8",
|
||||||
"release": "141",
|
"release": "151",
|
||||||
"description": "Simple, modern & fast web-based email client",
|
"description": "Simple, modern & fast web-based email client",
|
||||||
"homepage": "http://rainloop.net",
|
"homepage": "http://rainloop.net",
|
||||||
"main": "gulpfile.js",
|
"main": "gulpfile.js",
|
||||||
|
|
|
||||||
|
|
@ -1240,6 +1240,7 @@ class Actions
|
||||||
$aResult['ReplySameFolder'] = false;
|
$aResult['ReplySameFolder'] = false;
|
||||||
$aResult['Layout'] = \RainLoop\Enumerations\Layout::SIDE_PREVIEW;
|
$aResult['Layout'] = \RainLoop\Enumerations\Layout::SIDE_PREVIEW;
|
||||||
$aResult['UseCheckboxesInList'] = true;
|
$aResult['UseCheckboxesInList'] = true;
|
||||||
|
$aResult['DefaultIdentityID'] = '';
|
||||||
$aResult['DisplayName'] = '';
|
$aResult['DisplayName'] = '';
|
||||||
$aResult['ReplyTo'] = '';
|
$aResult['ReplyTo'] = '';
|
||||||
$aResult['Signature'] = '';
|
$aResult['Signature'] = '';
|
||||||
|
|
@ -1277,6 +1278,7 @@ class Actions
|
||||||
$aResult['UseCheckboxesInList'] = (bool) $oSettings->GetConf('UseCheckboxesInList', $aResult['UseCheckboxesInList']);
|
$aResult['UseCheckboxesInList'] = (bool) $oSettings->GetConf('UseCheckboxesInList', $aResult['UseCheckboxesInList']);
|
||||||
$aResult['InterfaceAnimation'] = (string) $oSettings->GetConf('InterfaceAnimation', $aResult['InterfaceAnimation']);
|
$aResult['InterfaceAnimation'] = (string) $oSettings->GetConf('InterfaceAnimation', $aResult['InterfaceAnimation']);
|
||||||
|
|
||||||
|
$aResult['DefaultIdentityID'] = $oSettings->GetConf('DefaultIdentityID', $oAccount ? $oAccount->Email() : $aResult['DefaultIdentityID']);
|
||||||
$aResult['DisplayName'] = $oSettings->GetConf('DisplayName', $aResult['DisplayName']);
|
$aResult['DisplayName'] = $oSettings->GetConf('DisplayName', $aResult['DisplayName']);
|
||||||
$aResult['ReplyTo'] = $oSettings->GetConf('ReplyTo', $aResult['ReplyTo']);
|
$aResult['ReplyTo'] = $oSettings->GetConf('ReplyTo', $aResult['ReplyTo']);
|
||||||
$aResult['Signature'] = $oSettings->GetConf('Signature', $aResult['Signature']);
|
$aResult['Signature'] = $oSettings->GetConf('Signature', $aResult['Signature']);
|
||||||
|
|
@ -1339,6 +1341,7 @@ class Actions
|
||||||
$aResult['PluginsLink'] = $sPluginsLink;
|
$aResult['PluginsLink'] = $sPluginsLink;
|
||||||
$aResult['EditorDefaultType'] = 'Html' === $aResult['EditorDefaultType'] ? 'Html' : 'Plain';
|
$aResult['EditorDefaultType'] = 'Html' === $aResult['EditorDefaultType'] ? 'Html' : 'Plain';
|
||||||
|
|
||||||
|
// IDN
|
||||||
$aResult['Email'] = \MailSo\Base\Utils::IdnToUtf8($aResult['Email']);
|
$aResult['Email'] = \MailSo\Base\Utils::IdnToUtf8($aResult['Email']);
|
||||||
$aResult['ParentEmail'] = \MailSo\Base\Utils::IdnToUtf8($aResult['ParentEmail']);
|
$aResult['ParentEmail'] = \MailSo\Base\Utils::IdnToUtf8($aResult['ParentEmail']);
|
||||||
$aResult['MailToEmail'] = \MailSo\Base\Utils::IdnToUtf8($aResult['MailToEmail']);
|
$aResult['MailToEmail'] = \MailSo\Base\Utils::IdnToUtf8($aResult['MailToEmail']);
|
||||||
|
|
@ -3430,6 +3433,7 @@ class Actions
|
||||||
$this->setSettingsFromParams($oSettings, 'ReplySameFolder', 'bool');
|
$this->setSettingsFromParams($oSettings, 'ReplySameFolder', 'bool');
|
||||||
$this->setSettingsFromParams($oSettings, 'UseCheckboxesInList', 'bool');
|
$this->setSettingsFromParams($oSettings, 'UseCheckboxesInList', 'bool');
|
||||||
|
|
||||||
|
$this->setSettingsFromParams($oSettings, 'DefaultIdentityID', 'string');
|
||||||
$this->setSettingsFromParams($oSettings, 'DisplayName', 'string');
|
$this->setSettingsFromParams($oSettings, 'DisplayName', 'string');
|
||||||
$this->setSettingsFromParams($oSettings, 'ReplyTo', 'string');
|
$this->setSettingsFromParams($oSettings, 'ReplyTo', 'string');
|
||||||
$this->setSettingsFromParams($oSettings, 'Signature', 'string');
|
$this->setSettingsFromParams($oSettings, 'Signature', 'string');
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,16 @@
|
||||||
<div class="legend g-ui-user-select-none">
|
<div class="legend g-ui-user-select-none">
|
||||||
<span class="i18n" data-i18n-text="SETTINGS_IDENTITIES/LEGEND_IDENTITY"></span>
|
<span class="i18n" data-i18n-text="SETTINGS_IDENTITIES/LEGEND_IDENTITY"></span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="control-group g-ui-user-select-none" data-bind="if: 0 < identities().length">
|
||||||
|
<label class="control-label" data-bind="i18nUpdate: identities">
|
||||||
|
<span class="i18n" data-i18n-text="SETTINGS_IDENTITIES/LABEL_DEFAULT"></span>
|
||||||
|
</label>
|
||||||
|
<div class="controls">
|
||||||
|
<select data-bind="options: identitiesOptions, value: defaultIdentityID,
|
||||||
|
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defautOptionsAfterRender, saveTrigger: defaultIdentityIDTrigger"></select>
|
||||||
|
<div data-bind="saveTrigger: defaultIdentityIDTrigger"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="control-group g-ui-user-select-none">
|
<div class="control-group g-ui-user-select-none">
|
||||||
<label class="control-label">
|
<label class="control-label">
|
||||||
<span class="i18n" data-i18n-text="SETTINGS_IDENTITIES/LABEL_DISPLAY_NAME"></span>
|
<span class="i18n" data-i18n-text="SETTINGS_IDENTITIES/LABEL_DISPLAY_NAME"></span>
|
||||||
|
|
|
||||||
|
|
@ -461,6 +461,7 @@ DELETING_ASK = "Sind Sie sicher?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identität"
|
LEGEND_IDENTITY = "Identität"
|
||||||
LEGEND_IDENTITIES = "Zusätzliche Identitäten"
|
LEGEND_IDENTITIES = "Zusätzliche Identitäten"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Name"
|
LABEL_DISPLAY_NAME = "Name"
|
||||||
LABEL_REPLY_TO = "Antwort an"
|
LABEL_REPLY_TO = "Antwort an"
|
||||||
LABEL_SIGNATURE = "Signatur"
|
LABEL_SIGNATURE = "Signatur"
|
||||||
|
|
|
||||||
|
|
@ -469,6 +469,7 @@ DELETING_ASK = "Are you sure?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identity"
|
LEGEND_IDENTITY = "Identity"
|
||||||
LEGEND_IDENTITIES = "Additional Identities"
|
LEGEND_IDENTITIES = "Additional Identities"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Name"
|
LABEL_DISPLAY_NAME = "Name"
|
||||||
LABEL_REPLY_TO = "Reply-To"
|
LABEL_REPLY_TO = "Reply-To"
|
||||||
LABEL_SIGNATURE = "Signature"
|
LABEL_SIGNATURE = "Signature"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "¿Está usted seguro?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identidad"
|
LEGEND_IDENTITY = "Identidad"
|
||||||
LEGEND_IDENTITIES = "Identidades adicionales"
|
LEGEND_IDENTITIES = "Identidades adicionales"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nombre"
|
LABEL_DISPLAY_NAME = "Nombre"
|
||||||
LABEL_REPLY_TO = "Responder a"
|
LABEL_REPLY_TO = "Responder a"
|
||||||
LABEL_SIGNATURE = "Firma"
|
LABEL_SIGNATURE = "Firma"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Êtes-vous sûr ?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identité"
|
LEGEND_IDENTITY = "Identité"
|
||||||
LEGEND_IDENTITIES = "Identités supplémentaires"
|
LEGEND_IDENTITIES = "Identités supplémentaires"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nom"
|
LABEL_DISPLAY_NAME = "Nom"
|
||||||
LABEL_REPLY_TO = "Répondre à"
|
LABEL_REPLY_TO = "Répondre à"
|
||||||
LABEL_SIGNATURE = "Signature"
|
LABEL_SIGNATURE = "Signature"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Biztosak vagyunk benne?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identitás"
|
LEGEND_IDENTITY = "Identitás"
|
||||||
LEGEND_IDENTITIES = "Additional Identities"
|
LEGEND_IDENTITIES = "Additional Identities"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Név"
|
LABEL_DISPLAY_NAME = "Név"
|
||||||
LABEL_REPLY_TO = "Reply-To"
|
LABEL_REPLY_TO = "Reply-To"
|
||||||
LABEL_SIGNATURE = "Aláírás"
|
LABEL_SIGNATURE = "Aláírás"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Ertu viss?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identity"
|
LEGEND_IDENTITY = "Identity"
|
||||||
LEGEND_IDENTITIES = "Additional Identities"
|
LEGEND_IDENTITIES = "Additional Identities"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nafn"
|
LABEL_DISPLAY_NAME = "Nafn"
|
||||||
LABEL_REPLY_TO = "Svara"
|
LABEL_REPLY_TO = "Svara"
|
||||||
LABEL_SIGNATURE = "Undirskrift"
|
LABEL_SIGNATURE = "Undirskrift"
|
||||||
|
|
|
||||||
|
|
@ -461,6 +461,7 @@ DELETING_ASK = "Ne sei sicuro?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identità"
|
LEGEND_IDENTITY = "Identità"
|
||||||
LEGEND_IDENTITIES = "Identità aggiuntive"
|
LEGEND_IDENTITIES = "Identità aggiuntive"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nome"
|
LABEL_DISPLAY_NAME = "Nome"
|
||||||
LABEL_REPLY_TO = "Rispondi a"
|
LABEL_REPLY_TO = "Rispondi a"
|
||||||
LABEL_SIGNATURE = "Firma"
|
LABEL_SIGNATURE = "Firma"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Are you sure?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identity"
|
LEGEND_IDENTITY = "Identity"
|
||||||
LEGEND_IDENTITIES = "Additional Identities"
|
LEGEND_IDENTITIES = "Additional Identities"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Name"
|
LABEL_DISPLAY_NAME = "Name"
|
||||||
LABEL_REPLY_TO = "Reply-To"
|
LABEL_REPLY_TO = "Reply-To"
|
||||||
LABEL_SIGNATURE = "Signature"
|
LABEL_SIGNATURE = "Signature"
|
||||||
|
|
|
||||||
|
|
@ -457,6 +457,7 @@ DELETING_ASK = "정말로 삭제하시겠습니까?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "신원"
|
LEGEND_IDENTITY = "신원"
|
||||||
LEGEND_IDENTITIES = "새 신원 추가"
|
LEGEND_IDENTITIES = "새 신원 추가"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "이름"
|
LABEL_DISPLAY_NAME = "이름"
|
||||||
LABEL_REPLY_TO = "답장"
|
LABEL_REPLY_TO = "답장"
|
||||||
LABEL_SIGNATURE = "서명"
|
LABEL_SIGNATURE = "서명"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Tiešām?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identity"
|
LEGEND_IDENTITY = "Identity"
|
||||||
LEGEND_IDENTITIES = "Additional Identities"
|
LEGEND_IDENTITIES = "Additional Identities"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Vārds"
|
LABEL_DISPLAY_NAME = "Vārds"
|
||||||
LABEL_REPLY_TO = "Atbildēt uz"
|
LABEL_REPLY_TO = "Atbildēt uz"
|
||||||
LABEL_SIGNATURE = "Paraksts"
|
LABEL_SIGNATURE = "Paraksts"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Ben je zeker?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identity"
|
LEGEND_IDENTITY = "Identity"
|
||||||
LEGEND_IDENTITIES = "Additional Identities"
|
LEGEND_IDENTITIES = "Additional Identities"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Naam"
|
LABEL_DISPLAY_NAME = "Naam"
|
||||||
LABEL_REPLY_TO = "Antwoorden naar"
|
LABEL_REPLY_TO = "Antwoorden naar"
|
||||||
LABEL_SIGNATURE = "Handtekening"
|
LABEL_SIGNATURE = "Handtekening"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Er du sikker?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identitet"
|
LEGEND_IDENTITY = "Identitet"
|
||||||
LEGEND_IDENTITIES = "Tilleggs Identities"
|
LEGEND_IDENTITIES = "Tilleggs Identities"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Navn"
|
LABEL_DISPLAY_NAME = "Navn"
|
||||||
LABEL_REPLY_TO = "Svar til"
|
LABEL_REPLY_TO = "Svar til"
|
||||||
LABEL_SIGNATURE = "Signatur"
|
LABEL_SIGNATURE = "Signatur"
|
||||||
|
|
|
||||||
|
|
@ -459,6 +459,7 @@ DELETING_ASK = "Czy na pewno usunąć?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Tożsamość"
|
LEGEND_IDENTITY = "Tożsamość"
|
||||||
LEGEND_IDENTITIES = "Dodatkowe Tożsamości"
|
LEGEND_IDENTITIES = "Dodatkowe Tożsamości"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nazwa"
|
LABEL_DISPLAY_NAME = "Nazwa"
|
||||||
LABEL_REPLY_TO = "Odp. do"
|
LABEL_REPLY_TO = "Odp. do"
|
||||||
LABEL_SIGNATURE = "Podpis"
|
LABEL_SIGNATURE = "Podpis"
|
||||||
|
|
|
||||||
|
|
@ -463,6 +463,7 @@ DELETING_ASK = "Você tem certeza?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identidade"
|
LEGEND_IDENTITY = "Identidade"
|
||||||
LEGEND_IDENTITIES = "Identidades adicionais"
|
LEGEND_IDENTITIES = "Identidades adicionais"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nome"
|
LABEL_DISPLAY_NAME = "Nome"
|
||||||
LABEL_REPLY_TO = "Reenviar para"
|
LABEL_REPLY_TO = "Reenviar para"
|
||||||
LABEL_SIGNATURE = "Assinatura"
|
LABEL_SIGNATURE = "Assinatura"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Você tem certeza?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identidade"
|
LEGEND_IDENTITY = "Identidade"
|
||||||
LEGEND_IDENTITIES = "Identidades adicionais"
|
LEGEND_IDENTITIES = "Identidades adicionais"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nome"
|
LABEL_DISPLAY_NAME = "Nome"
|
||||||
LABEL_REPLY_TO = "Reenviar para"
|
LABEL_REPLY_TO = "Reenviar para"
|
||||||
LABEL_SIGNATURE = "Assinatura"
|
LABEL_SIGNATURE = "Assinatura"
|
||||||
|
|
|
||||||
|
|
@ -459,6 +459,7 @@ DELETING_ASK = "Sunteți sigur?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Setările de profil de bază"
|
LEGEND_IDENTITY = "Setările de profil de bază"
|
||||||
LEGEND_IDENTITIES = "Profiluri suplimentare"
|
LEGEND_IDENTITIES = "Profiluri suplimentare"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Nume"
|
LABEL_DISPLAY_NAME = "Nume"
|
||||||
LABEL_REPLY_TO = "Răspunde la"
|
LABEL_REPLY_TO = "Răspunde la"
|
||||||
LABEL_SIGNATURE = "Semnătură"
|
LABEL_SIGNATURE = "Semnătură"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Точно?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Настройки основного профиля"
|
LEGEND_IDENTITY = "Настройки основного профиля"
|
||||||
LEGEND_IDENTITIES = "Дополнительные профили"
|
LEGEND_IDENTITIES = "Дополнительные профили"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Имя"
|
LABEL_DISPLAY_NAME = "Имя"
|
||||||
LABEL_REPLY_TO = "Отвечать на"
|
LABEL_REPLY_TO = "Отвечать на"
|
||||||
LABEL_SIGNATURE = "Подпись"
|
LABEL_SIGNATURE = "Подпись"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Ste si istý?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Identita"
|
LEGEND_IDENTITY = "Identita"
|
||||||
LEGEND_IDENTITIES = "Ďalšie identity"
|
LEGEND_IDENTITIES = "Ďalšie identity"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Meno"
|
LABEL_DISPLAY_NAME = "Meno"
|
||||||
LABEL_REPLY_TO = "Adresa pre odpoveď"
|
LABEL_REPLY_TO = "Adresa pre odpoveď"
|
||||||
LABEL_SIGNATURE = "Podpis"
|
LABEL_SIGNATURE = "Podpis"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "Впевнені?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "Налаштування основного профілю"
|
LEGEND_IDENTITY = "Налаштування основного профілю"
|
||||||
LEGEND_IDENTITIES = "Додаткові профілі"
|
LEGEND_IDENTITIES = "Додаткові профілі"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "Ім'я"
|
LABEL_DISPLAY_NAME = "Ім'я"
|
||||||
LABEL_REPLY_TO = "Відповідати на"
|
LABEL_REPLY_TO = "Відповідати на"
|
||||||
LABEL_SIGNATURE = "Підпис"
|
LABEL_SIGNATURE = "Підпис"
|
||||||
|
|
|
||||||
|
|
@ -460,6 +460,7 @@ DELETING_ASK = "确定?"
|
||||||
[SETTINGS_IDENTITIES]
|
[SETTINGS_IDENTITIES]
|
||||||
LEGEND_IDENTITY = "签名"
|
LEGEND_IDENTITY = "签名"
|
||||||
LEGEND_IDENTITIES = "附加签名"
|
LEGEND_IDENTITIES = "附加签名"
|
||||||
|
LABEL_DEFAULT = "Default"
|
||||||
LABEL_DISPLAY_NAME = "名称"
|
LABEL_DISPLAY_NAME = "名称"
|
||||||
LABEL_REPLY_TO = "回复"
|
LABEL_REPLY_TO = "回复"
|
||||||
LABEL_SIGNATURE = "签名"
|
LABEL_SIGNATURE = "签名"
|
||||||
|
|
|
||||||
|
|
@ -4906,6 +4906,8 @@ Selector.prototype.actionClick = function (oItem, oEvent)
|
||||||
{
|
{
|
||||||
this.focusedItem(oItem);
|
this.focusedItem(oItem);
|
||||||
this.selectedItem(oItem);
|
this.selectedItem(oItem);
|
||||||
|
|
||||||
|
this.scrollToFocused();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -8799,7 +8801,7 @@ function PopupsComposeViewModel()
|
||||||
this.composeEditorArea = ko.observable(null);
|
this.composeEditorArea = ko.observable(null);
|
||||||
|
|
||||||
this.identities = RL.data().identities;
|
this.identities = RL.data().identities;
|
||||||
|
this.defaultIdentityID = RL.data().defaultIdentityID;
|
||||||
this.currentIdentityID = ko.observable('');
|
this.currentIdentityID = ko.observable('');
|
||||||
|
|
||||||
this.currentIdentityString = ko.observable('');
|
this.currentIdentityString = ko.observable('');
|
||||||
|
|
@ -9141,7 +9143,6 @@ PopupsComposeViewModel.prototype.findIdentityIdByMessage = function (sComposeTyp
|
||||||
switch (sComposeType)
|
switch (sComposeType)
|
||||||
{
|
{
|
||||||
case Enums.ComposeType.Empty:
|
case Enums.ComposeType.Empty:
|
||||||
sResult = RL.data().accountEmail();
|
|
||||||
break;
|
break;
|
||||||
case Enums.ComposeType.Reply:
|
case Enums.ComposeType.Reply:
|
||||||
case Enums.ComposeType.ReplyAll:
|
case Enums.ComposeType.ReplyAll:
|
||||||
|
|
@ -9154,7 +9155,13 @@ PopupsComposeViewModel.prototype.findIdentityIdByMessage = function (sComposeTyp
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if ('' === sResult)
|
||||||
|
{
|
||||||
|
sResult = this.defaultIdentityID();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('' === sResult)
|
||||||
{
|
{
|
||||||
sResult = RL.data().accountEmail();
|
sResult = RL.data().accountEmail();
|
||||||
}
|
}
|
||||||
|
|
@ -9402,9 +9409,9 @@ PopupsComposeViewModel.prototype.onShow = function (sType, oMessageOrArray, aToE
|
||||||
if (null !== mEmail)
|
if (null !== mEmail)
|
||||||
{
|
{
|
||||||
oExcludeEmail[mEmail] = true;
|
oExcludeEmail[mEmail] = true;
|
||||||
this.currentIdentityID(this.findIdentityIdByMessage(sComposeType, oMessage));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.currentIdentityID(this.findIdentityIdByMessage(sComposeType, oMessage));
|
||||||
this.reset();
|
this.reset();
|
||||||
|
|
||||||
if (Utils.isNonEmptyArray(aToEmails))
|
if (Utils.isNonEmptyArray(aToEmails))
|
||||||
|
|
@ -14815,7 +14822,9 @@ function SettingsIdentities()
|
||||||
var oData = RL.data();
|
var oData = RL.data();
|
||||||
|
|
||||||
this.editor = null;
|
this.editor = null;
|
||||||
|
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
|
||||||
|
|
||||||
|
this.accountEmail = oData.accountEmail;
|
||||||
this.displayName = oData.displayName;
|
this.displayName = oData.displayName;
|
||||||
this.signature = oData.signature;
|
this.signature = oData.signature;
|
||||||
this.signatureToAll = oData.signatureToAll;
|
this.signatureToAll = oData.signatureToAll;
|
||||||
|
|
@ -14823,11 +14832,47 @@ function SettingsIdentities()
|
||||||
|
|
||||||
this.signatureDom = ko.observable(null);
|
this.signatureDom = ko.observable(null);
|
||||||
|
|
||||||
|
this.defaultIdentityIDTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
this.displayNameTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
this.displayNameTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
this.replyTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
this.replyTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
this.signatureTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||||
|
|
||||||
this.identities = oData.identities;
|
this.identities = oData.identities;
|
||||||
|
this.defaultIdentityID = oData.defaultIdentityID;
|
||||||
|
|
||||||
|
this.identitiesOptions = ko.computed(function () {
|
||||||
|
|
||||||
|
var
|
||||||
|
aList = this.identities(),
|
||||||
|
aResult = []
|
||||||
|
;
|
||||||
|
|
||||||
|
if (0 < aList.length)
|
||||||
|
{
|
||||||
|
aResult.push({
|
||||||
|
'id': this.accountEmail.peek(),
|
||||||
|
'name': this.formattedAccountIdentity(),
|
||||||
|
'seporator': false
|
||||||
|
});
|
||||||
|
|
||||||
|
aResult.push({
|
||||||
|
'id': '---',
|
||||||
|
'name': '---',
|
||||||
|
'seporator': true,
|
||||||
|
'disabled': true
|
||||||
|
});
|
||||||
|
|
||||||
|
_.each(aList, function (oItem) {
|
||||||
|
aResult.push({
|
||||||
|
'id': oItem.id,
|
||||||
|
'name': oItem.formattedNameForEmail(),
|
||||||
|
'seporator': false
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return aResult;
|
||||||
|
}, this);
|
||||||
|
|
||||||
this.processText = ko.computed(function () {
|
this.processText = ko.computed(function () {
|
||||||
return oData.identitiesLoading() ? Utils.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : '';
|
return oData.identitiesLoading() ? Utils.i18n('SETTINGS_IDENTITIES/LOADING_PROCESS') : '';
|
||||||
|
|
@ -14854,6 +14899,20 @@ function SettingsIdentities()
|
||||||
|
|
||||||
Utils.addSettingsViewModel(SettingsIdentities, 'SettingsIdentities', 'SETTINGS_LABELS/LABEL_IDENTITIES_NAME', 'identities');
|
Utils.addSettingsViewModel(SettingsIdentities, 'SettingsIdentities', 'SETTINGS_LABELS/LABEL_IDENTITIES_NAME', 'identities');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
|
SettingsIdentities.prototype.formattedAccountIdentity = function ()
|
||||||
|
{
|
||||||
|
var
|
||||||
|
sDisplayName = this.displayName.peek(),
|
||||||
|
sEmail = this.accountEmail.peek()
|
||||||
|
;
|
||||||
|
|
||||||
|
return '' === sDisplayName ? sEmail : '"' + Utils.quoteName(sDisplayName) + '" <' + sEmail + '>';
|
||||||
|
};
|
||||||
|
|
||||||
SettingsIdentities.prototype.addNewIdentity = function ()
|
SettingsIdentities.prototype.addNewIdentity = function ()
|
||||||
{
|
{
|
||||||
kn.showScreenPopup(PopupsIdentityViewModel);
|
kn.showScreenPopup(PopupsIdentityViewModel);
|
||||||
|
|
@ -14936,9 +14995,16 @@ SettingsIdentities.prototype.onBuild = function (oDom)
|
||||||
oData = RL.data(),
|
oData = RL.data(),
|
||||||
f1 = Utils.settingsSaveHelperSimpleFunction(self.displayNameTrigger, self),
|
f1 = Utils.settingsSaveHelperSimpleFunction(self.displayNameTrigger, self),
|
||||||
f2 = Utils.settingsSaveHelperSimpleFunction(self.replyTrigger, self),
|
f2 = Utils.settingsSaveHelperSimpleFunction(self.replyTrigger, self),
|
||||||
f3 = Utils.settingsSaveHelperSimpleFunction(self.signatureTrigger, self)
|
f3 = Utils.settingsSaveHelperSimpleFunction(self.signatureTrigger, self),
|
||||||
|
f4 = Utils.settingsSaveHelperSimpleFunction(self.defaultIdentityIDTrigger, self)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
oData.defaultIdentityID.subscribe(function (sValue) {
|
||||||
|
RL.remote().saveSettings(f4, {
|
||||||
|
'DefaultIdentityID': sValue
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
oData.displayName.subscribe(function (sValue) {
|
oData.displayName.subscribe(function (sValue) {
|
||||||
RL.remote().saveSettings(f1, {
|
RL.remote().saveSettings(f1, {
|
||||||
'DisplayName': sValue
|
'DisplayName': sValue
|
||||||
|
|
@ -15926,6 +15992,7 @@ function WebMailDataStorage()
|
||||||
this.accountsLoading = ko.observable(false).extend({'throttle': 100});
|
this.accountsLoading = ko.observable(false).extend({'throttle': 100});
|
||||||
|
|
||||||
// identities
|
// identities
|
||||||
|
this.defaultIdentityID = ko.observable('');
|
||||||
this.identities = ko.observableArray([]);
|
this.identities = ko.observableArray([]);
|
||||||
this.identitiesLoading = ko.observable(false).extend({'throttle': 100});
|
this.identitiesLoading = ko.observable(false).extend({'throttle': 100});
|
||||||
|
|
||||||
|
|
@ -16324,6 +16391,8 @@ WebMailDataStorage.prototype.populateDataOnStart = function()
|
||||||
this.accountOutLogin(RL.settingsGet('OutLogin'));
|
this.accountOutLogin(RL.settingsGet('OutLogin'));
|
||||||
this.projectHash(RL.settingsGet('ProjectHash'));
|
this.projectHash(RL.settingsGet('ProjectHash'));
|
||||||
|
|
||||||
|
this.defaultIdentityID(RL.settingsGet('DefaultIdentityID'));
|
||||||
|
|
||||||
this.displayName(RL.settingsGet('DisplayName'));
|
this.displayName(RL.settingsGet('DisplayName'));
|
||||||
this.replyTo(RL.settingsGet('ReplyTo'));
|
this.replyTo(RL.settingsGet('ReplyTo'));
|
||||||
this.signature(RL.settingsGet('Signature'));
|
this.signature(RL.settingsGet('Signature'));
|
||||||
|
|
|
||||||
18
rainloop/v/0.0.0/static/js/app.min.js
vendored
18
rainloop/v/0.0.0/static/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue