mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-30 04:29:21 +03:00
Sound notification
Additional code refactoring
This commit is contained in:
parent
b42ce01e7e
commit
aa84077ac4
87 changed files with 1573 additions and 574 deletions
|
|
@ -8,7 +8,6 @@
|
|||
ko = require('ko'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/Admin/Data'),
|
||||
Remote = require('Storage/Admin/Remote'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
|
|
@ -26,9 +25,20 @@
|
|||
this.adminDomain = ko.observable(Settings.settingsGet('AdminDomain'));
|
||||
this.version = ko.observable(Settings.settingsGet('Version'));
|
||||
|
||||
this.adminManLoadingVisibility = Data.adminManLoadingVisibility;
|
||||
this.capa = !!Settings.settingsGet('PremType');
|
||||
|
||||
this.adminManLoading = ko.computed(function () {
|
||||
return '000' !== [
|
||||
require('Stores/Admin/Domain').collection.loading() ? '1' : '0',
|
||||
require('Stores/Admin/Plugin').collection.loading() ? '1' : '0',
|
||||
require('Stores/Admin/Package').collection.loading() ? '1' : '0'
|
||||
].join('');
|
||||
}, this);
|
||||
|
||||
this.adminManLoadingVisibility = ko.computed(function () {
|
||||
return this.adminManLoading() ? 'visible' : 'hidden';
|
||||
}, this).extend({'rateLimit': 300});
|
||||
|
||||
kn.constructorEnd(this);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
Translator = require('Common/Translator'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/Admin/Data'),
|
||||
Remote = require('Storage/Admin/Remote'),
|
||||
LicenseStore = require('Stores/Admin/License'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
AbstractView = require('Knoin/AbstractView')
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
this.key.focus = ko.observable(false);
|
||||
this.activationSuccessed = ko.observable(false);
|
||||
|
||||
this.licenseTrigger = Data.licenseTrigger;
|
||||
this.licenseTrigger = LicenseStore.licenseTrigger;
|
||||
|
||||
this.activateProcess = ko.observable(false);
|
||||
this.activateText = ko.observable('');
|
||||
|
|
|
|||
|
|
@ -21,8 +21,9 @@
|
|||
HtmlEditor = require('Common/HtmlEditor'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
AppStore = require('Stores/User/App'),
|
||||
SettingsUserStore = require('Stores/User/Settings'),
|
||||
SocialStore = require('Stores/Social'),
|
||||
UserSettingsStore = require('Stores/UserSettings'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/User/Data'),
|
||||
|
|
@ -51,7 +52,7 @@
|
|||
|
||||
this.bCapaAdditionalIdentities = Settings.capa(Enums.Capa.AdditionalIdentities);
|
||||
|
||||
this.allowContacts = !!Settings.settingsGet('ContactsIsAllowed');
|
||||
this.allowContacts = !!AppStore.contactsIsAllowed();
|
||||
|
||||
var
|
||||
self = this,
|
||||
|
|
@ -65,7 +66,7 @@
|
|||
|
||||
this.bSkipNextHide = false;
|
||||
this.composeInEdit = Data.composeInEdit;
|
||||
this.editorDefaultType = UserSettingsStore.editorDefaultType;
|
||||
this.editorDefaultType = SettingsUserStore.editorDefaultType;
|
||||
|
||||
this.capaOpenPGP = Data.capaOpenPGP;
|
||||
|
||||
|
|
@ -280,7 +281,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
if (Data.replySameFolder())
|
||||
if (SettingsUserStore.replySameFolder())
|
||||
{
|
||||
if (Utils.isArray(this.aDraftInfo) && 3 === this.aDraftInfo.length && Utils.isNormal(this.aDraftInfo[2]) && 0 < this.aDraftInfo[2].length)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
Links = require('Common/Links'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
SettingsUserStore = require('Stores/User/Settings'),
|
||||
|
||||
Data = require('Storage/User/Data'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
||||
|
|
@ -173,7 +175,7 @@
|
|||
|
||||
this.viewSaving = ko.observable(false);
|
||||
|
||||
this.useCheckboxesInList = Data.useCheckboxesInList;
|
||||
this.useCheckboxesInList = SettingsUserStore.useCheckboxesInList;
|
||||
|
||||
this.search.subscribe(function () {
|
||||
this.reloadContactList();
|
||||
|
|
|
|||
|
|
@ -11,8 +11,9 @@
|
|||
Consts = require('Common/Consts'),
|
||||
Utils = require('Common/Utils'),
|
||||
|
||||
CapaAdminStore = require('Stores/Admin/Capa'),
|
||||
|
||||
Remote = require('Storage/Admin/Remote'),
|
||||
Settings = require('Storage/Settings'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
AbstractView = require('Knoin/AbstractView')
|
||||
|
|
@ -63,7 +64,7 @@
|
|||
this.name = ko.observable('');
|
||||
this.name.focused = ko.observable(false);
|
||||
|
||||
this.allowSieve = ko.observable(Settings.capa(Enums.Capa.Sieve));
|
||||
this.allowSieve = CapaAdminStore.sieve;
|
||||
|
||||
this.imapServer = ko.observable('');
|
||||
this.imapPort = ko.observable('' + Consts.Values.ImapDefaulPort);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
Data = require('Storage/User/Data'),
|
||||
|
||||
FilterStore = require('Stores/Filter'),
|
||||
FilterStore = require('Stores/User/Filter'),
|
||||
|
||||
kn = require('Knoin/Knoin'),
|
||||
AbstractView = require('Knoin/AbstractView')
|
||||
|
|
|
|||
|
|
@ -21,12 +21,12 @@
|
|||
{
|
||||
AbstractView.call(this, 'Popups', 'PopupsLanguages');
|
||||
|
||||
this.UserSettingsStore = require('Stores/UserSettings');
|
||||
this.LanguageStore = require('Stores/Language');
|
||||
|
||||
this.exp = ko.observable(false);
|
||||
|
||||
this.languages = ko.computed(function () {
|
||||
return _.map(this.UserSettingsStore.languages(), function (sLanguage) {
|
||||
return _.map(this.LanguageStore.languages(), function (sLanguage) {
|
||||
return {
|
||||
'key': sLanguage,
|
||||
'selected': ko.observable(false),
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
});
|
||||
}, this);
|
||||
|
||||
this.UserSettingsStore.language.subscribe(function () {
|
||||
this.LanguageStore.language.subscribe(function () {
|
||||
this.resetMainLanguage();
|
||||
}, this);
|
||||
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
|
||||
LanguagesPopupView.prototype.resetMainLanguage = function ()
|
||||
{
|
||||
var sCurrent = this.UserSettingsStore.language();
|
||||
var sCurrent = this.LanguageStore.language();
|
||||
_.each(this.languages(), function (oItem) {
|
||||
oItem['selected'](oItem['key'] === sCurrent);
|
||||
});
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
|
||||
LanguagesPopupView.prototype.changeLanguage = function (sLang)
|
||||
{
|
||||
this.UserSettingsStore.language(sLang);
|
||||
this.LanguageStore.language(sLang);
|
||||
this.cancelCommand();
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@
|
|||
|
||||
Plugins = require('Common/Plugins'),
|
||||
|
||||
UserSettingsStore = require('Stores/UserSettings'),
|
||||
LanguageStore = require('Stores/Language'),
|
||||
AppStore = require('Stores/User/App'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Data = require('Storage/User/Data'),
|
||||
|
|
@ -88,10 +89,10 @@
|
|||
}
|
||||
}, this);
|
||||
|
||||
this.allowLanguagesOnLogin = Data.allowLanguagesOnLogin;
|
||||
this.allowLanguagesOnLogin = AppStore.allowLanguagesOnLogin;
|
||||
|
||||
this.langRequest = ko.observable(false);
|
||||
this.language = UserSettingsStore.language;
|
||||
this.language = LanguageStore.language;
|
||||
|
||||
this.bSendLanguage = false;
|
||||
|
||||
|
|
@ -307,7 +308,7 @@
|
|||
|
||||
if (Settings.settingsGet('UserLanguage'))
|
||||
{
|
||||
$.cookie('rllang', UserSettingsStore.language(), {'expires': 30});
|
||||
$.cookie('rllang', LanguageStore.language(), {'expires': 30});
|
||||
}
|
||||
|
||||
}, this), 100);
|
||||
|
|
@ -376,7 +377,7 @@
|
|||
}
|
||||
|
||||
_.delay(function () {
|
||||
UserSettingsStore.language.subscribe(function (sValue) {
|
||||
LanguageStore.language.subscribe(function (sValue) {
|
||||
|
||||
self.langRequest(true);
|
||||
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@
|
|||
Globals = require('Common/Globals'),
|
||||
Links = require('Common/Links'),
|
||||
|
||||
UserSettingsStore = require('Stores/UserSettings'),
|
||||
AppStore = require('Stores/User/App'),
|
||||
SettingsUserStore = require('Stores/User/Settings'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
Data = require('Storage/User/Data'),
|
||||
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
this.iDropOverTimer = 0;
|
||||
|
||||
this.allowContacts = !!Settings.settingsGet('ContactsIsAllowed');
|
||||
this.allowContacts = !!AppStore.contactsIsAllowed();
|
||||
|
||||
kn.constructorEnd(this);
|
||||
}
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
|
||||
if (oFolder)
|
||||
{
|
||||
if (Enums.Layout.NoPreview === UserSettingsStore.layout())
|
||||
if (Enums.Layout.NoPreview === SettingsUserStore.layout())
|
||||
{
|
||||
Data.message(null);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
Selector = require('Common/Selector'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
QuotaStore = require('Stores/Quota'),
|
||||
UserSettingsStore = require('Stores/UserSettings'),
|
||||
QuotaStore = require('Stores/User/Quota'),
|
||||
SettingsStore = require('Stores/User/Settings'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
this.messageListError = Data.messageListError;
|
||||
this.folderMenuForMove = Data.folderMenuForMove;
|
||||
|
||||
this.useCheckboxesInList = Data.useCheckboxesInList;
|
||||
this.useCheckboxesInList = SettingsStore.useCheckboxesInList;
|
||||
|
||||
this.mainMessageListSearch = Data.mainMessageListSearch;
|
||||
this.messageListEndFolder = Data.messageListEndFolder;
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
this.dragOverBodyArea = ko.observable(null);
|
||||
|
||||
this.messageListItemTemplate = ko.computed(function () {
|
||||
return Enums.Layout.SidePreview === UserSettingsStore.layout() ?
|
||||
return Enums.Layout.SidePreview === SettingsStore.layout() ?
|
||||
'MailMessageListItem' : 'MailMessageListItemNoPreviewPane';
|
||||
});
|
||||
|
||||
|
|
@ -231,7 +231,7 @@
|
|||
Data.message(Data.staticMessageList.populateByMessageListItem(oMessage));
|
||||
this.populateMessageBody(Data.message());
|
||||
|
||||
if (Enums.Layout.NoPreview === UserSettingsStore.layout())
|
||||
if (Enums.Layout.NoPreview === SettingsStore.layout())
|
||||
{
|
||||
kn.setHash(Links.messagePreview(), true);
|
||||
Data.message.focused(true);
|
||||
|
|
@ -251,11 +251,11 @@
|
|||
this.selector.scrollToTop();
|
||||
}, this);
|
||||
|
||||
UserSettingsStore.layout.subscribe(function (mValue) {
|
||||
SettingsStore.layout.subscribe(function (mValue) {
|
||||
this.selector.autoSelect(Enums.Layout.NoPreview !== mValue);
|
||||
}, this);
|
||||
|
||||
UserSettingsStore.layout.valueHasMutated();
|
||||
SettingsStore.layout.valueHasMutated();
|
||||
|
||||
Events
|
||||
.sub('mailbox.message-list.selector.go-down', function () {
|
||||
|
|
@ -815,14 +815,12 @@
|
|||
return false;
|
||||
});
|
||||
|
||||
// TODO
|
||||
key('ctrl+left, command+left', Enums.KeyState.MessageView, function () {
|
||||
return false;
|
||||
return false; // TODO
|
||||
});
|
||||
|
||||
// TODO
|
||||
key('ctrl+right, command+right', Enums.KeyState.MessageView, function () {
|
||||
return false;
|
||||
return false; // TODO
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@
|
|||
Events = require('Common/Events'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
UserSettingsStore = require('Stores/UserSettings'),
|
||||
SettingsUserStore = require('Stores/User/Settings'),
|
||||
|
||||
Local = require('Storage/Local'),
|
||||
Local = require('Storage/Client'),
|
||||
Cache = require('Storage/User/Cache'),
|
||||
Data = require('Storage/User/Data'),
|
||||
Remote = require('Storage/User/Remote'),
|
||||
|
|
@ -62,10 +62,10 @@
|
|||
this.messageLoading = Data.messageLoading;
|
||||
this.messageLoadingThrottle = Data.messageLoadingThrottle;
|
||||
this.messagesBodiesDom = Data.messagesBodiesDom;
|
||||
this.useThreads = Data.useThreads;
|
||||
this.replySameFolder = Data.replySameFolder;
|
||||
this.layout = UserSettingsStore.layout;
|
||||
this.usePreviewPane = UserSettingsStore.usePreviewPane;
|
||||
this.useThreads = SettingsUserStore.useThreads;
|
||||
this.replySameFolder = SettingsUserStore.replySameFolder;
|
||||
this.layout = SettingsUserStore.layout;
|
||||
this.usePreviewPane = SettingsUserStore.usePreviewPane;
|
||||
this.isMessageSelected = Data.isMessageSelected;
|
||||
this.messageActiveDom = Data.messageActiveDom;
|
||||
this.messageError = Data.messageError;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue