diff --git a/ChangeLog b/ChangeLog index 1cbab1f9..02c45e08 100644 --- a/ChangeLog +++ b/ChangeLog @@ -37,6 +37,8 @@ dispatch * Renamed KeyBinding -> Key. +* Renamed: set -> setBinded, unSet -> unsetBinded, get -> isBinded. + 2012.04.22, v0.2.0 diff --git a/lib/client.js b/lib/client.js index 483eaac8..90945975 100644 --- a/lib/client.js +++ b/lib/client.js @@ -162,7 +162,7 @@ var Util, DOM, CloudFunc, CloudCmd; path : 'key.js', func : function(){ Key = CloudCmd.Key; - Key.init(); + Key.bind(); } }); @@ -368,7 +368,7 @@ var Util, DOM, CloudFunc, CloudCmd; lOnContextMenu_f = function(pEvent){ var lReturn_b = true; - Key && Key.unSet(); + Key && Key.unsetBind(); /* getting html element * currentTarget - DOM event diff --git a/lib/client/editor/_ace.js b/lib/client/editor/_ace.js index 974d1080..989f68be 100644 --- a/lib/client/editor/_ace.js +++ b/lib/client/editor/_ace.js @@ -137,7 +137,7 @@ var CloudCmd, CloudFunc, ace; initAce_f(data); /* removing keyBinding if set */ - Key.unSet(); + Key.unsetBind(); Util.hidePanel(); Util.Images.hideLoad(); @@ -150,7 +150,7 @@ var CloudCmd, CloudFunc, ace; /* function hides Ace editor */ AceEditor.hide = (function() { var lElem = AceElement; - Key.set(); + Key.setBind(); if(lElem && FM) FM.removeChild(lElem); @@ -166,9 +166,9 @@ var CloudCmd, CloudFunc, ace; this.Ace.show(pCurrentFile, pIsReadOnly); var key_event = function(pEvent){ - + var lBinded = Key.get(); /* если клавиши можно обрабатывать */ - if( Key.get() ){ + if( lBinded ){ /* if f4 or f3 pressed */ var lF3 = cloudcmd.KEY.F3; var lF4 = cloudcmd.KEY.F4; diff --git a/lib/client/editor/_codemirror.js b/lib/client/editor/_codemirror.js index 155c0546..361897bd 100644 --- a/lib/client/editor/_codemirror.js +++ b/lib/client/editor/_codemirror.js @@ -139,7 +139,7 @@ var CloudCmd, Util, DOM, CodeMirror; success : function(data){ if( DOM.hidePanel() ){ Util.exec(pCallBack, data); - Key.unSet(); + Key.unsetBind(); } DOM.Images.hideLoad(); @@ -155,7 +155,7 @@ var CloudCmd, Util, DOM, CodeMirror; * function hides CodeMirror editor */ function hide() { - Key.set(); + Key.setBind(); if(CodeMirrorElement && FM) FM.removeChild(CodeMirrorElement); @@ -188,8 +188,9 @@ var CloudCmd, Util, DOM, CodeMirror; DOM.setButtonKey('f4', CodeMirrorEditor.show); function lListener(pEvent){ - /* если клавиши можно обрабатывать */ - if( Key.get() ){ + var lIsBind = Key.isBind(); + + if (lIsBind) { var lF4 = CloudCmd.KEY.F4, lKey = pEvent.keyCode; diff --git a/lib/client/key.js b/lib/client/key.js index 236b0d57..4f02f60b 100644 --- a/lib/client/key.js +++ b/lib/client/key.js @@ -47,20 +47,19 @@ var CloudCmd, Util, DOM; function KeyProto(){ var Binded, - KEY = CloudCmd.KEY, lTabPanel = { left : 0, right : 0 }; - this.get = function(){return Binded;}; + this.isBind = function(){return Binded;}; - this.set = function(){Binded = true;}; + this.setBind = function(){Binded = true;}; - this.unSet = function(){Binded = false;}; + this.unsetBind = function(){Binded = false;}; - this.init = function(){ + this.bind = function(){ DOM.Events.addKey(listener); /* клавиши назначены*/ @@ -70,6 +69,7 @@ var CloudCmd, Util, DOM; function listener(pEvent){ /* получаем выдленный файл*/ var i, n, lCurrent = DOM.getCurrentFile(), + KEY = CloudCmd.KEY, lKeyCode = pEvent.keyCode, lShift = pEvent.shiftKey, lAlt = pEvent.altKey, diff --git a/lib/client/menu.js b/lib/client/menu.js index 02d00d1c..80d18f29 100644 --- a/lib/client/menu.js +++ b/lib/client/menu.js @@ -298,9 +298,10 @@ var CloudCmd, Util, DOM, CloudFunc, $; lF10 = lKEY.F10, lESC = lKEY.ESC, lKey = pEvent.keyCode, - lShift = pEvent.shiftKey; - /* если клавиши можно обрабатывать */ - if( Key.get() ){ + lShift = pEvent.shiftKey, + lIsBind = Key.isBind(); + + if( lIsBind ){ if(lKey === lF10 && lShift){ $( DOM.getCurrentFile() ).contextMenu(); DOM.preventDefault(pEvent); diff --git a/lib/client/terminal.js b/lib/client/terminal.js index d6390a8b..df039658 100644 --- a/lib/client/terminal.js +++ b/lib/client/terminal.js @@ -79,7 +79,7 @@ var CloudCmd, Util, DOM, $; if( DOM.hidePanel() ){ Hidden = false; DOM.show(TerminalId); - Key.unSet(); + Key.unsetBind(); Term.resume(); } }; @@ -92,7 +92,7 @@ var CloudCmd, Util, DOM, $; DOM.hide(TerminalId); DOM.showPanel(); - Key.set(); + Key.setBind(); Term.pause(); }; @@ -116,16 +116,22 @@ var CloudCmd, Util, DOM, $; lESC = lKEY.ESC, lTRA = lKEY.TRA, lKey = pEvent.keyCode, - lBinded = Key.get(); - /* если клавиши можно обрабатывать */ - if(Hidden && lBinded && lKey === lTRA){ - JqueryTerminal.show(); - DOM.preventDefault(pEvent); - lRet = false; - } + lIsBind = Key.isBind(); - else if(!Hidden && lKey === lESC) - JqueryTerminal.hide(); + switch(lKey){ + case lTRA: + if(Hidden && lIsBind){ + JqueryTerminal.show(); + DOM.preventDefault(pEvent); + lRet = false; + } + break; + + case lESC: + if(!Hidden) + JqueryTerminal.hide(); + break; + } return lRet; } diff --git a/lib/client/viewer.js b/lib/client/viewer.js index 9baa81a4..54c6021f 100644 --- a/lib/client/viewer.js +++ b/lib/client/viewer.js @@ -11,7 +11,7 @@ var CloudCmd, Util, DOM, CloudFunc, $; Config = { beforeShow : function(){ DOM.Images.hideLoad(); - Key.unSet(); + Key.unsetBind(); }, afterShow : function(){ @@ -20,7 +20,7 @@ var CloudCmd, Util, DOM, CloudFunc, $; lEditor.focus(); }, - beforeClose : Util.retFunc( Key.set ), + beforeClose : Util.retFunc( Key.setBind ), openEffect : 'none', closeEffect : 'none', @@ -135,11 +135,11 @@ var CloudCmd, Util, DOM, CloudFunc, $; var lKEY = CloudCmd.KEY, lF3 = lKEY.F3, lF1 = lKEY.F1, - lBinded = Key.get(), + lIsBind = Key.isBind(), lKey = pEvent.keyCode; /* если клавиши можно обрабатывать */ - if( lBinded){ + if (lIsBind) { switch(lKey){ case lF3: lView(); diff --git a/lib/client/viewer/fancyBox/source/jquery.fancybox.css b/lib/client/viewer/fancyBox/source/jquery.fancybox.css index bd3289b2..6f307ec6 100644 --- a/lib/client/viewer/fancyBox/source/jquery.fancybox.css +++ b/lib/client/viewer/fancyBox/source/jquery.fancybox.css @@ -1,249 +1,249 @@ -/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */ -.fancybox-wrap, -.fancybox-skin, -.fancybox-outer, -.fancybox-inner, -.fancybox-image, -.fancybox-wrap iframe, -.fancybox-wrap object, -.fancybox-nav, -.fancybox-nav span, -.fancybox-tmp -{ - padding: 0; - margin: 0; - border: 0; - outline: none; - vertical-align: top; -} - -.fancybox-wrap { - position: absolute; - top: 0; - left: 0; - z-index: 8020; -} - -.fancybox-skin { - position: relative; - background: #f9f9f9; - color: #444; - text-shadow: none; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.fancybox-opened { - z-index: 8030; -} - -.fancybox-opened .fancybox-skin { - -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); - -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); - box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); -} - -.fancybox-outer, .fancybox-inner { - position: relative; -} - -.fancybox-inner { - overflow: hidden; -} - -.fancybox-type-iframe .fancybox-inner { - -webkit-overflow-scrolling: touch; -} - -.fancybox-error { - color: #444; - font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; - margin: 0; - padding: 15px; - white-space: nowrap; -} - -.fancybox-image, .fancybox-iframe { - display: block; - width: 100%; - height: 100%; -} - -.fancybox-image { - max-width: 100%; - max-height: 100%; -} - -#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { - background-image: url('fancybox_sprite.png'); -} - -#fancybox-loading { - position: fixed; - top: 50%; - left: 50%; - margin-top: -22px; - margin-left: -22px; - background-position: 0 -108px; - opacity: 0.8; - cursor: pointer; - z-index: 8060; -} - -#fancybox-loading div { - width: 44px; - height: 44px; - background: url('fancybox_loading.gif') center center no-repeat; -} - -.fancybox-close { - position: absolute; - top: -18px; - right: -18px; - width: 36px; - height: 36px; - cursor: pointer; - z-index: 8040; -} - -.fancybox-nav { - position: absolute; - top: 0; - width: 40%; - height: 100%; - cursor: pointer; - text-decoration: none; - background: transparent url('blank.gif'); /* helps IE */ - -webkit-tap-highlight-color: rgba(0,0,0,0); - z-index: 8040; -} - -.fancybox-prev { - left: 0; -} - -.fancybox-next { - right: 0; -} - -.fancybox-nav span { - position: absolute; - top: 50%; - width: 36px; - height: 34px; - margin-top: -18px; - cursor: pointer; - z-index: 8040; - visibility: hidden; -} - -.fancybox-prev span { - left: 10px; - background-position: 0 -36px; -} - -.fancybox-next span { - right: 10px; - background-position: 0 -72px; -} - -.fancybox-nav:hover span { - visibility: visible; -} - -.fancybox-tmp { - position: absolute; - top: -99999px; - left: -99999px; - visibility: hidden; - max-width: 99999px; - max-height: 99999px; - overflow: visible !important; -} - -/* Overlay helper */ - -.fancybox-lock { - overflow: hidden; -} - -.fancybox-overlay { - position: absolute; - top: 0; - left: 0; - overflow: hidden; - display: none; - z-index: 8010; - background: url('fancybox_overlay.png'); -} - -.fancybox-overlay-fixed { - position: fixed; - bottom: 0; - right: 0; -} - -.fancybox-lock .fancybox-overlay { - overflow: auto; - overflow-y: scroll; -} - -/* Title helper */ - -.fancybox-title { - visibility: hidden; - font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; - position: relative; - text-shadow: none; - z-index: 8050; -} - -.fancybox-opened .fancybox-title { - visibility: visible; -} - -.fancybox-title-float-wrap { - position: absolute; - bottom: 0; - right: 50%; - margin-bottom: -35px; - z-index: 8050; - text-align: center; -} - -.fancybox-title-float-wrap .child { - display: inline-block; - margin-right: -100%; - padding: 2px 20px; - background: transparent; /* Fallback for web browsers that doesn't support RGBa */ - background: rgba(0, 0, 0, 0.8); - -webkit-border-radius: 15px; - -moz-border-radius: 15px; - border-radius: 15px; - text-shadow: 0 1px 2px #222; - color: #FFF; - font-weight: bold; - line-height: 24px; - white-space: nowrap; -} - -.fancybox-title-outside-wrap { - position: relative; - margin-top: 10px; - color: #fff; -} - -.fancybox-title-inside-wrap { - padding-top: 10px; -} - -.fancybox-title-over-wrap { - position: absolute; - bottom: 0; - left: 0; - color: #fff; - padding: 10px; - background: #000; - background: rgba(0, 0, 0, .8); +/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */ +.fancybox-wrap, +.fancybox-skin, +.fancybox-outer, +.fancybox-inner, +.fancybox-image, +.fancybox-wrap iframe, +.fancybox-wrap object, +.fancybox-nav, +.fancybox-nav span, +.fancybox-tmp +{ + padding: 0; + margin: 0; + border: 0; + outline: none; + vertical-align: top; +} + +.fancybox-wrap { + position: absolute; + top: 0; + left: 0; + z-index: 8020; +} + +.fancybox-skin { + position: relative; + background: #f9f9f9; + color: #444; + text-shadow: none; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.fancybox-opened { + z-index: 8030; +} + +.fancybox-opened .fancybox-skin { + -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); +} + +.fancybox-outer, .fancybox-inner { + position: relative; +} + +.fancybox-inner { + overflow: hidden; +} + +.fancybox-type-iframe .fancybox-inner { + overflow-scrolling: touch; +} + +.fancybox-error { + color: #444; + font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + margin: 0; + padding: 15px; + white-space: nowrap; +} + +.fancybox-image, .fancybox-iframe { + display: block; + width: 100%; + height: 100%; +} + +.fancybox-image { + max-width: 100%; + max-height: 100%; +} + +#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { + background-image: url('fancybox_sprite.png'); +} + +#fancybox-loading { + position: fixed; + top: 50%; + left: 50%; + margin-top: -22px; + margin-left: -22px; + background-position: 0 -108px; + opacity: 0.8; + cursor: pointer; + z-index: 8060; +} + +#fancybox-loading div { + width: 44px; + height: 44px; + background: url('fancybox_loading.gif') center center no-repeat; +} + +.fancybox-close { + position: absolute; + top: -18px; + right: -18px; + width: 36px; + height: 36px; + cursor: pointer; + z-index: 8040; +} + +.fancybox-nav { + position: absolute; + top: 0; + width: 40%; + height: 100%; + cursor: pointer; + text-decoration: none; + background: transparent url('blank.gif'); /* helps IE */ + -webkit-tap-highlight-color: rgba(0,0,0,0); + z-index: 8040; +} + +.fancybox-prev { + left: 0; +} + +.fancybox-next { + right: 0; +} + +.fancybox-nav span { + position: absolute; + top: 50%; + width: 36px; + height: 34px; + margin-top: -18px; + cursor: pointer; + z-index: 8040; + visibility: hidden; +} + +.fancybox-prev span { + left: 10px; + background-position: 0 -36px; +} + +.fancybox-next span { + right: 10px; + background-position: 0 -72px; +} + +.fancybox-nav:hover span { + visibility: visible; +} + +.fancybox-tmp { + position: absolute; + top: -99999px; + left: -99999px; + visibility: hidden; + max-width: 99999px; + max-height: 99999px; + overflow: visible !important; +} + +/* Overlay helper */ + +.fancybox-lock { + overflow: hidden; +} + +.fancybox-overlay { + position: absolute; + top: 0; + left: 0; + overflow: hidden; + display: none; + z-index: 8010; + background: url('fancybox_overlay.png'); +} + +.fancybox-overlay-fixed { + position: fixed; + bottom: 0; + right: 0; +} + +.fancybox-lock .fancybox-overlay { + overflow: auto; + overflow-y: scroll; +} + +/* Title helper */ + +.fancybox-title { + visibility: hidden; + font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + position: relative; + text-shadow: none; + z-index: 8050; +} + +.fancybox-opened .fancybox-title { + visibility: visible; +} + +.fancybox-title-float-wrap { + position: absolute; + bottom: 0; + right: 50%; + margin-bottom: -35px; + z-index: 8050; + text-align: center; +} + +.fancybox-title-float-wrap .child { + display: inline-block; + margin-right: -100%; + padding: 2px 20px; + background: transparent; /* Fallback for web browsers that doesn't support RGBa */ + background: rgba(0, 0, 0, 0.8); + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + text-shadow: 0 1px 2px #222; + color: #FFF; + font-weight: bold; + line-height: 24px; + white-space: nowrap; +} + +.fancybox-title-outside-wrap { + position: relative; + margin-top: 10px; + color: #fff; +} + +.fancybox-title-inside-wrap { + padding-top: 10px; +} + +.fancybox-title-over-wrap { + position: absolute; + bottom: 0; + left: 0; + color: #fff; + padding: 10px; + background: #000; + background: rgba(0, 0, 0, .8); } \ No newline at end of file