Capability improvements

Additional branding options
This commit is contained in:
RainLoop Team 2015-05-20 02:05:54 +04:00
parent 7fce424758
commit 763fae345b
46 changed files with 880 additions and 556 deletions

View file

@ -375,6 +375,11 @@
Globals.$html.toggleClass('rl-left-panel-disabled', bValue);
});
Globals.leftPanelType.subscribe(function (sValue) {
Globals.$html.toggleClass('rl-left-panel-none', 'none' === sValue);
Globals.$html.toggleClass('rl-left-panel-short', 'short' === sValue);
});
ssm.ready();
require('Stores/Language').populate();

View file

@ -1355,8 +1355,8 @@
kn.startScreens([
require('Screen/User/MailBox'),
require('Screen/User/Settings'),
require('Screen/User/About')
Settings.capa(Enums.Capa.Settings) ? require('Screen/User/Settings') : null,
false ? require('Screen/User/About') : null
]);
if (bGoogle || bFacebook || bTwitter)
@ -1435,7 +1435,9 @@
}, 1000);
}
if (!!Settings.settingsGet('AccountSignMe') && window.navigator.registerProtocolHandler)
if (!!Settings.settingsGet('AccountSignMe') &&
window.navigator.registerProtocolHandler &&
Settings.capa(Enums.Capa.Composer))
{
_.delay(function () {
try {

View file

@ -204,7 +204,10 @@
*/
CacheUserStorage.prototype.setFolderHash = function (sFolderFullNameRaw, sFolderHash)
{
this.oFolderHashCache[sFolderFullNameRaw] = sFolderHash;
if ('' !== sFolderFullNameRaw)
{
this.oFolderHashCache[sFolderFullNameRaw] = sFolderHash;
}
};
/**

View file

@ -72,6 +72,18 @@
'OpenPGP': 'OPEN_PGP',
'Prefetch': 'PREFETCH',
'Gravatar': 'GRAVATAR',
'Folders': 'FOLDERS',
'Composer': 'COMPOSER',
'Contacts': 'CONTACTS',
'Reload': 'RELOAD',
'Search': 'SEARCH',
'SearchAdv': 'SEARCH_ADV',
'MessageActions': 'MESSAGE_ACTIONS',
'MessageListActions': 'MESSAGELIST_ACTIONS',
'AttachmentsActions': 'ATTACHMENTS_ACTIONS',
'DangerousActions': 'DANGEROUS_ACTIONS',
'Settings': 'SETTINGS',
'Help': 'HELP',
'Themes': 'THEMES',
'UserBackground': 'USER_BACKGROUND',
'Sieve': 'SIEVE',

View file

@ -208,6 +208,7 @@
};
Globals.leftPanelDisabled = ko.observable(false);
Globals.leftPanelType = ko.observable('');
// popups
Globals.popupVisibilityNames = ko.observableArray([]);

View file

@ -394,11 +394,13 @@
};
/**
* @param {boolean} bXAuth = false
* @return {string}
*/
Links.prototype.socialGoogle = function ()
Links.prototype.socialGoogle = function (bXAuth)
{
return this.sServer + 'SocialGoogle' + ('' !== this.sAuthSuffix ? '/' + this.subQueryPrefix() + '/' + this.sAuthSuffix + '/' : '');
return this.sServer + 'SocialGoogle' + ('' !== this.sAuthSuffix ? '/' + this.subQueryPrefix() + '/' + this.sAuthSuffix + '/' : '') +
(bXAuth ? '&xauth=1' : '');
};
/**

View file

@ -150,6 +150,11 @@
{
if (sMailToUrl && 'mailto:' === sMailToUrl.toString().substr(0, 7).toLowerCase())
{
if (!PopupComposeVoreModel)
{
return true;
}
sMailToUrl = sMailToUrl.toString().substr(7);
var

View file

@ -427,19 +427,22 @@
_.each(aScreensClasses, function (CScreen) {
var
oScreen = new CScreen(),
sScreenName = oScreen ? oScreen.screenName() : ''
;
if (oScreen && '' !== sScreenName)
if (CScreen)
{
if ('' === this.sDefaultScreenName)
{
this.sDefaultScreenName = sScreenName;
}
var
oScreen = new CScreen(),
sScreenName = oScreen ? oScreen.screenName() : ''
;
this.oScreens[sScreenName] = oScreen;
if (oScreen && '' !== sScreenName)
{
if ('' === this.sDefaultScreenName)
{
this.sDefaultScreenName = sScreenName;
}
this.oScreens[sScreenName] = oScreen;
}
}
}, this);

View file

@ -20,6 +20,8 @@
FolderStore = require('Stores/User/Folder'),
MessageStore = require('Stores/User/Message'),
Settings = require('Storage/Settings'),
AbstractScreen = require('Knoin/AbstractScreen')
;
@ -64,6 +66,16 @@
AppStore.focusedState(Enums.Focused.None);
AppStore.focusedState(Enums.Focused.MessageList);
if (!Settings.capa(Enums.Capa.Folders))
{
Globals.leftPanelType(
Settings.capa(Enums.Capa.Composer) || Settings.capa(Enums.Capa.Contacts) ? 'short' : 'none');
}
else
{
Globals.leftPanelType('');
}
};
/**

View file

@ -47,6 +47,16 @@
*/
SettingsUserScreen.prototype.setupSettings = function (fCallback)
{
if (!Settings.capa(Enums.Capa.Settings))
{
if (fCallback)
{
fCallback();
}
return false;
}
kn.addSettingsViewModel(require('Settings/User/General'),
'SettingsGeneral', 'SETTINGS_LABELS/LABEL_GENERAL_NAME', 'general', true);
@ -96,8 +106,11 @@
'SettingsTemplates', 'SETTINGS_LABELS/LABEL_TEMPLATES_NAME', 'templates');
}
kn.addSettingsViewModel(require('Settings/User/Folders'),
'SettingsFolders', 'SETTINGS_LABELS/LABEL_FOLDERS_NAME', 'folders');
if (Settings.capa(Enums.Capa.Folders))
{
kn.addSettingsViewModel(require('Settings/User/Folders'),
'SettingsFolders', 'SETTINGS_LABELS/LABEL_FOLDERS_NAME', 'folders');
}
if (Settings.capa(Enums.Capa.Themes))
{
@ -117,12 +130,15 @@
{
fCallback();
}
return true;
};
SettingsUserScreen.prototype.onShow = function ()
{
this.setSettingsTitle();
Globals.keyScope(Enums.KeyState.Settings);
Globals.leftPanelType('');
};
SettingsUserScreen.prototype.setSettingsTitle = function ()

View file

@ -39,6 +39,9 @@
this.userLogo = ko.observable(Settings.settingsGet('UserLogo') || '');
this.userLogo.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
this.userLogoMessage = ko.observable(Settings.settingsGet('UserLogoMessage') || '');
this.userLogoMessage.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
this.userLogoTitle = ko.observable(Settings.settingsGet('UserLogoTitle') || '');
this.userLogoTitle.trigger = ko.observable(Enums.SaveSettingsStep.Idle);

View file

@ -188,7 +188,7 @@
/**/
}
html.rl-left-panel-disabled {
html.rl-left-panel-disabled, html.rl-left-panel-short {
.btn.buttonContacts {
margin-top: 10px !important;
margin-left: 0 !important;

View file

@ -205,6 +205,28 @@ html.rl-left-panel-disabled {
}
}
html.rl-left-panel-short {
#rl-left {
width: 60px !important;
}
#rl-right {
left: 60px !important;
}
}
html.rl-left-panel-none {
#rl-left {
width: 10px !important;
}
#rl-right {
left: 10px !important;
}
}
.ui-resizable-helper-w {
border-right: 5px solid #777;
border-right-color: rgba(255,255,255,0.7);

View file

@ -53,6 +53,10 @@ html.rl-no-preview-pane {
}
}
.logoPlace {
text-align: center;
}
.b-message-view-desc {
text-align: center;
font-size: 24px;

View file

@ -89,6 +89,7 @@
this.resizerTrigger = _.bind(this.resizerTrigger, this);
this.allowContacts = !!AppStore.contactsIsAllowed();
this.allowFolders = !!Settings.capa(Enums.Capa.Folders);
this.bSkipNextHide = false;
this.composeInEdit = AppStore.composeInEdit;
@ -321,7 +322,7 @@
}
}, this));
this.canBeSendedOrSaved = ko.computed(function () {
this.canBeSentOrSaved = ko.computed(function () {
return !this.sending() && !this.saving();
}, this);
@ -375,6 +376,11 @@
}
}
if (!this.allowFolders)
{
sSentFolder = Consts.Values.UnuseOptionValue;
}
if ('' === sSentFolder)
{
kn.showScreenPopup(require('View/Popup/FolderSystem'), [Enums.SetSystemFoldersNotification.Sent]);
@ -432,10 +438,16 @@
);
}
}
}, this.canBeSendedOrSaved);
}, this.canBeSentOrSaved);
this.saveCommand = Utils.createCommand(this, function () {
if (!this.allowFolders)
{
return false;
}
if (FolderStore.draftFolderNotEnabled())
{
kn.showScreenPopup(require('View/Popup/FolderSystem'), [Enums.SetSystemFoldersNotification.Draft]);
@ -470,7 +482,7 @@
);
}
}, this.canBeSendedOrSaved);
}, this.canBeSentOrSaved);
this.skipCommand = Utils.createCommand(this, function () {
@ -484,7 +496,7 @@
this.tryToClosePopup();
}, this.canBeSendedOrSaved);
}, this.canBeSentOrSaved);
this.contactsCommand = Utils.createCommand(this, function () {
@ -635,7 +647,7 @@
sDraftFolder = FolderStore.draftFolder()
;
if ('' !== sDraftFolder)
if ('' !== sDraftFolder && Consts.Values.UnuseOptionValue !== sDraftFolder)
{
Cache.setFolderHash(sDraftFolder, '');
if (FolderStore.currentFolderFullNameRaw() === sDraftFolder)
@ -1413,10 +1425,13 @@
return false;
});
key('ctrl+s, command+s', Enums.KeyState.Compose, function () {
self.saveCommand();
return false;
});
if (this.allowFolders)
{
key('ctrl+s, command+s', Enums.KeyState.Compose, function () {
self.saveCommand();
return false;
});
}
if (!!Settings.settingsGet('AllowCtrlEnterOnCompose'))
{

View file

@ -21,6 +21,8 @@
SettingsStore = require('Stores/User/Settings'),
ContactStore = require('Stores/User/Contact'),
Settings = require('Storage/Settings'),
Remote = require('Remote/User/Ajax'),
EmailModel = require('Model/Email'),
@ -237,6 +239,12 @@
});
this.newMessageCommand = Utils.createCommand(this, function () {
if (!Settings.capa(Enums.Capa.Composer))
{
return false;
}
var
aE = [],
aC = this.contactsCheckedOrSelected(),
@ -772,7 +780,10 @@
{
this.bBackToCompose = false;
kn.showScreenPopup(require('View/Popup/Compose'));
if (Settings.capa(Enums.Capa.Composer))
{
kn.showScreenPopup(require('View/Popup/Compose'));
}
}
};

View file

@ -33,6 +33,9 @@
this.logoImg = Utils.trim(Settings.settingsGet('UserLogo'));
this.logoTitle = Utils.trim(Settings.settingsGet('UserLogoTitle'));
this.allowSettings = !!Settings.capa(Enums.Capa.Settings);
this.allowHelp = !!Settings.capa(Enums.Capa.Help);
this.currentAudio = AppStore.currentAudio;
this.accountEmail = AccountStore.email;
@ -84,12 +87,18 @@
AbstractSystemDropDownUserView.prototype.settingsClick = function ()
{
require('Knoin/Knoin').setHash(Links.settings());
if (Settings.capa(Enums.Capa.Settings))
{
require('Knoin/Knoin').setHash(Links.settings());
}
};
AbstractSystemDropDownUserView.prototype.settingsHelp = function ()
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/KeyboardShortcutsHelp'));
if (Settings.capa(Enums.Capa.Help))
{
require('Knoin/Knoin').showScreenPopup(require('View/Popup/KeyboardShortcutsHelp'));
}
};
AbstractSystemDropDownUserView.prototype.addAccountClick = function ()

