Small improvements

This commit is contained in:
RainLoop Team 2015-10-13 19:36:43 +03:00
parent 1b86e85df2
commit 7b5d00ff01
12 changed files with 52 additions and 14 deletions

View file

@ -44,7 +44,7 @@
{ {
mResult = null === mStorageValue ? null : JSON.parse(mStorageValue); mResult = null === mStorageValue ? null : JSON.parse(mStorageValue);
} }
catch (oException) {} catch (e) {}
if (!mResult) if (!mResult)
{ {
@ -61,7 +61,7 @@
bResult = true; bResult = true;
} }
catch (oException) {} catch (e) {}
return bResult; return bResult;
}; };
@ -89,7 +89,7 @@
mResult = null; mResult = null;
} }
} }
catch (oException) {} catch (e) {}
return mResult; return mResult;
}; };

View file

@ -44,7 +44,7 @@
{ {
mResult = null === mStorageValue ? null : JSON.parse(mStorageValue); mResult = null === mStorageValue ? null : JSON.parse(mStorageValue);
} }
catch (oException) {} catch (e) {}
if (!mResult) if (!mResult)
{ {
@ -59,7 +59,7 @@
bResult = true; bResult = true;
} }
catch (oException) {} catch (e) {}
return bResult; return bResult;
}; };
@ -87,7 +87,7 @@
mResult = null; mResult = null;
} }
} }
catch (oException) {} catch (e) {}
return mResult; return mResult;
}; };

View file

@ -365,7 +365,7 @@
return false; return false;
}; };
Utils.removeInFocus = function () Utils.removeInFocus = function (force)
{ {
if (window.document && window.document.activeElement && window.document.activeElement.blur) if (window.document && window.document.activeElement && window.document.activeElement.blur)
{ {
@ -374,6 +374,12 @@
{ {
window.document.activeElement.blur(); window.document.activeElement.blur();
} }
else if (force)
{
try {
window.document.activeElement.blur();
} catch (e) {}
}
} }
}; };

View file

@ -240,7 +240,10 @@
return true; return true;
} }
} }
catch (e) {} catch (e)
{
Utils.log(e);
}
} }
fCallback(null, aSigningKeyIds); fCallback(null, aSigningKeyIds);

View file

