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 @@ -
-
-
-
- - -
- -
-
-
+
+
+
+
+ + +
+ +
+
+
\ No newline at end of file diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminPane.html b/rainloop/v/0.0.0/app/templates/Views/AdminPane.html index 21e925590..92c0c670a 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminPane.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminPane.html @@ -8,7 +8,7 @@
diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsContacts.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsContacts.html index 57001b492..b521e4c6a 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsContacts.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsContacts.html @@ -72,7 +72,7 @@
- +    Test @@ -95,7 +95,7 @@
- +    Test diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomains.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomains.html index 2c61d6774..e365f60ca 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomains.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsDomains.html @@ -14,7 +14,7 @@ Add Domain
- +    loading...
diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsLicensing.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsLicensing.html index d5d53244d..01f33b81f 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsLicensing.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsLicensing.html @@ -34,7 +34,7 @@
- +    checking...
@@ -61,7 +61,7 @@
diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackages.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackages.html index 87e467279..c4300c065 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackages.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackages.html @@ -16,7 +16,7 @@
- +    loading...
diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackagesListItem.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackagesListItem.html index a22fdbc36..4630ce188 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackagesListItem.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPackagesListItem.html @@ -1,6 +1,6 @@ - +
@@ -20,6 +20,6 @@   - + 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 58d2d516f..9ba955e81 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPluginListItem.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPluginListItem.html @@ -1,6 +1,6 @@ - + diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPlugins.html b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPlugins.html index a0f86709f..8aa142309 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPlugins.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminSettingsPlugins.html @@ -8,7 +8,7 @@
- +    loading...
diff --git a/rainloop/v/0.0.0/app/templates/Views/ComposeAttachment.html b/rainloop/v/0.0.0/app/templates/Views/ComposeAttachment.html index d84144699..0c217c0a1 100644 --- a/rainloop/v/0.0.0/app/templates/Views/ComposeAttachment.html +++ b/rainloop/v/0.0.0/app/templates/Views/ComposeAttachment.html @@ -1,7 +1,6 @@
@@ -37,7 +37,7 @@ {{INCLUDE/BottomControlGroup/PLACE}}
@@ -50,7 +50,7 @@
- +