From b4e52e768cf360329ab379426bb8f3a1e18afed2 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Sun, 15 Dec 2013 02:42:32 +0400 Subject: [PATCH] Move from icomoon to fontastic --- Gruntfile.js | 3 +- dev/Common/Knockout.js | 62 +- dev/Common/Utils.js | 2 +- dev/Models/AttachmentModel.js | 34 +- dev/Models/FolderModel.js | 2 +- dev/Models/MessageModel.js | 8 +- dev/Styles/@Main.less | 2 +- dev/Styles/_FontasticToBoot.less | 108 +++ .../0.0.0/app/templates/Views/AdminLogin.html | 76 +- .../0.0.0/app/templates/Views/AdminPane.html | 2 +- .../Views/AdminSettingsContacts.html | 4 +- .../templates/Views/AdminSettingsDomains.html | 2 +- .../Views/AdminSettingsLicensing.html | 4 +- .../Views/AdminSettingsPackages.html | 2 +- .../Views/AdminSettingsPackagesListItem.html | 4 +- .../Views/AdminSettingsPluginListItem.html | 2 +- .../templates/Views/AdminSettingsPlugins.html | 2 +- .../templates/Views/ComposeAttachment.html | 1 - .../Views/ComposeAttachmentInProcess.html | 2 +- .../v/0.0.0/app/templates/Views/Login.html | 6 +- .../app/templates/Views/MailFolderList.html | 36 +- .../app/templates/Views/MailMessageList.html | 22 +- .../templates/Views/MailMessageListItem.html | 86 +- .../MailMessageListItemNoPreviewPane.html | 88 +- .../app/templates/Views/MailMessageView.html | 20 +- .../app/templates/Views/PopupsActivate.html | 4 +- .../app/templates/Views/PopupsAddAccount.html | 2 +- .../app/templates/Views/PopupsCompose.html | 4 +- .../app/templates/Views/PopupsContacts.html | 6 +- .../app/templates/Views/PopupsDomain.html | 6 +- .../templates/Views/PopupsFolderClear.html | 2 +- .../templates/Views/PopupsFolderCreate.html | 2 +- .../app/templates/Views/PopupsIdentity.html | 2 +- .../app/templates/Views/SettingsAccounts.html | 2 +- .../Views/SettingsChangePassword.html | 62 +- .../app/templates/Views/SettingsFolders.html | 4 +- .../templates/Views/SettingsIdentities.html | 2 +- .../app/templates/Views/SettingsPane.html | 34 +- .../app/templates/Views/SettingsSocial.html | 12 +- .../app/templates/Views/SettingsThemes.html | 2 +- .../app/templates/Views/SystemDropDown.html | 124 +-- rainloop/v/0.0.0/static/css/app.css | 625 +++++++------- rainloop/v/0.0.0/static/css/app.min.css | 4 +- .../v/0.0.0/static/css/fonts/icomoon.dev.svg | 308 ------- rainloop/v/0.0.0/static/css/fonts/icomoon.eot | Bin 13980 -> 0 bytes rainloop/v/0.0.0/static/css/fonts/icomoon.svg | 308 ------- rainloop/v/0.0.0/static/css/fonts/icomoon.ttf | Bin 13816 -> 0 bytes .../v/0.0.0/static/css/fonts/icomoon.woff | Bin 19584 -> 0 bytes .../v/0.0.0/static/css/fonts/rainloop.eot | Bin 0 -> 16236 bytes .../v/0.0.0/static/css/fonts/rainloop.svg | 102 +++ .../v/0.0.0/static/css/fonts/rainloop.ttf | Bin 0 -> 16068 bytes .../v/0.0.0/static/css/fonts/rainloop.woff | Bin 0 -> 10404 bytes .../css/images/icom-message-notification.png | Bin 244 -> 832 bytes rainloop/v/0.0.0/static/css/less.css | 78 +- rainloop/v/0.0.0/static/js/admin.js | 64 +- rainloop/v/0.0.0/static/js/admin.min.js | 4 +- rainloop/v/0.0.0/static/js/app.js | 108 +-- rainloop/v/0.0.0/static/js/app.min.js | 12 +- vendors/fontastic/fonts/rainloop.eot | Bin 0 -> 16236 bytes vendors/fontastic/fonts/rainloop.svg | 102 +++ vendors/fontastic/fonts/rainloop.ttf | Bin 0 -> 16068 bytes vendors/fontastic/fonts/rainloop.woff | Bin 0 -> 10404 bytes vendors/fontastic/icons-reference.html | 805 ++++++++++++++++++ vendors/fontastic/styles.css | 316 +++++++ 64 files changed, 2132 insertions(+), 1554 deletions(-) create mode 100644 dev/Styles/_FontasticToBoot.less delete mode 100644 rainloop/v/0.0.0/static/css/fonts/icomoon.dev.svg delete mode 100644 rainloop/v/0.0.0/static/css/fonts/icomoon.eot delete mode 100644 rainloop/v/0.0.0/static/css/fonts/icomoon.svg delete mode 100644 rainloop/v/0.0.0/static/css/fonts/icomoon.ttf delete mode 100644 rainloop/v/0.0.0/static/css/fonts/icomoon.woff create mode 100644 rainloop/v/0.0.0/static/css/fonts/rainloop.eot create mode 100644 rainloop/v/0.0.0/static/css/fonts/rainloop.svg create mode 100644 rainloop/v/0.0.0/static/css/fonts/rainloop.ttf create mode 100644 rainloop/v/0.0.0/static/css/fonts/rainloop.woff create mode 100644 vendors/fontastic/fonts/rainloop.eot create mode 100644 vendors/fontastic/fonts/rainloop.svg create mode 100644 vendors/fontastic/fonts/rainloop.ttf create mode 100644 vendors/fontastic/fonts/rainloop.woff create mode 100644 vendors/fontastic/icons-reference.html create mode 100644 vendors/fontastic/styles.css diff --git a/Gruntfile.js b/Gruntfile.js index d001f0cd2..271b65b81 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -313,7 +313,8 @@ module.exports = function (grunt) { src: [ "vendors/jquery-ui/css/smoothness/jquery-ui-1.10.3.custom.css", "vendors/normalize/normalize.css", - "vendors/icomoon/style.css", + "vendors/fontastic/styles.css", + "rainloop/v/0.0.0/static/css/styles.css", "vendors/jquery-nanoscroller/nanoscroller.css", "vendors/jquery-magnific-popup/magnific-popup.css", "vendors/jquery-magnific-popup/magnific-popup-animations.css", diff --git a/dev/Common/Knockout.js b/dev/Common/Knockout.js index 93939e509..a21b1d571 100644 --- a/dev/Common/Knockout.js +++ b/dev/Common/Knockout.js @@ -337,66 +337,6 @@ ko.bindingHandlers.nano = { } }; -ko.bindingHandlers.saveTrigger1 = { - 'init': function (oElement) { - - var $oEl = $(oElement); - - $oEl.data('save-trigger-type', $oEl.is('input[type=text]') ? 'input' : 'custom'); - - if ('custom' === $oEl.data('save-trigger-type')) - { - $oEl.append( - '  ' - ).addClass('settings-saved-trigger'); - } - else - { - $oEl.addClass('settings-saved-trigger-input'); - } - }, - 'update': function (oElement, fValueAccessor) { - var - mValue = ko.utils.unwrapObservable(fValueAccessor()), - $oEl = $(oElement), - bCustom = 'custom' === $oEl.data('save-trigger-type'), - sSuffix = bCustom ? '' : '-input' - ; - - switch (mValue.toString()) - { - case '1': - $oEl - .find('.sst-animated' + sSuffix + ',.sst-error' + sSuffix).hide().removeClass('sst-visible' + sSuffix) - .end() - .find('.sst-success' + sSuffix).show().addClass('sst-visible' + sSuffix) - ; - break; - case '0': - $oEl - .find('.sst-animated' + sSuffix + ',.sst-success' + sSuffix).hide().removeClass('sst-visible' + sSuffix) - .end() - .find('.sst-error' + sSuffix).show().addClass('sst-visible' + sSuffix) - ; - break; - case '-2': - $oEl - .find('.sst-error' + sSuffix + ',.sst-success' + sSuffix).hide().removeClass('sst-visible' + sSuffix) - .end() - .find('.sst-animated' + sSuffix).show().addClass('sst-visible' + sSuffix) - ; - break; - default: - $oEl - .find('.sst-animated' + sSuffix).hide() - .end() - .find('.sst-error' + sSuffix + ',.sst-success' + sSuffix).removeClass('sst-visible' + sSuffix) - ; - break; - } - } -}; - ko.bindingHandlers.saveTrigger = { 'init': function (oElement) { @@ -407,7 +347,7 @@ ko.bindingHandlers.saveTrigger = { if ('custom' === $oEl.data('save-trigger-type')) { $oEl.append( - '  ' + '  ' ).addClass('settings-saved-trigger'); } else diff --git a/dev/Common/Utils.js b/dev/Common/Utils.js index 82992b7fa..ec7f20828 100644 --- a/dev/Common/Utils.js +++ b/dev/Common/Utils.js @@ -1271,7 +1271,7 @@ Utils.convertPlainTextToHtml = function (sPlain) Utils.draggeblePlace = function () { - return $('
 
').appendTo('#rl-hidden'); + return $('
 
').appendTo('#rl-hidden'); }; Utils.defautOptionsAfterRender = function (oOption, oItem) diff --git a/dev/Models/AttachmentModel.js b/dev/Models/AttachmentModel.js index ae4d48404..7fb304d80 100644 --- a/dev/Models/AttachmentModel.js +++ b/dev/Models/AttachmentModel.js @@ -158,36 +158,36 @@ AttachmentModel.prototype.iconClass = function () { if ('image' === aParts[0]) { - sClass = 'icon-image'; + sClass = 'icon-file-image'; } else if ('text' === aParts[0]) { - sClass = 'icon-file-xml'; + sClass = 'icon-file-text'; } else if ('audio' === aParts[0]) { - sClass = 'icon-music'; + sClass = 'icon-file-music'; } else if ('video' === aParts[0]) { - sClass = 'icon-film'; + sClass = 'icon-file-movie'; } else if (-1 < Utils.inArray(aParts[1], ['zip', '7z', 'tar', 'rar', 'gzip', 'bzip', 'bzip2', 'x-zip', 'x-7z', 'x-rar', 'x-tar', 'x-gzip', 'x-bzip', 'x-bzip2', 'x-zip-compressed', 'x-7z-compressed', 'x-rar-compressed'])) { sClass = 'icon-file-zip'; } - else if (-1 < Utils.inArray(aParts[1], - ['pdf', 'x-pdf'])) - { - sClass = 'icon-file-pdf'; - } - else if (-1 < Utils.inArray(aParts[1], [ - 'exe', 'x-exe', 'x-winexe', 'bat' - ])) - { - sClass = 'icon-console'; - } +// else if (-1 < Utils.inArray(aParts[1], +// ['pdf', 'x-pdf'])) +// { +// sClass = 'icon-file-pdf'; +// } +// else if (-1 < Utils.inArray(aParts[1], [ +// 'exe', 'x-exe', 'x-winexe', 'bat' +// ])) +// { +// sClass = 'icon-console'; +// } else if (-1 < Utils.inArray(aParts[1], [ 'rtf', 'msword', 'vnd.msword', 'vnd.openxmlformats-officedocument.wordprocessingml.document', 'vnd.openxmlformats-officedocument.wordprocessingml.template', @@ -195,7 +195,7 @@ AttachmentModel.prototype.iconClass = function () 'vnd.ms-word.template.macroEnabled.12' ])) { - sClass = 'icon-file-word'; + sClass = 'icon-file-text'; } else if (-1 < Utils.inArray(aParts[1], [ 'excel', 'ms-excel', 'vnd.ms-excel', @@ -220,7 +220,7 @@ AttachmentModel.prototype.iconClass = function () 'vnd.ms-powerpoint.slideshow.macroEnabled.12' ])) { - sClass = 'icon-file-powerpoint'; + sClass = 'icon-file-chart-graph'; } } diff --git a/dev/Models/FolderModel.js b/dev/Models/FolderModel.js index e3b05ad34..84aed087d 100644 --- a/dev/Models/FolderModel.js +++ b/dev/Models/FolderModel.js @@ -272,7 +272,7 @@ FolderModel.prototype.isUnpaddigFolder = false; FolderModel.prototype.collapsedCss = function () { return this.hasSubScribedSubfolders() ? - (this.collapsed() ? 'icon-arrow-right-3 e-collapsed-sign' : 'icon-arrow-down-3 e-collapsed-sign') : 'icon-none e-collapsed-sign'; + (this.collapsed() ? 'icon-right-mini e-collapsed-sign' : 'icon-down-mini e-collapsed-sign') : 'icon-none e-collapsed-sign'; }; /** diff --git a/dev/Models/MessageModel.js b/dev/Models/MessageModel.js index 446ef35d7..4b5ac513c 100644 --- a/dev/Models/MessageModel.js +++ b/dev/Models/MessageModel.js @@ -56,11 +56,11 @@ function MessageModel() sClass = 'icon-file-zip'; break; case 'doc': - sClass = 'icon-file'; - break; - case 'pdf': - sClass = 'icon-file-pdf'; + sClass = 'icon-file-text'; break; +// case 'pdf': +// sClass = 'icon-file-pdf'; +// break; } } return sClass; diff --git a/dev/Styles/@Main.less b/dev/Styles/@Main.less index ea0e7b5f3..a735f6d02 100644 --- a/dev/Styles/@Main.less +++ b/dev/Styles/@Main.less @@ -30,7 +30,7 @@ @import "../../vendors/bootstrap/less/progress-bars.less"; @import "../../vendors/bootstrap/less/utilities.less"; -@import "_IcoMoonToBoot.less"; +@import "_FontasticToBoot.less"; @import "_BootstrapFix.less"; @import "_InputosaurusFix.less"; diff --git a/dev/Styles/_FontasticToBoot.less b/dev/Styles/_FontasticToBoot.less new file mode 100644 index 000000000..c2f22455f --- /dev/null +++ b/dev/Styles/_FontasticToBoot.less @@ -0,0 +1,108 @@ + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 16px; + height: 16px; + line-height: 17px; + font-size: 16px; + vertical-align: text-top; +} + +.icon-folder, .icon-folder-add, .icon-address-book, .icon-list { + line-height: 18px; + font-size: 18px; + margin-top: -2px; + margin-left: -2px; +} + +/* White icons with optional class, or on hover/active states of certain elements */ +.icon-white, +.nav > .active > a > [class^="icon-"], +.nav > .active > a > [class*=" icon-"] { + color: #fff; +} + +.g-ui-menu .e-item:hover [class^="icon-"], +.g-ui-menu .e-item:hover [class*=" icon-"] { + color: #fff; +} + +.icon-none { + background-image: none !important; +} + +.icon-checkbox-checked, .icon-checkbox-unchecked, .icon-checkbox-partial, .icon-radio-checked, .icon-radio-unchecked { + cursor: pointer; + color: #555; + font-size: 1em; + + &:hover, &:active { + color: #000; + } +} + +.icon-white { + &.icon-checkbox-checked, &.icon-checkbox-unchecked, &.icon-checkbox-partial, &.icon-radio-checked, &.icon-radio-unchecked { + color: #eee; + + &:hover, &:active { + color: #fff; + } + } +} + +.denied-by-browser { + cursor: default; + .icon-checkbox-checked, icon-checkbox-unchecked { + cursor: default; + } +} + +.right-mini, .down-mini { + width: 16px; + line-height: 20px; +} + +@-webkit-keyframes rotation { + from {-webkit-transform: rotate(0deg);} + to {-webkit-transform: rotate(359deg);} +} + +@-moz-keyframes rotation { + from {-moz-transform: rotate(0deg);} + to {-moz-transform: rotate(359deg);} +} + +@keyframes rotation { + from {transform: rotate(0deg);} + to {transform: rotate(359deg);} +} + +.icon-spinner { + width: 16px; + height: 16px; + + &:before { + font-size: 16px; + line-height: 100%; + } +} + +html.no-cssanimations .icon-spinner { + background-image: url('@{sync-file-stop}'); + background-repeat: no-repeat; + font-family: Arial; + &:before { + content: ""; + } + &.animated { + background-image: url('@{sync-file}'); + } +} + +html.cssanimations .icon-spinner.animated { + -webkit-animation: rotation 1s infinite linear; + -moz-animation: rotation 1s infinite linear; + animation: rotation 1s infinite linear; +} diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html b/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html index 56f9defd0..91c7073b5 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html @@ -1,39 +1,39 @@ -
-
-
-
- - -
- -
-
-
+