@ -72,6 +72,17 @@
cursor: not-allowed; cursor: not-allowed;
font-size: 14px; font-size: 14px;
.focused-poiner {
float: left;
display: inline-block;
background-color: transparent;
height: 100%;
width: 3px;
position: absolute;
top: 0;
left: 0;
}
padding: 0; padding: 0;
padding-left: @folderItemPadding; padding-left: @folderItemPadding;
padding-right: @folderItemPadding; padding-right: @folderItemPadding;
@ -96,7 +107,12 @@
&.focused { &.focused {
background-color: #888; background-color: #888;
.focused-poiner {
background-color: #fff;
} }
}
&.system { &.system {
cursor: default; cursor: default;

View file

@ -376,8 +376,8 @@ html.rl-no-preview-pane {
&.html { &.html {
div[data-x-div-type=body] { div[data-x-div-type=body] {
padding: 15px; /*padding: 15px;*/
// margin: 15px; margin: 15px;
} }
pre, code { pre, code {

View file

@ -618,6 +618,7 @@
{ {
oDiv.on('onBeforeOpen.lg', function () { oDiv.on('onBeforeOpen.lg', function () {
Globals.useKeyboardShortcuts(false); Globals.useKeyboardShortcuts(false);
Utils.removeInFocus(true);
}); });
oDiv.on('onCloseAfter.lg', function () { oDiv.on('onCloseAfter.lg', function () {

View file

@ -2,7 +2,7 @@
"name": "RainLoop", "name": "RainLoop",
"title": "RainLoop Webmail", "title": "RainLoop Webmail",
"version": "1.9.3", "version": "1.9.3",
"release": "363", "release": "365",
"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",

View file

@ -2294,6 +2294,13 @@ class Actions
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::AuthError); throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::AuthError);
} }
} }
else if ('sleep@sleep.dev' === $sEmail && 0 < \strlen($sPassword) &&
\is_numeric($sPassword) && $this->Config()->Get('debug', 'enable', false)
)
{
\sleep((int) $sPassword);
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::AuthError);
}
try try
{ {
@ -7227,7 +7234,7 @@ class Actions
try try
{ {
$sHash = $this->MailClient()->FolderHash($sFromFolder); $sHash = $this->MailClient()->FolderHash($sFolder);
} }
catch (\Exception $oException) catch (\Exception $oException)
{ {
@ -8288,6 +8295,8 @@ class Actions
$mResult = $this->MailClient()->MessageMimeStream(function($rResource, $sContentType, $sFileName, $sMimeIndex = '') $mResult = $this->MailClient()->MessageMimeStream(function($rResource, $sContentType, $sFileName, $sMimeIndex = '')
use ($oAccount, $oFileProvider, $sFileNameIn, $sContentTypeIn, &$sResultHash) { use ($oAccount, $oFileProvider, $sFileNameIn, $sContentTypeIn, &$sResultHash) {
unset($sContentType, $sFileName, $sMimeIndex);
if ($oAccount && \is_resource($rResource)) if ($oAccount && \is_resource($rResource))
{ {
$sHash = \MailSo\Base\Utils::Md5Rand($sFileNameIn.'~'.$sContentTypeIn); $sHash = \MailSo\Base\Utils::Md5Rand($sFileNameIn.'~'.$sContentTypeIn);

View file

@ -5,6 +5,7 @@
css: { 'i-am-inbox': isInbox, 'selected': selected() && !isSystemFolder(), 'selectable': selectableForFolderList, 'hidden' : hidden, 'print-count': hasUnreadMessages, 'unread-sub': hasSubScribedUnreadMessagesSubfolders, 'system': isSystemFolder, 'anim-action-class': actionBlink }"> css: { 'i-am-inbox': isInbox, 'selected': selected() && !isSystemFolder(), 'selectable': selectableForFolderList, 'hidden' : hidden, 'print-count': hasUnreadMessages, 'unread-sub': hasSubScribedUnreadMessagesSubfolders, 'system': isSystemFolder, 'anim-action-class': actionBlink }">
<span class="badge pull-right count" data-bind="text: printableUnreadCount"></span> <span class="badge pull-right count" data-bind="text: printableUnreadCount"></span>
<i data-bind="css: collapsedCss()"></i> <i data-bind="css: collapsedCss()"></i>
<span class="focused-poiner"></span>
<span class="name" data-bind="text: name"></span> <span class="name" data-bind="text: name"></span>
</a> </a>
<div class="b-sub-folders" data-bind="template: { name: 'MailFolderListItem', foreach: subFolders }, css: { 'collapsed': collapsed() }"></div> <div class="b-sub-folders" data-bind="template: { name: 'MailFolderListItem', foreach: subFolders }, css: { 'collapsed': collapsed() }"></div>

View file

@ -2,6 +2,7 @@
<a class="e-link" data-bind="droppable: function (oEvent, oUi) { $root.messagesDrop($data, oUi); }, css: { 'selected': selected, 'selectable': selectable, 'print-count': 0 < printableUnreadCount().length, 'anim-action-class': actionBlink }"> <a class="e-link" data-bind="droppable: function (oEvent, oUi) { $root.messagesDrop($data, oUi); }, css: { 'selected': selected, 'selectable': selectable, 'print-count': 0 < printableUnreadCount().length, 'anim-action-class': actionBlink }">
<span class="badge pull-right count" data-bind="text: printableUnreadCount"></span> <span class="badge pull-right count" data-bind="text: printableUnreadCount"></span>
&nbsp; &nbsp;
<span class="focused-poiner"></span>
<span class="name" data-bind="text: localName()"></span> <span class="name" data-bind="text: localName()"></span>
</a> </a>
</div> </div>

View file

@ -31,18 +31,19 @@
</a> </a>
</li> </li>
<!-- /ko --> <!-- /ko -->
<li class="divider" role="presentation"></li>
<!-- /ko --> <!-- /ko -->
<!-- ko if: capaAdditionalAccounts --> <!-- ko if: capaAdditionalAccounts -->
<li class="divider" role="presentation"></li>
<li class="e-item" role="presentation"> <li class="e-item" role="presentation">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addAccountClick"> <a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addAccountClick">
<i class="icon-user-add"></i> <i class="icon-plus"></i>
&nbsp;&nbsp; &nbsp;&nbsp;
<span class="i18n" data-i18n="TOP_TOOLBAR/BUTTON_ADD_ACCOUNT"></span> <span class="i18n" data-i18n="TOP_TOOLBAR/BUTTON_ADD_ACCOUNT"></span>
</a> </a>
</li> </li>
<!-- /ko --> <!-- /ko -->
<li class="divider" role="presentation"></li>
<li class="e-item" role="presentation" data-bind="visible: allowSettings"> <li class="e-item" role="presentation" data-bind="visible: allowSettings">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: settingsClick"> <a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: settingsClick">
<i class="icon-cog"></i> <i class="icon-cog"></i>