View file

@ -306,6 +306,17 @@
return !this.submitRequest() && this.googleLoginEnabled();
});
this.googleXAuthCommand = Utils.createCommand(this, function () {
window.open(Links.socialGoogle(true), 'Google',
'left=200,top=100,width=650,height=450,menubar=no,status=no,resizable=yes,scrollbars=yes');
return true;
}, function () {
return !this.submitRequest() && this.googleLoginEnabled();
});
this.twitterLoginEnabled = ko.observable(false);
this.twitterCommand = Utils.createCommand(this, function () {

View file

@ -22,6 +22,8 @@
FolderStore = require('Stores/User/Folder'),
MessageStore = require('Stores/User/Message'),
Settings = require('Storage/Settings'),
kn = require('Knoin/Knoin'),
AbstractView = require('Knoin/AbstractView')
;
@ -50,7 +52,9 @@
this.iDropOverTimer = 0;
this.allowComposer = !!Settings.capa(Enums.Capa.Composer);
this.allowContacts = !!AppStore.contactsIsAllowed();
this.allowFolders = !!Settings.capa(Enums.Capa.Folders);
this.folderListFocused = ko.computed(function () {
return Enums.Focused.FolderList === AppStore.focusedState();
@ -259,7 +263,10 @@
FolderListMailBoxUserView.prototype.composeClick = function ()
{
kn.showScreenPopup(require('View/Popup/Compose'));
if (Settings.capa(Enums.Capa.Composer))
{
kn.showScreenPopup(require('View/Popup/Compose'));
}
};
FolderListMailBoxUserView.prototype.createFolder = function ()

View file

@ -48,7 +48,12 @@
this.bPrefetch = false;
this.emptySubjectValue = '';
this.hideDangerousActions = !!Settings.settingsGet('HideDangerousActions');
this.allowReload = !!Settings.capa(Enums.Capa.Reload);
this.allowSearch = !!Settings.capa(Enums.Capa.Search);
this.allowSearchAdv = !!Settings.capa(Enums.Capa.SearchAdv);
this.allowComposer = !!Settings.capa(Enums.Capa.Composer);
this.allowMessageListActions = !!Settings.capa(Enums.Capa.MessageListActions);
this.allowDangerousActions = !!Settings.capa(Enums.Capa.DangerousActions);
this.popupVisibility = Globals.popupVisibility;
@ -200,18 +205,27 @@
this.canBeMoved = this.hasCheckedOrSelectedLines;
this.clearCommand = Utils.createCommand(this, function () {
kn.showScreenPopup(require('View/Popup/FolderClear'), [FolderStore.currentFolder()]);
if (Settings.capa(Enums.Capa.DangerousActions))
{
kn.showScreenPopup(require('View/Popup/FolderClear'), [FolderStore.currentFolder()]);
}
});
this.multyForwardCommand = Utils.createCommand(this, function () {
kn.showScreenPopup(require('View/Popup/Compose'), [
Enums.ComposeType.ForwardAsAttachment, MessageStore.messageListCheckedOrSelected()]);
if (Settings.capa(Enums.Capa.Composer))
{
kn.showScreenPopup(require('View/Popup/Compose'), [
Enums.ComposeType.ForwardAsAttachment, MessageStore.messageListCheckedOrSelected()]);
}
}, this.canBeMoved);
this.deleteWithoutMoveCommand = Utils.createCommand(this, function () {
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash,
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), false);
if (Settings.capa(Enums.Capa.DangerousActions))
{
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash,
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(), false);
}
}, this.canBeMoved);
this.deleteCommand = Utils.createCommand(this, function () {
@ -241,7 +255,7 @@
this.moveCommand = Utils.createCommand(this, Utils.emptyFunction, this.canBeMoved);
this.reloadCommand = Utils.createCommand(this, function () {
if (!MessageStore.messageListCompleteLoadingThrottleForAnimation())
if (!MessageStore.messageListCompleteLoadingThrottleForAnimation() && this.allowReload)
{
require('App/User').reloadMessageList(false, true);
}
@ -718,37 +732,43 @@
}
});
// archive (zip)
key('z', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.archiveCommand();
return false;
});
// delete
key('delete, shift+delete, shift+3', Enums.KeyState.MessageList, function (event, handler) {
if (event)
{
if (0 < MessageStore.messageListCheckedOrSelected().length)
{
if (handler && 'shift+delete' === handler.shortcut)
{
self.deleteWithoutMoveCommand();
}
else
{
self.deleteCommand();
}
}
if (Settings.capa(Enums.Capa.MessageListActions))
{
// archive (zip)
key('z', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.archiveCommand();
return false;
}
});
});
// check mail
key('ctrl+r, command+r', [Enums.KeyState.FolderList, Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.reloadCommand();
return false;
});
// delete
key('delete, shift+delete, shift+3', Enums.KeyState.MessageList, function (event, handler) {
if (event)
{
if (0 < MessageStore.messageListCheckedOrSelected().length)
{
if (handler && 'shift+delete' === handler.shortcut)
{
self.deleteWithoutMoveCommand();
}
else
{
self.deleteCommand();
}
}
return false;
}
});
}
if (Settings.capa(Enums.Capa.Reload))
{
// check mail
key('ctrl+r, command+r', [Enums.KeyState.FolderList, Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.reloadCommand();
return false;
});
}
// check all
key('ctrl+a, command+a', Enums.KeyState.MessageList, function () {
@ -756,17 +776,23 @@
return false;
});
// write/compose (open compose popup)
key('w,c', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
kn.showScreenPopup(require('View/Popup/Compose'));
return false;
});
if (Settings.capa(Enums.Capa.Composer))
{
// write/compose (open compose popup)
key('w,c', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
kn.showScreenPopup(require('View/Popup/Compose'));
return false;
});
}
// important - star/flag messages
key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.flagMessagesFast();
return false;
});
if (Settings.capa(Enums.Capa.MessageListActions))
{
// important - star/flag messages
key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.flagMessagesFast();
return false;
});
}
key('t', [Enums.KeyState.MessageList], function () {
@ -784,34 +810,46 @@
return false;
});
// move
key('m', Enums.KeyState.MessageList, function () {
self.moveDropdownTrigger(true);
return false;
});
if (Settings.capa(Enums.Capa.MessageListActions))
{
// move
key('m', Enums.KeyState.MessageList, function () {
self.moveDropdownTrigger(true);
return false;
});
}
// read
key('q', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.seenMessagesFast(true);
return false;
});
if (Settings.capa(Enums.Capa.MessageListActions))
{
// read
key('q', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.seenMessagesFast(true);
return false;
});
// unread
key('u', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.seenMessagesFast(false);
return false;
});
// unread
key('u', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.seenMessagesFast(false);
return false;
});
}
key('shift+f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.multyForwardCommand();
return false;
});
if (Settings.capa(Enums.Capa.Composer))
{
key('shift+f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.multyForwardCommand();
return false;
});
}
// search input focus
key('/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.inputMessageListSearchFocus(true);
return false;
});
if (Settings.capa(Enums.Capa.Search))
{
// search input focus
key('/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () {
self.inputMessageListSearchFocus(true);
return false;
});
}
// cancel search
key('esc', Enums.KeyState.MessageList, function () {
@ -887,12 +925,18 @@
MessageListMailBoxUserView.prototype.composeClick = function ()
{
kn.showScreenPopup(require('View/Popup/Compose'));
if (Settings.capa(Enums.Capa.Composer))
{
kn.showScreenPopup(require('View/Popup/Compose'));
}
};
MessageListMailBoxUserView.prototype.advancedSearchClick = function ()
{
kn.showScreenPopup(require('View/Popup/AdvancedSearch'));
if (Settings.capa(Enums.Capa.SearchAdv))
{
kn.showScreenPopup(require('View/Popup/AdvancedSearch'));
}
};
MessageListMailBoxUserView.prototype.quotaTooltip = function ()

View file

@ -34,6 +34,7 @@
MessageStore = require('Stores/User/Message'),
Local = require('Storage/Client'),
Settings = require('Storage/Settings'),
Remote = require('Remote/User/Ajax'),
Promises = require('Promises/User/Ajax'),
@ -67,6 +68,12 @@
this.pswp = null;
this.allowComposer = !!Settings.capa(Enums.Capa.Composer);
this.allowMessageActions = !!Settings.capa(Enums.Capa.MessageActions);
this.allowMessageListActions = !!Settings.capa(Enums.Capa.MessageListActions);
this.logoImg = Utils.trim(Settings.settingsGet('UserLogoMessage'));
this.attachmentsActions = AppStore.attachmentsActions;
this.message = MessageStore.message;
@ -92,18 +99,21 @@
this.showAttachmnetControls = ko.observable(false);
this.allowAttachmnetControls = ko.computed(function () {
return 0 < this.attachmentsActions().length;
return 0 < this.attachmentsActions().length &&
Settings.capa(Enums.Capa.AttachmentsActions);
}, this);
this.downloadAsZipAllowed = ko.computed(function () {
return -1 < Utils.inArray('zip', this.attachmentsActions());
return -1 < Utils.inArray('zip', this.attachmentsActions()) &&
this.allowAttachmnetControls();
}, this);
this.downloadAsZipLoading = ko.observable(false);
this.downloadAsZipError = ko.observable(false).extend({'falseTimeout': 7000});
this.saveToOwnCloudAllowed = ko.computed(function () {
return -1 < Utils.inArray('owncloud', this.attachmentsActions());
return -1 < Utils.inArray('owncloud', this.attachmentsActions()) &&
this.allowAttachmnetControls();
}, this);
this.saveToOwnCloudLoading = ko.observable(false);
@ -125,7 +135,8 @@
}, this);
this.saveToDropboxAllowed = ko.computed(function () {
return -1 < Utils.inArray('dropbox', this.attachmentsActions());
return -1 < Utils.inArray('dropbox', this.attachmentsActions()) &&
this.allowAttachmnetControls();
}, this);
this.saveToDropboxLoading = ko.observable(false);
@ -214,7 +225,7 @@
this.deleteCommand = Utils.createCommand(this, function () {
var oMessage = this.message();
if (oMessage)
if (oMessage && this.allowMessageListActions)
{
this.message(null);
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash,
@ -224,7 +235,7 @@
this.deleteWithoutMoveCommand = Utils.createCommand(this, function () {
var oMessage = this.message();
if (oMessage)
if (oMessage && this.allowMessageListActions)
{
this.message(null);
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Trash,
@ -234,7 +245,7 @@
this.archiveCommand = Utils.createCommand(this, function () {
var oMessage = this.message();
if (oMessage)
if (oMessage && this.allowMessageListActions)
{
this.message(null);
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Archive,
@ -244,7 +255,7 @@
this.spamCommand = Utils.createCommand(this, function () {
var oMessage = this.message();
if (oMessage)
if (oMessage && this.allowMessageListActions)
{
this.message(null);
require('App/User').deleteMessagesFromFolder(Enums.FolderType.Spam,
@ -254,7 +265,7 @@
this.notSpamCommand = Utils.createCommand(this, function () {
var oMessage = this.message();
if (oMessage)
if (oMessage && this.allowMessageListActions)
{
this.message(null);
require('App/User').deleteMessagesFromFolder(Enums.FolderType.NotSpam,
@ -521,7 +532,10 @@
*/
MessageViewMailBoxUserView.prototype.replyOrforward = function (sType)
{
kn.showScreenPopup(require('View/Popup/Compose'), [sType, MessageStore.message()]);
if (Settings.capa(Enums.Capa.Composer))
{
kn.showScreenPopup(require('View/Popup/Compose'), [sType, MessageStore.message()]);
}
};
MessageViewMailBoxUserView.prototype.checkHeaderHeight = function ()
@ -692,7 +706,8 @@
oDom
.on('click', 'a', function (oEvent) {
// setup maito protocol
return !(!!oEvent && 3 !== oEvent['which'] && Utils.mailToHelper($(this).attr('href'), require('View/Popup/Compose')));
return !(!!oEvent && 3 !== oEvent['which'] && Utils.mailToHelper($(this).attr('href'),
Settings.capa(Enums.Capa.Composer) ? require('View/Popup/Compose') : null));
})
// .on('mouseover', 'a', _.debounce(function (oEvent) {
//
@ -1013,12 +1028,15 @@
MessageViewMailBoxUserView.prototype.composeClick = function ()
{
kn.showScreenPopup(require('View/Popup/Compose'));
if (Settings.capa(Enums.Capa.Composer))
{
kn.showScreenPopup(require('View/Popup/Compose'));
}
};
MessageViewMailBoxUserView.prototype.editMessage = function ()
{
if (MessageStore.message())
if (Settings.capa(Enums.Capa.Composer) && MessageStore.message())
{
kn.showScreenPopup(require('View/Popup/Compose'), [Enums.ComposeType.Draft, MessageStore.message()]);
}