diff --git a/core/blockly.js b/core/blockly.js index 029f83d2e..c01e94a25 100644 --- a/core/blockly.js +++ b/core/blockly.js @@ -106,9 +106,9 @@ Blockly.clipboardSource_ = null; /** * Is the mouse dragging a block? - * 0 - No drag operation. - * 1 - Still inside the sticky DRAG_RADIUS. - * 2 - Freely draggable. + * DRAG_NONE - No drag operation. + * DRAG_STICKY - Still inside the sticky DRAG_RADIUS. + * DRAG_FREE - Freely draggable. * @private */ Blockly.dragMode_ = Blockly.DRAG_NONE; @@ -190,7 +190,7 @@ Blockly.svgResize = function(workspace) { Blockly.onMouseUp_ = function(e) { var workspace = Blockly.getMainWorkspace(); Blockly.Css.setCursor(Blockly.Css.Cursor.OPEN); - workspace.isScrolling = false; + workspace.dragMode_ = Blockly.DRAG_NONE; // Unbind the touch event if it exists. if (Blockly.onTouchUpWrapper_) { Blockly.unbindEvent_(Blockly.onTouchUpWrapper_); @@ -212,7 +212,7 @@ Blockly.onMouseMove_ = function(e) { return; // Multi-touch gestures won't have e.clientX. } var workspace = Blockly.getMainWorkspace(); - if (workspace.isScrolling) { + if (workspace.dragMode_ != Blockly.DRAG_NONE) { var dx = e.clientX - workspace.startDragMouseX; var dy = e.clientY - workspace.startDragMouseY; var metrics = workspace.startDragMetrics; @@ -231,6 +231,7 @@ Blockly.onMouseMove_ = function(e) { // Cancel the long-press if the drag has moved too far. if (Math.sqrt(dx * dx + dy * dy) > Blockly.DRAG_RADIUS) { Blockly.longStop_(); + workspace.dragMode_ = Blockly.DRAG_FREE; } e.stopPropagation(); e.preventDefault(); diff --git a/core/constants.js b/core/constants.js index f082905d5..0f327e2d9 100644 --- a/core/constants.js +++ b/core/constants.js @@ -154,7 +154,14 @@ Blockly.DRAG_NONE = 0; Blockly.DRAG_STICKY = 1; /** - * ENUM for freely draggable. + * ENUM for inside the non-sticky DRAG_RADIUS, for differentiating between + * clicks and drags. + * @const + */ +Blockly.DRAG_BEGIN = 1; + +/** + * ENUM for freely draggable (outside the DRAG_RADIUS, if one applies). * @const */ Blockly.DRAG_FREE = 2; diff --git a/core/flyout.js b/core/flyout.js index 94434ea2e..0647b7219 100644 --- a/core/flyout.js +++ b/core/flyout.js @@ -151,9 +151,9 @@ Blockly.Flyout.prototype.height_ = 0; /** * Is the flyout dragging (scrolling)? - * 0 - DRAG_NONE - no drag is ongoing or state is undetermined. - * 1 - DRAG_STICKY - still within the sticky drag radius. - * 2 - DRAG_FREE - in scroll mode (never create a new block). + * DRAG_NONE - no drag is ongoing or state is undetermined. + * DRAG_STICKY - still within the sticky drag radius. + * DRAG_FREE - in scroll mode (never create a new block). * @private */ Blockly.Flyout.prototype.dragMode_ = Blockly.DRAG_NONE; diff --git a/core/workspace_svg.js b/core/workspace_svg.js index 4c2d85661..b61c43742 100644 --- a/core/workspace_svg.js +++ b/core/workspace_svg.js @@ -84,9 +84,12 @@ Blockly.WorkspaceSvg.prototype.isFlyout = false; /** * Is this workspace currently being dragged around? - * @type {boolean} + * DRAG_NONE - No drag operation. + * DRAG_BEGIN - Still inside the initial DRAG_RADIUS. + * DRAG_FREE - Workspace has been dragged further than DRAG_RADIUS. + * @private */ -Blockly.WorkspaceSvg.prototype.isScrolling = false; +Blockly.WorkspaceSvg.prototype.dragMode_ = Blockly.DRAG_NONE; /** * Current horizontal scrolling offset. @@ -656,9 +659,7 @@ Blockly.WorkspaceSvg.prototype.onMouseDown_ = function(e) { // Right-click. this.showContextMenu_(e); } else if (this.scrollbar) { - // If the workspace is editable, only allow scrolling when gripping empty - // space. Otherwise, allow scrolling when gripping anywhere. - this.isScrolling = true; + this.dragMode_ = Blockly.DRAG_BEGIN; // Record the current mouse position. this.startDragMouseX = e.clientX; this.startDragMouseY = e.clientY; @@ -718,7 +719,8 @@ Blockly.WorkspaceSvg.prototype.moveDrag = function(e) { * @return {boolean} True if currently dragging or scrolling. */ Blockly.WorkspaceSvg.prototype.isDragging = function() { - return Blockly.dragMode_ == Blockly.DRAG_FREE || this.isScrolling; + return Blockly.dragMode_ == Blockly.DRAG_FREE || + this.dragMode_ == Blockly.DRAG_FREE; }; /** diff --git a/msg/json/br.json b/msg/json/br.json index fec13abb6..047b31b20 100644 --- a/msg/json/br.json +++ b/msg/json/br.json @@ -24,6 +24,8 @@ "DISABLE_BLOCK": "Diweredekaat ar bloc'h", "ENABLE_BLOCK": "Gweredekaat ar bloc'h", "HELP": "Skoazell", + "UNDO": "Dizober", + "REDO": "Adober", "CHANGE_VALUE_TITLE": "Kemmañ an dalvoudenn :", "NEW_VARIABLE": "Argemmenn nevez...", "NEW_VARIABLE_TITLE": "Anv an argemmenn nevez :", @@ -266,6 +268,14 @@ "LISTS_GET_SUBLIST_END_FROM_END": "betek # adalek an dibenn", "LISTS_GET_SUBLIST_END_LAST": "betek ar fin", "LISTS_GET_SUBLIST_TOOLTIP": "Krouiñ un eilad eus lodenn spisaet ul listenn.", + "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with", + "LISTS_SORT_TITLE": "Rummañ%1,%2,%3", + "LISTS_SORT_TOOLTIP": "Rummañ un eilenn eus ar roll", + "LISTS_SORT_ORDER_ASCENDING": "war gresk", + "LISTS_SORT_ORDER_DESCENDING": "war zigresk", + "LISTS_SORT_TYPE_NUMERIC": "niverel", + "LISTS_SORT_TYPE_TEXT": "Dre urzh al lizherenneg", + "LISTS_SORT_TYPE_IGNORECASE": "Dre urzh al lizherenneg, hep derc'hel kont eus an direnneg", "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists", "LISTS_SPLIT_LIST_FROM_TEXT": "Krouiñ ul listenn diwar an destenn", "LISTS_SPLIT_TEXT_FROM_LIST": "Krouiñ un destenn diwar al listenn", diff --git a/msg/json/fi.json b/msg/json/fi.json index 5c65e5004..132c1bb7e 100644 --- a/msg/json/fi.json +++ b/msg/json/fi.json @@ -260,7 +260,7 @@ "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Palauta ensimmäinen kohde listalta.", "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Palauttaa listan viimeisen kohteen.", "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Palauttaa satunnaisen kohteen listalta.", - "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Poistaa ja palauttaa kohteen annetusta kohden listaa.", + "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Poistaa ja palauttaa kohteen listan annetusta kohdasta.", "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Poistaa ja palauttaa ensimmäisen kohteen listalta.", "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Poistaa ja palauttaa viimeisen kohteen listalta.", "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Poistaa ja palauttaa satunnaisen kohteen listalta.", @@ -271,11 +271,11 @@ "LISTS_SET_INDEX_SET": "aseta", "LISTS_SET_INDEX_INSERT": "lisää kohtaan", "LISTS_SET_INDEX_INPUT_TO": "kohteeksi", - "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Asettaa kohteen määrättyyn kohtaa listassa.", + "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Asettaa kohteen annettuun kohtaan listassa.", "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Asettaa listan ensimmäisen kohteen.", "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Asettaa listan viimeisen kohteen.", "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Asettaa satunnaisen kohteen listassa.", - "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Lisää kohteen listan annettuun kohtaan.", + "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Lisää kohteen annettuun kohtaan listassa.", "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Lisää kohteen listan kärkeen.", "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Lisää kohteen listan loppuun.", "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Lisää kohteen satunnaiseen kohtaan listassa.", diff --git a/msg/json/fr.json b/msg/json/fr.json index 6c0dccc01..b826f36bc 100644 --- a/msg/json/fr.json +++ b/msg/json/fr.json @@ -262,7 +262,7 @@ "LISTS_SET_INDEX_SET": "mettre", "LISTS_SET_INDEX_INSERT": "insérer en", "LISTS_SET_INDEX_INPUT_TO": "comme", - "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Fixe l’élément à la position indiquée dans une liste.", + "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Met à jour l’élément à la position indiquée dans une liste.", "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Fixe le premier élément dans une liste.", "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Fixe le dernier élément dans une liste.", "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Fixe un élément au hasard dans une liste.", diff --git a/msg/json/hi.json b/msg/json/hi.json index c948f3c17..c7486bff5 100644 --- a/msg/json/hi.json +++ b/msg/json/hi.json @@ -203,11 +203,9 @@ "LISTS_GET_INDEX_GET_REMOVE": "प्राप्त करे और हटाए", "LISTS_GET_INDEX_REMOVE": "निकालें", "LISTS_GET_INDEX_FROM_END": "अंत से #", - "LISTS_GET_INDEX_FIRST": "पहला", - "LISTS_GET_INDEX_LAST": "आखिरी", - "LISTS_GET_INDEX_RANDOM": "रैन्डम", "LISTS_GET_INDEX_FIRST": "%1 पहला आइटम है।", "LISTS_GET_INDEX_LAST": "%1 आखरी आइटम है।", + "LISTS_GET_INDEX_RANDOM": "रैन्डम", "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "सूची का पहला आइटम रिटर्न करता है।", "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "सूची का आखरी आइटम रिटर्न करता है।", "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "सूची से रैन्डम आइटम रिटर्न करता है।", diff --git a/msg/json/sv.json b/msg/json/sv.json index 6bff192e4..a9de875cb 100644 --- a/msg/json/sv.json +++ b/msg/json/sv.json @@ -246,7 +246,7 @@ "LISTS_INLIST": "i listan", "LISTS_INDEX_OF_FIRST": "hitta första förekomsten av objektet", "LISTS_INDEX_OF_LAST": "hitta sista förekomsten av objektet", - "LISTS_INDEX_OF_TOOLTIP": "Ger tillbaka den första/sista förekomsten av objektet i listan. Ger tillbaka %1 om objektet inte hittas.", + "LISTS_INDEX_OF_TOOLTIP": "Ger tillbaka den första/sista förekomsten av objektet i listan. Returnerar %1 om objektet inte hittas.", "LISTS_GET_INDEX_GET": "hämta", "LISTS_GET_INDEX_GET_REMOVE": "hämta och ta bort", "LISTS_GET_INDEX_REMOVE": "ta bort", diff --git a/msg/json/zh-hans.json b/msg/json/zh-hans.json index 739e71478..33f576791 100644 --- a/msg/json/zh-hans.json +++ b/msg/json/zh-hans.json @@ -186,7 +186,7 @@ "TEXT_LENGTH_TOOLTIP": "返回提供文本的字母数(包括空格)。", "TEXT_ISEMPTY_TITLE": "%1是空的", "TEXT_ISEMPTY_TOOLTIP": "如果提供的文本为空,则返回真。", - "TEXT_INDEXOF_TOOLTIP": "返回在第二个字串中的第一/最后一个匹配项的索引值。如果未找到则返回 %1。", + "TEXT_INDEXOF_TOOLTIP": "返回在第二个字串中的第一/最后一个匹配项的索引值。如果未找到则返回%1。", "TEXT_INDEXOF_INPUT_INTEXT": "自文本", "TEXT_INDEXOF_OPERATOR_FIRST": "寻找第一个出现的文本", "TEXT_INDEXOF_OPERATOR_LAST": "寻找最后一个出现的文本",