diff --git a/bower.json b/bower.json index 31174b5b..a390fe4c 100644 --- a/bower.json +++ b/bower.json @@ -14,8 +14,6 @@ "google-code-prettify": "~1.0.0", "highlightjs": "~7.3.0", "jquery-ui": "~1.10.3", - "jquery-mousewheel": "~3.1.3", - "css_browser_selector": "*", "FileSaver": "*", "stacktrace": "~0.5.3", "requirejs-text": "~2.0.10", diff --git a/res/core.js b/res/core.js index 851b6544..2743b54e 100644 --- a/res/core.js +++ b/res/core.js @@ -527,6 +527,7 @@ define([ isMenuPanelShown = false; menuPanelBackdropElt.parentNode.removeChild(menuPanelBackdropElt); $menuPanelElt.removeClass('move-to-front'); + aceEditor.focus(); } }).on('hidden.bs.collapse', function(e) { if(e.target === $menuPanelElt[0]) { @@ -554,6 +555,7 @@ define([ isDocumentPanelShown = false; documentPanelBackdropElt.parentNode.removeChild(documentPanelBackdropElt); $documentPanelElt.removeClass('move-to-front'); + aceEditor.focus(); } }).on('hidden.bs.collapse', function(e) { if(e.target === $documentPanelElt[0]) { diff --git a/res/extensions/dialogAbout.js b/res/extensions/dialogAbout.js index 37c71585..027d477a 100644 --- a/res/extensions/dialogAbout.js +++ b/res/extensions/dialogAbout.js @@ -12,7 +12,6 @@ define([ "Bootstrap": "http://getbootstrap.com/", "Bootstrap Tour": "http://bootstraptour.com/", "crel": "https://github.com/KoryNunn/crel", - "CSS Browser Selector": "https://github.com/rafaelp/css_browser_selector/", "Dropbox-js": "https://github.com/dropbox/dropbox-js", "FileSaver.js": "https://github.com/eligrey/FileSaver.js/", "Fontello": "http://fontello.com/", @@ -23,7 +22,6 @@ define([ "Highlight.js": "http://softwaremaniacs.org/soft/highlight/en/", "jGrowl": "https://github.com/stanlemon/jGrowl/", "jQuery": "http://jquery.com/", - "jQuery Mouse Wheel Plugin": "https://github.com/brandonaaron/jquery-mousewheel", "LESS": "http://lesscss.org/", "MathJax": "http://www.mathjax.org/", "Mousetrap": "http://craig.is/killing/mice", diff --git a/res/extensions/scrollLink.js b/res/extensions/scrollLink.js index a32ae9fb..6a8637c1 100644 --- a/res/extensions/scrollLink.js +++ b/res/extensions/scrollLink.js @@ -2,9 +2,7 @@ define([ "jquery", "underscore", "classes/Extension", - "text!html/scrollLinkSettingsBlock.html", - "css_browser_selector", - 'jquery-mousewheel', + "text!html/scrollLinkSettingsBlock.html" ], function($, _, Extension, scrollLinkSettingsBlockHTML) { var scrollLink = new Extension("scrollLink", "Scroll Link", true, true); @@ -79,6 +77,8 @@ define([ var isScrollEditor = false; var isScrollPreview = false; + var isEditorMoving = false; + var isPreviewMoving = false; var doScrollLink = _.debounce(function() { if(mdSectionList.length === 0 || mdSectionList.length !== htmlSectionList.length) { // Delay @@ -117,10 +117,19 @@ define([ lastPreviewScrollTop = previewScrollTop; } else { + isPreviewMoving = true; $previewElt.animate({ scrollTop: destScrollTop - }, 'easeOutQuad', function() { - lastPreviewScrollTop = destScrollTop; + }, { + easing: 'easeOutSine', + complete: function() { + lastPreviewScrollTop = destScrollTop; + }, + always: function() { + _.defer(function() { + isPreviewMoving = false; + }); + } }); } } @@ -138,15 +147,21 @@ define([ lastEditorScrollTop = editorScrollTop; } else { + isEditorMoving = true; $("
").animate({ value: destScrollTop - editorScrollTop }, { - easing: 'easeOutQuad', + easing: 'easeOutSine', step: function(now) { aceEditor.session.setScrollTop(editorScrollTop + now); }, complete: function() { lastEditorScrollTop = destScrollTop; + }, + always: function() { + _.defer(function() { + isEditorMoving = false; + }); } }); } @@ -165,23 +180,22 @@ define([ scrollLink.onReady = function() { $previewElt = $(".preview-container"); - $previewElt.bind("keyup mouseup mousewheel", function() { - isScrollPreview = true; - isScrollEditor = false; - doScrollLink(); - }); - $('.table-of-contents').click(function() { - isScrollPreview = true; - isScrollEditor = false; - doScrollLink(); + $previewElt.scroll(function() { + if(isPreviewMoving === false) { + isScrollPreview = true; + isScrollEditor = false; + doScrollLink(); + } }); aceEditor.session.on("changeScrollTop", function(e) { - isScrollEditor = true; - isScrollPreview = false; - doScrollLink(); + if(isEditorMoving === false) { + isScrollEditor = true; + isScrollPreview = false; + doScrollLink(); + } }); }; - + var $previewContentsElt = undefined; scrollLink.onPagedownConfigure = function(editor) { $previewContentsElt = $("#preview-contents"); diff --git a/res/main.js b/res/main.js index 5b19a282..2d636502 100644 --- a/res/main.js +++ b/res/main.js @@ -31,7 +31,6 @@ requirejs.config({ requirejs: 'bower-libs/requirejs/require', 'google-code-prettify': 'bower-libs/google-code-prettify/src/prettify', highlightjs: 'bower-libs/highlightjs/highlight.pack', - 'jquery-mousewheel': 'bower-libs/jquery-mousewheel/jquery.mousewheel', 'jquery-waitforimages': 'libs/jquery.waitforimages', 'jquery-ui': 'bower-libs/jquery-ui/ui/jquery-ui', 'jquery-ui-core': 'bower-libs/jquery-ui/ui/jquery.ui.core', @@ -41,7 +40,6 @@ requirejs.config({ 'jquery-ui-effect': 'bower-libs/jquery-ui/ui/jquery.ui.effect', 'jquery-ui-effect-slide': 'bower-libs/jquery-ui/ui/jquery.ui.effect-slide', uilayout: 'libs/layout', - css_browser_selector: 'bower-libs/css_browser_selector/css_browser_selector', FileSaver: 'bower-libs/FileSaver/FileSaver', stacktrace: 'bower-libs/stacktrace/stacktrace', 'requirejs-text': 'bower-libs/requirejs-text/text', diff --git a/res/styles/main.less b/res/styles/main.less index 5f2c58a7..6e6d630a 100644 --- a/res/styles/main.less +++ b/res/styles/main.less @@ -16,7 +16,7 @@ @primary-color: #333; @primary-color-light: lighten(@primary-color, 13%); @primary-color-lighter: lighten(@primary-color, 20%); -@primary-color-lightest: lighten(@primary-color, 33%); +@primary-color-lightest: lighten(@primary-color, 35%); @primary-color-inv: #fff; @bg-navbar-hover: @primary-bg-lighter; @error-border: #ff8661; @@ -918,7 +918,7 @@ ul,ol { .ace-tm .ace_markup.ace_heading { color: @primary-color-light; - font-weight: 900; + font-weight: bold; } .ace-tm .ace_markup.ace_list { @@ -926,7 +926,7 @@ ul,ol { } .ace-tm .ace_strong { - font-weight: 600; + font-weight: bold; } .ace-tm .ace_emphasis { @@ -945,31 +945,10 @@ ul,ol { #wmd-input { .box-shadow(none); padding: 0; - font-weight: 300; -} - -#wmd-input,#md-section-helper { resize: none; border: none !important; } -#md-section-helper { - position: absolute; - top: -100px; - height: 1px; - padding: 0 6px; - overflow-y: scroll; - z-index: -1; - .gecko & { - /* Firefox doesn't show the scrollbar if height is less than 40px */ - height: 40px; - } - .opera & { - /* Opera needs to have the textarea in the viewport to evaluate its size correctly */ - top: 0; - } -} - .preview-container { overflow: auto; }