diff --git a/dev/Admin/Contacts.js b/dev/Admin/Contacts.js index 6d89d53d7..b527ce0a2 100644 --- a/dev/Admin/Contacts.js +++ b/dev/Admin/Contacts.js @@ -54,7 +54,7 @@ function AdminContacts() return { 'id': sValue, 'name': getTypeName(sValue) + (bDisabled ? ' (not supported)' : ''), - 'disable': bDisabled + 'disabled': bDisabled }; }); diff --git a/dev/Admin/Plugins.js b/dev/Admin/Plugins.js index dd6e87591..db4dcbcc9 100644 --- a/dev/Admin/Plugins.js +++ b/dev/Admin/Plugins.js @@ -47,7 +47,7 @@ AdminPlugins.prototype.onBuild = function (oDom) self.configurePlugin(oPlugin); } }) - .on('click', '.e-item .disable-plugin', function () { + .on('click', '.e-item .disabled-plugin', function () { var oPlugin = ko.dataFor(this); if (oPlugin) { diff --git a/dev/Boots/RainLoopApp.js b/dev/Boots/RainLoopApp.js index 09f9e9fd2..b46502993 100644 --- a/dev/Boots/RainLoopApp.js +++ b/dev/Boots/RainLoopApp.js @@ -820,7 +820,7 @@ RainLoopApp.prototype.folderListOptionsBuilder = function (aSystem, aList, aDisa aResult.push({ 'id': aHeaderLines[iIndex][0], 'name': aHeaderLines[iIndex][1], - 'disable': false + 'disabled': false }); } @@ -833,7 +833,7 @@ RainLoopApp.prototype.folderListOptionsBuilder = function (aSystem, aList, aDisa 'id': oItem.fullNameRaw, 'system': true, 'name': fRenameCallback ? fRenameCallback.call(null, oItem) : oItem.name(), - 'disable': !oItem.selectable || -1 < Utils.inArray(oItem.fullNameRaw, aDisabled) || + 'disabled': !oItem.selectable || -1 < Utils.inArray(oItem.fullNameRaw, aDisabled) || (fDisableCallback ? fDisableCallback.call(null, oItem) : false) }); } @@ -853,7 +853,7 @@ RainLoopApp.prototype.folderListOptionsBuilder = function (aSystem, aList, aDisa 'system': false, 'name': (new window.Array(oItem.deep + 1 - iUnDeep)).join(sDeepPrefix) + (fRenameCallback ? fRenameCallback.call(null, oItem) : oItem.name()), - 'disable': !oItem.selectable || -1 < Utils.inArray(oItem.fullNameRaw, aDisabled) || + 'disabled': !oItem.selectable || -1 < Utils.inArray(oItem.fullNameRaw, aDisabled) || (Enums.FolderType.User !== oItem.type()) || (fDisableCallback ? fDisableCallback.call(null, oItem) : false) }); diff --git a/dev/Common/Enums.js b/dev/Common/Enums.js index c5bd51697..7fc7ed718 100644 --- a/dev/Common/Enums.js +++ b/dev/Common/Enums.js @@ -37,6 +37,7 @@ Enums.KeyState = { 'MessageList': 'message-list', 'MessageView': 'message-view', 'Compose': 'compose', + 'Settings': 'settings', 'Menu': 'menu', 'PopupComposeOpenPGP': 'compose-open-pgp', 'PopupAsk': 'popup-ask' diff --git a/dev/Common/Globals.js b/dev/Common/Globals.js index bf1eef267..e6eca73a6 100644 --- a/dev/Common/Globals.js +++ b/dev/Common/Globals.js @@ -10,6 +10,11 @@ Globals.now = (new Date()).getTime(); */ Globals.momentTrigger = ko.observable(true); +/** + * @type {?} + */ +Globals.dropdownVisibility = ko.observable(false); + /** * @type {?} */ diff --git a/dev/Common/Knockout.js b/dev/Common/Knockout.js index f21d814ca..0954888ca 100644 --- a/dev/Common/Knockout.js +++ b/dev/Common/Knockout.js @@ -8,7 +8,7 @@ ko.bindingHandlers.tooltip = { sClass = $(oElement).data('tooltip-class') || '', sPlacement = $(oElement).data('tooltip-placement') || 'top' ; - + $(oElement).tooltip({ 'delay': { 'show': 500, @@ -46,7 +46,54 @@ ko.bindingHandlers.tooltip2 = { } }; -ko.bindingHandlers.dropdown = { +ko.__detectDropdownVisibility = _.debounce(function ($el) { + Globals.dropdownVisibility(!!$el.hasClass('open')); +}, 50); + +ko.bindingHandlers.dropdownOpenStatus = { + 'init': function (oElement) { + var $el = $(oElement); + + $el.find('.dropdown-toggle').click(function () { + ko.__detectDropdownVisibility($el); + }); + +// $el.on('.dropdown-menu .menuitem', 'click', function () { +// $el.removeClass('open'); +// ko.__detectDropdownVisibility($el); +// }); + +// $el.on('.dropdown-menu .menuitem', 'keydown', function (oEvent) { +// if (oEvent && Enums.EventKeyCode.Esc === oEvent.keyCode) +// { +// $el.removeClass('open'); +// ko.__detectDropdownVisibility($el); +// } +// }); + + $html.on('click.dropdown.data-api', function () { + ko.__detectDropdownVisibility($el); + }); + } +}; + +ko.bindingHandlers.openDropdownTrigger = { + 'update': function (oElement, fValueAccessor) { + if (ko.utils.unwrapObservable(fValueAccessor())) + { + var $el = $(oElement); + if (!$el.hasClass('open')) + { + $el.find('.dropdown-toggle').dropdown('toggle'); + ko.__detectDropdownVisibility($el); + } + + fValueAccessor()(false); + } + } +}; + +ko.bindingHandlers.dropdownCloser = { 'init': function (oElement) { $(oElement).closest('.dropdown').on('click', '.e-item', function () { $(oElement).dropdown('toggle'); diff --git a/dev/Common/Utils.js b/dev/Common/Utils.js index b76e4dadd..2d287d4ac 100644 --- a/dev/Common/Utils.js +++ b/dev/Common/Utils.js @@ -1370,10 +1370,10 @@ Utils.draggeblePlace = function () Utils.defautOptionsAfterRender = function (oOption, oItem) { - if (oItem && !Utils.isUnd(oItem.disable)) + if (oItem && !Utils.isUnd(oItem.disabled)) { ko.applyBindingsToNode(oOption, { - 'disable': oItem.disable + 'disabled': oItem.disabled }, oItem); } }; diff --git a/dev/Screens/MailBox.js b/dev/Screens/MailBox.js index 37ae2affa..123cb9a5c 100644 --- a/dev/Screens/MailBox.js +++ b/dev/Screens/MailBox.js @@ -40,11 +40,6 @@ MailBoxScreen.prototype.onShow = function () RL.data().keyScope(Enums.KeyState.MessageList); }; -MailBoxScreen.prototype.onHide = function () -{ - RL.data().keyScope(Enums.KeyState.All); -}; - /** * @param {string} sFolderHash * @param {number} iPage @@ -131,17 +126,6 @@ MailBoxScreen.prototype.onStart = function () }, this); }; -//MailBoxScreen.prototype.onBuild = function () -//{ -// if (!Globals.bMobileDevice) -// { -// _.defer(function () { -// Utils.initLayoutResizer('#rl-resizer-left', '#rl-resizer-right', '#rl-right', -// 350, 800, 350, 350, Enums.ClientSideKeyName.MailBoxListSize); -// }); -// } -//}; - /** * @return {Array} */ diff --git a/dev/Screens/Settings.js b/dev/Screens/Settings.js index 191022348..5e20e0017 100644 --- a/dev/Screens/Settings.js +++ b/dev/Screens/Settings.js @@ -24,6 +24,7 @@ _.extend(SettingsScreen.prototype, AbstractSettings.prototype); SettingsScreen.prototype.onShow = function () { // AbstractSettings.prototype.onShow.call(this); - + RL.setTitle(this.sSettingsTitle); + RL.data().keyScope(Enums.KeyState.Settings); }; diff --git a/dev/Storages/AbstractData.js b/dev/Storages/AbstractData.js index 72d44f443..0a617d7d9 100644 --- a/dev/Storages/AbstractData.js +++ b/dev/Storages/AbstractData.js @@ -5,22 +5,55 @@ */ function AbstractData() { - this.keyScope = ko.observable(Enums.KeyState.All); - this.keyScope.subscribe(function (sValue) { + this.keyScopeReal = ko.observable(Enums.KeyState.All); + this.keyScopeFake = ko.observable(Enums.KeyState.All); + + this.keyScope = ko.computed({ + 'owner': this, + 'read': function () { + return this.keyScopeFake(); + }, + 'write': function (sValue) { - if (Enums.KeyState.Compose === sValue) - { - Utils.disableKeyFilter(); - } - else - { - Utils.restoreKeyFilter(); - } + if (Enums.KeyState.Menu !== sValue) + { + if (Enums.KeyState.Compose === sValue) + { + Utils.disableKeyFilter(); + } + else + { + Utils.restoreKeyFilter(); + } -// window.console.log(sValue); + this.keyScopeFake(sValue); + if (Globals.dropdownVisibility()) + { + sValue = Enums.KeyState.Menu; + } + } + +// window.console.log(sValue + '/' + this.keyScopeFake()); + this.keyScopeReal(sValue); + } + }); + + this.keyScopeReal.subscribe(function (sValue) { + window.console.log(sValue); key.setScope(sValue); }); + Globals.dropdownVisibility.subscribe(function (bValue) { + if (bValue) + { + this.keyScope(Enums.KeyState.Menu); + } + else if (Enums.KeyState.Menu === key.getScope()) + { + this.keyScope(this.keyScopeFake()); + } + }, this); + Utils.initDataConstructorBySettings(this); } diff --git a/dev/Storages/WebMailData.js b/dev/Storages/WebMailData.js index 2f2191f00..dde1815f8 100644 --- a/dev/Storages/WebMailData.js +++ b/dev/Storages/WebMailData.js @@ -39,17 +39,6 @@ function WebMailDataStorage() this.projectHash = ko.observable(''); this.threading = ko.observable(false); - this.accountMenuFocus = ko.observable(false); - this.accountMenuFocus.sKeyState = Enums.KeyState.All; - - this.accountMenuFocus.subscribe(function (bValue) { - if (bValue) - { - this.accountMenuFocus.sKeyState = RL.data().keyScope(); - } - RL.data().keyScope(bValue ? Enums.KeyState.Menu : this.accountMenuFocus.sKeyState); - }, this); - this.lastFoldersHash = ''; this.remoteSuggestions = false; @@ -288,7 +277,14 @@ function WebMailDataStorage() }, this); this.message.focused.subscribe(function (bValue) { - RL.data().keyScope(bValue ? Enums.KeyState.MessageView : Enums.KeyState.MessageList); + if (bValue) + { + RL.data().keyScope(Enums.KeyState.MessageView); + } + else if (Enums.KeyState.MessageView === RL.data().keyScope()) + { + RL.data().keyScope(Enums.KeyState.MessageList); + } }); this.messageLoading.subscribe(function (bValue) { diff --git a/dev/Styles/AdminDomains.less b/dev/Styles/AdminDomains.less index bf10bc53c..97be35875 100644 --- a/dev/Styles/AdminDomains.less +++ b/dev/Styles/AdminDomains.less @@ -1,60 +1,60 @@ - -.b-admin-domains { - .process-place { - width: 600px; - padding: 14px 0; - text-align: center; - visibility: hidden; - } -} - -.b-admin-domains-list-table { - - width: 600px; - - .e-item { - - .e-action { - cursor: pointer; - } - - .domain-name { - display: inline-block; - word-break: break-all; - .box-sizing(border-box); - } - - &.disabled .domain-name { - color: #bbb; - } - - .button-delete { - margin-right: 15px; - visibility: hidden; - .opacity(0); - } - - .delete-access { - &.button-delete { - visibility: visible; - margin-right: 0; - .opacity(100); - } - } - - .delete-domain, .disable-domain { - cursor: pointer; - .opacity(50); - } - - &.disabled .disable-domain { - .opacity(50); - } - - .delete-domain, .disable-domain { - &:hover { - .opacity(100); - } - } - } -} + +.b-admin-domains { + .process-place { + width: 600px; + padding: 14px 0; + text-align: center; + visibility: hidden; + } +} + +.b-admin-domains-list-table { + + width: 600px; + + .e-item { + + .e-action { + cursor: pointer; + } + + .domain-name { + display: inline-block; + word-break: break-all; + .box-sizing(border-box); + } + + &.disabled .domain-name { + color: #bbb; + } + + .button-delete { + margin-right: 15px; + visibility: hidden; + .opacity(0); + } + + .delete-access { + &.button-delete { + visibility: visible; + margin-right: 0; + .opacity(100); + } + } + + .delete-domain, .disabled-domain { + cursor: pointer; + .opacity(50); + } + + &.disabled .disabled-domain { + .opacity(50); + } + + .delete-domain, .disabled-domain { + &:hover { + .opacity(100); + } + } + } +} diff --git a/dev/Styles/AdminPlugins.less b/dev/Styles/AdminPlugins.less index e66c75d45..c9216db07 100644 --- a/dev/Styles/AdminPlugins.less +++ b/dev/Styles/AdminPlugins.less @@ -26,7 +26,7 @@ .plugin-img, .plugin-name { color: #bbb; } - .disable-plugin { + .disabled-plugin { .opacity(50); } } diff --git a/dev/Styles/Compose.less b/dev/Styles/Compose.less index d29f2a101..ac98ad59a 100644 --- a/dev/Styles/Compose.less +++ b/dev/Styles/Compose.less @@ -31,7 +31,7 @@ .opacity(100); } - .btn.disable { + .btn.disabled { &.button-delete { visibility: hidden; } @@ -41,7 +41,7 @@ margin-left: 8px; } - .disable.button-delete { + .disabled.button-delete { margin-left: 0px; } } diff --git a/dev/Styles/Shortcuts.less b/dev/Styles/Shortcuts.less index 1edf6c99f..db63404cb 100644 --- a/dev/Styles/Shortcuts.less +++ b/dev/Styles/Shortcuts.less @@ -1,5 +1,10 @@ .popups { .b-shortcuts-content { + + &.modal { + width: 1025px; + } + .modal-header { background-color: #fff; } diff --git a/dev/Styles/Ui.less b/dev/Styles/Ui.less index 46c236b7d..da1f95934 100644 --- a/dev/Styles/Ui.less +++ b/dev/Styles/Ui.less @@ -69,14 +69,14 @@ color: #fff; } - .e-item.disable > .e-link { + .e-item.disabled > .e-link { cursor: not-allowed; background-color: #fff; background-image: none; color: grey; } - .e-item.disable [class^="icon-"] { + .e-item.disabled [class^="icon-"] { color: grey; } } diff --git a/dev/ViewModels/AbstractSystemDropDownViewModel.js b/dev/ViewModels/AbstractSystemDropDownViewModel.js index 95a5e7b6f..841a072f2 100644 --- a/dev/ViewModels/AbstractSystemDropDownViewModel.js +++ b/dev/ViewModels/AbstractSystemDropDownViewModel.js @@ -13,8 +13,9 @@ function AbstractSystemDropDownViewModel() this.accounts = oData.accounts; this.accountEmail = oData.accountEmail; this.accountsLoading = oData.accountsLoading; - this.accountMenuFocus = oData.accountMenuFocus; - + + this.accountMenuDropdownTrigger = ko.observable(false); + this.allowAddAccount = RL.settingsGet('AllowAdditionalAccounts'); this.loading = ko.computed(function () { @@ -22,14 +23,6 @@ function AbstractSystemDropDownViewModel() }, this); this.accountClick = _.bind(this.accountClick, this); - - key('`', function () { - if (oData.useKeyboardShortcuts() && !RL.popupVisibility() && - !oData.accountMenuFocus()) - { - oData.accountMenuFocus(true); - } - }); } _.extend(AbstractSystemDropDownViewModel.prototype, KnoinAbstractViewModel.prototype); @@ -76,4 +69,15 @@ AbstractSystemDropDownViewModel.prototype.logoutClick = function () RL.loginAndLogoutReload(true, RL.settingsGet('ParentEmail') && 0 < RL.settingsGet('ParentEmail').length); }); -}; \ No newline at end of file +}; + +AbstractSystemDropDownViewModel.prototype.onBuild = function () +{ + var self = this; + key('`', [Enums.KeyState.MessageList, Enums.KeyState.MessageView, Enums.KeyState.Settings], function () { + if (RL.data().useKeyboardShortcuts() && !RL.popupVisibility() && !Globals.dropdownVisibility() && self.viewModelVisibility()) + { + self.accountMenuDropdownTrigger(true); + } + }); +}; diff --git a/dev/ViewModels/MailBoxMessageListViewModel.js b/dev/ViewModels/MailBoxMessageListViewModel.js index e508ff337..a0768b62d 100644 --- a/dev/ViewModels/MailBoxMessageListViewModel.js +++ b/dev/ViewModels/MailBoxMessageListViewModel.js @@ -42,6 +42,9 @@ function MailBoxMessageListViewModel() this.userUsageSize = oData.userUsageSize; this.userUsageProc = oData.userUsageProc; + this.moveDropdownTrigger = ko.observable(false); + this.moreDropdownTrigger = ko.observable(false); + // append drag and drop this.dragOver = ko.observable(false).extend({'throttle': 1}); this.dragOverEnter = ko.observable(false).extend({'throttle': 1}); @@ -518,7 +521,7 @@ MailBoxMessageListViewModel.prototype.flagMessages = function (oCurrentMessage) } }; -MailBoxMessageListViewModel.prototype.flagMessagesFast = function () +MailBoxMessageListViewModel.prototype.flagMessagesFast = function (bFlag) { var aChecked = this.messageListCheckedOrSelected(), @@ -531,24 +534,43 @@ MailBoxMessageListViewModel.prototype.flagMessagesFast = function () return oMessage.flagged(); }); - this.setAction(aChecked[0].folderFullNameRaw, - aChecked.length === aFlagged.length ? Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked); + if (Utils.isUnd(bFlag)) + { + this.setAction(aChecked[0].folderFullNameRaw, + aChecked.length === aFlagged.length ? Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked); + } + else + { + this.setAction(aChecked[0].folderFullNameRaw, + !bFlag ? Enums.MessageSetAction.UnsetFlag : Enums.MessageSetAction.SetFlag, aChecked); + } } }; -MailBoxMessageListViewModel.prototype.seenMessagesFast = function () +MailBoxMessageListViewModel.prototype.seenMessagesFast = function (bSeen) { var aChecked = this.messageListCheckedOrSelected(), aUnseen = [] ; - aUnseen = _.filter(aChecked, function (oMessage) { - return oMessage.unseen(); - }); + if (0 < aChecked.length) + { + aUnseen = _.filter(aChecked, function (oMessage) { + return oMessage.unseen(); + }); - this.setAction(aChecked[0].folderFullNameRaw, - 0 < aUnseen.length ? Enums.MessageSetAction.SetSeen : Enums.MessageSetAction.UnsetSeen, aChecked); + if (Utils.isUnd(bSeen)) + { + this.setAction(aChecked[0].folderFullNameRaw, + 0 < aUnseen.length ? Enums.MessageSetAction.SetSeen : Enums.MessageSetAction.UnsetSeen, aChecked); + } + else + { + this.setAction(aChecked[0].folderFullNameRaw, + bSeen ? Enums.MessageSetAction.SetSeen : Enums.MessageSetAction.UnsetSeen, aChecked); + } + } }; MailBoxMessageListViewModel.prototype.onBuild = function (oDom) @@ -648,6 +670,14 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function () } }); + key('z', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { + if (oData.useKeyboardShortcuts()) + { + self.moreDropdownTrigger(true); + return false; + } + }); + // delete key('delete, shift+delete', Enums.KeyState.MessageList, function (event, handler) { if (oData.useKeyboardShortcuts() && event) @@ -677,8 +707,8 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function () } }); - // new message (open compose popup) - key('c,n', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { + // write/compose (open compose popup) + key('w,c', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { if (oData.useKeyboardShortcuts()) { kn.showScreenPopup(PopupsComposeViewModel); @@ -686,8 +716,8 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function () } }); - // star/flag messages - key('s', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { + // important - star/flag messages + key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { if (oData.useKeyboardShortcuts()) { self.flagMessagesFast(); @@ -695,11 +725,29 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function () } }); - // mark as read/unread - key('m', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { + // move + key('m', Enums.KeyState.MessageList, function () { if (oData.useKeyboardShortcuts()) { - self.seenMessagesFast(); + self.moveDropdownTrigger(true); + return false; + } + }); + + // read + key('q', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { + if (oData.useKeyboardShortcuts()) + { + self.seenMessagesFast(true); + return false; + } + }); + + // unread + key('u', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { + if (oData.useKeyboardShortcuts()) + { + self.seenMessagesFast(false); return false; } }); diff --git a/dev/ViewModels/MailBoxMessageViewViewModel.js b/dev/ViewModels/MailBoxMessageViewViewModel.js index 3c24eb504..d3191c5d3 100644 --- a/dev/ViewModels/MailBoxMessageViewViewModel.js +++ b/dev/ViewModels/MailBoxMessageViewViewModel.js @@ -40,6 +40,7 @@ function MailBoxMessageViewViewModel() this.fullScreenMode = oData.messageFullScreenMode; this.showFullInfo = ko.observable(false); + this.moreDropdownTrigger = ko.observable(false); this.messageDomFocused = ko.observable(false).extend({'rateLimit': 0}); this.messageVisibility = ko.computed(function () { @@ -360,6 +361,13 @@ MailBoxMessageViewViewModel.prototype.onBuild = function (oDom) this.messageDomFocused(!!bValue); }, this); + this.messageDomFocused.subscribe(function (bValue) { + if (!bValue && Enums.KeyState.MessageView === this.keyScope()) + { + this.message.focused(false); + } + }, this); + this.keyScope.subscribe(function (sValue) { if (Enums.KeyState.MessageView === sValue && this.message.focused()) { @@ -384,10 +392,14 @@ MailBoxMessageViewViewModel.prototype.escShortcuts = function () { this.fullScreenMode(false); } - else + else if (Enums.Layout.NoPreview === RL.data().layout()) { this.message(null); } + else + { + this.message.focused(false); + } return false; } @@ -412,6 +424,14 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function () } }); + key('x', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { + if (oData.useKeyboardShortcuts()) + { + self.moreDropdownTrigger(true); + return false; + } + }); + // reply key('r', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { if (oData.useKeyboardShortcuts() && oData.message()) @@ -440,13 +460,13 @@ MailBoxMessageViewViewModel.prototype.initShortcuts = function () }); // message information - key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { - if (oData.useKeyboardShortcuts()) - { - self.showFullInfo(!self.showFullInfo()); - return false; - } - }); +// key('i', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { +// if (oData.useKeyboardShortcuts()) +// { +// self.showFullInfo(!self.showFullInfo()); +// return false; +// } +// }); // toggle message blockquotes key('b', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { diff --git a/dev/ViewModels/SettingsPaneViewModel.js b/dev/ViewModels/SettingsPaneViewModel.js index 79d0961c1..2eb2df876 100644 --- a/dev/ViewModels/SettingsPaneViewModel.js +++ b/dev/ViewModels/SettingsPaneViewModel.js @@ -13,6 +13,17 @@ function SettingsPaneViewModel() Utils.extendAsViewModel('SettingsPaneViewModel', SettingsPaneViewModel); +SettingsPaneViewModel.prototype.onBuild = function () +{ + var self = this; + key('esc', Enums.KeyState.Settings, function () { + if (RL.data().useKeyboardShortcuts()) + { + self.backToMailBoxClick(); + } + }); +}; + SettingsPaneViewModel.prototype.onShow = function () { RL.data().message(null); diff --git a/rainloop/v/0.0.0/app/templates/Themes/custom-values-dark.less b/rainloop/v/0.0.0/app/templates/Themes/custom-values-dark.less index ece02a71b..243ea9842 100644 --- a/rainloop/v/0.0.0/app/templates/Themes/custom-values-dark.less +++ b/rainloop/v/0.0.0/app/templates/Themes/custom-values-dark.less @@ -21,7 +21,7 @@ @dropdown-menu-background-color: #fff; @dropdown-menu-hover-background-color: #48525C; @dropdown-menu-hover-color: #eee; -@dropdown-menu-disable-color: #999; +@dropdown-menu-disabled-color: #999; // FOLDERS @folders-color: #fff; diff --git a/rainloop/v/0.0.0/app/templates/Themes/custom-values-light.less b/rainloop/v/0.0.0/app/templates/Themes/custom-values-light.less index 7b0eef25b..fc90b675a 100644 --- a/rainloop/v/0.0.0/app/templates/Themes/custom-values-light.less +++ b/rainloop/v/0.0.0/app/templates/Themes/custom-values-light.less @@ -20,7 +20,7 @@ @dropdown-menu-background-color: #fff; @dropdown-menu-hover-background-color: #757575; @dropdown-menu-hover-color: #eee; -@dropdown-menu-disable-color: #999; +@dropdown-menu-disabled-color: #999; // FOLDERS @folders-color: #000; diff --git a/rainloop/v/0.0.0/app/templates/Themes/template.less b/rainloop/v/0.0.0/app/templates/Themes/template.less index 987d20f4a..4ac9d62d2 100644 --- a/rainloop/v/0.0.0/app/templates/Themes/template.less +++ b/rainloop/v/0.0.0/app/templates/Themes/template.less @@ -98,12 +98,12 @@ } } -.g-ui-menu .e-item.disable > .e-link, .g-ui-menu .e-item.disable > .e-link:hover { - color: @dropdown-menu-disable-color !important; +.g-ui-menu .e-item.disabled > .e-link, .g-ui-menu .e-item.disabled > .e-link:hover { + color: @dropdown-menu-disabled-color !important; background-color: @dropdown-menu-background-color !important; > i { - color: @dropdown-menu-disable-color !important; + color: @dropdown-menu-disabled-color !important; } } diff --git a/rainloop/v/0.0.0/app/templates/Themes/values.less b/rainloop/v/0.0.0/app/templates/Themes/values.less index 29a574821..05ba5c5ec 100644 --- a/rainloop/v/0.0.0/app/templates/Themes/values.less +++ b/rainloop/v/0.0.0/app/templates/Themes/values.less @@ -24,7 +24,7 @@ @dropdown-menu-background-color: #fff; @dropdown-menu-hover-background-color: #444; @dropdown-menu-hover-color: #eee; -@dropdown-menu-disable-color: #999; +@dropdown-menu-disabled-color: #999; @dropdown-menu-selected-background-color: #eee; // FOLDERS diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomainListItem.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomainListItem.html index 804041246..6b1c1ed9a 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomainListItem.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomainListItem.html @@ -1,20 +1,20 @@ - - - - - - - Are you sure? - - - - - - - - - - - - + + + + + + + Are you sure? + + + + + + + + + + + + \ No newline at end of file diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPluginListItem.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPluginListItem.html index 9ba955e81..a83b1a492 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPluginListItem.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPluginListItem.html @@ -4,7 +4,7 @@ - + diff --git a/rainloop/v/0.0.0/app/templates/Views/MailFolderList.html b/rainloop/v/0.0.0/app/templates/Views/MailFolderList.html index 5682bd4b8..11ee5c30d 100644 --- a/rainloop/v/0.0.0/app/templates/Views/MailFolderList.html +++ b/rainloop/v/0.0.0/app/templates/Views/MailFolderList.html @@ -1,9 +1,9 @@
diff --git a/rainloop/v/0.0.0/app/templates/Views/MailMessageList.html b/rainloop/v/0.0.0/app/templates/Views/MailMessageList.html index ad347e12a..c425191ea 100644 --- a/rainloop/v/0.0.0/app/templates/Views/MailMessageList.html +++ b/rainloop/v/0.0.0/app/templates/Views/MailMessageList.html @@ -4,95 +4,95 @@
 
-
- +
 
 
-
- +