Sound notification

Additional code refactoring
This commit is contained in:
RainLoop Team 2015-01-27 01:06:00 +04:00
parent b42ce01e7e
commit aa84077ac4
87 changed files with 1573 additions and 574 deletions

View file

@ -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);
}

View file

@ -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('');

View file

@ -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)
{

View file

@ -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();

View file

@ -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);

View file

@ -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')

View file

@ -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();
};

View file

@ -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);

View file

@ -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);
}

View file

@ -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
});
};

View file

@ -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;