Wykres commitów

255 Commity (fd7cc852c799dbc21149f2ddf798cae181bb9477)

Autor SHA1 Wiadomość Data
Michael Ball 65fd07e41a Cleanup code and add placeholders for error messages 2015-11-16 16:33:00 -08:00
Jens Mönig 7070e84841 fixed a redraw-glitch in the "zoom-block" dialog
… which I’d introduced earlier trying to bum out redundant redraws
2015-11-16 18:07:58 +01:00
Jens Mönig 9dddc4326f move comments inside the functions they refer two 2015-11-16 12:43:30 +01:00
Jens Mönig 826eab2e48 Lint changes to gui.js 2015-11-16 12:41:26 +01:00
Jens Mönig 2642708780 Merge pull request #971 from cycomachead/resource-loading
Refactor Loading Resources (Sounds, Libraries, etc)
2015-11-16 12:34:51 +01:00
Jens Mönig 6061403a89 Prepare for v4.0.3
* fixed occasional horizontal rendering artifacts in block “holes”
(C-shaped slots and Ring holes)
* improved user editing of input slots and fixed cursor behavior (note:
the text cursor inside input slots also blinks again, as it should have)
* always export comments attached to prototype hat blocks in the block
editor along with script pic
* when first opening a block editor on a custom block definition make
it big enough to show everything (as much as fits on the screen)
* remember block editor position and dimensions for each edited custom
block definition when acknowledging (pressing OK or APPLY) for the
session
* speed up stacking of commands and loading of projects by suppressing
redundant block redraws
* introducing a “grab threshold” preference to suppress accidental
grabbing through micro-movements of the hand. This addresses the
“cannot-click-on-drop-downs-in-Chrome-under-Windows” set of bug
reports, and also the issues that arise out of accidentally dragging
off a copy of a parameter blob when trying to just click on it to
rename it
* new hidden (shift-click) option to adjust the grab threshold in the
settings menu for the current session
* expand list watchers inside result bubbles and speech/thought
balloons to show everything (as much of the list’s first level as fist
into either the scripting area for result bubbles or the stage for
speech balloons - note resizing the stage affects the size of the list
watchers inside speech balloons, i.e. making the stage bigger increases
the number of visible elements even while the balloon is showing)
* fixed a bug that make an occasional gray rectangle appear at the
mouse pointer
* added a way to invoke blocks synchronously in JavaScript - under
construction (possibly to be used for generic “When” hat blocks and
user-customizable drop-downs)
* added methods to cache morphs’ fullImage and fullBounds while dragging
* Reporters (also nested reporters) and sprite icons (in the corral)
are now semi-transparent when being dragged, so you can see possible
drop target halos /through/ them
* in “prefer empty slot drops” mode (default) it is now much harder to
drop reporters onto non-static C-slots inside custom blocks (e.g. in
FOR loops) and onto variadic input arrowheads (to replace the whole
input with an input list)
* ScriptsMorphs are now noticing transparent clicks (addresses #997)
* %interaction slots are now static, fixed #982 (it is no longer
possible to drop reporters into the input slot of a “When I am…” hat
block (never was intended that it should be possible)
* fixed ctrl-f for the block editor in all situations (thanks, Brian,
for the bug report)
2015-11-16 12:18:40 +01:00
Michael Ball 7976c60d1c Refactor saveFileAs to simplify code paths 2015-11-12 22:38:47 -08:00
Michael Ball f9b72c3507 Display new windows using Blob URLs.
This works great, but:
* Safari treats XML as "Unknown.css"
* Chromes disabled Save As recently.... :(
2015-11-12 17:04:15 -08:00
Michael Ball 8495cd36f3 Refactor saveFileAs - hopefully this version is much more clear. 2015-11-12 15:16:35 -08:00
Michael Ball 9064425004 Refactor Save to Disk to have less duplicated code 2015-11-12 14:50:18 -08:00
Michael Ball d73ae50328 Pass 1 refactor saveToDisk function 2015-11-12 05:07:21 -08:00
Michael Ball 995d3da58d Update the export project function to use saveXMLAs 2015-11-12 05:05:13 -08:00
Michael Ball 212aa7bdda implement a save*As function for all remaining data types 2015-11-12 04:31:27 -08:00
Michael Ball db7fcada84 Finish saveAs in blocks.js; fix encoding saving a canvas 2015-11-12 03:29:32 -08:00
Michael Ball e47dcb0ebf Improve saveAs refactoring (WIP across all Snap!)
- added TODO comments to all functions that need updating (byob, blocks)
- separate out the code into 3 new functions for readability:
  - `saveFileAs` is a generic method
  - `saveCanvasAs` and `saveXMLAs` are wrappers which aid in exporting images and all XML files which together cover almost all export cases.
  - In other cases, you can call `saveFileAs` directly with some additional input.
- `saveCanvasAs` in particular uses a new `Canvas.toBlob()` option when it is available (FF and IE currently) that should greatly reduce memory.
(Chrome and Safari both have open bugs and may at somepoint implement this function.)
- I have added in code to detect bugs in chrome, including when a new window is being opened. If a new window cannot be opened, the a (to be written) warning message will appear.
- a few functions (namely those in morphic.js) have not touched. However, these are functions which should only occur in a small subset of cases and are behind hidden features.
2015-11-09 15:14:23 -08:00
Michael Ball b9303422ca Delete baseURL code b/c it is not needed
By making all loads relative to snap.html we eliminated the need for
such a function.
2015-10-27 03:10:30 -07:00
Michael Ball 35c1826be3 Fixed the URI encoding partially and re-ordered the canvas processing 2015-10-27 00:57:30 -07:00
Michael Ball fbd11917b9 Exporting Projects works, encoding URI not needed. 2015-10-27 00:36:55 -07:00
Michael Ball cce37d8172 Use resourceURL() for items in help/ 2015-10-07 23:32:52 -07:00
Michael Ball 5452c2bfa7 DRY out creation of Costumes/Sounds/etc submenus 2015-10-07 23:21:20 -07:00
Michael Ball f9d62c1b7f Refactor loading Example projects to be consistent. 2015-10-07 04:49:05 -07:00
Jens Mönig 72bf4cfb8c New feature: Remove Unused Global Blocks
* BYOB, Objects, GUI: New “Remove Unused Global Blocks” Feature
* GUI, Lists: “Export Project Summary” improvements:
  - show variable values as watcher pics
  - expand list watcher pics to show their complete contents (1. level)
  - url for shared projects
  - table of contents
  - basic support for sprite nesting and inheritance
  - make the summary “browsable” instead of editable
  - outline around sprite / stage snapshots
  - experimental hidden (shift-click) “drop-shadows” option
* GUI: Rearrange project menu, only show global blocks-related ops if
there are any
* GUI: Remove URL location.hash information when loading a new project
* Store: Fix deserialization support for projects using inheritance
* German translation update
2015-10-07 13:38:19 +02:00
Michael Ball c6b43bee12 Fix #867; All media has an index file that is being used to load files 2015-10-07 04:23:30 -07:00
Michael Ball b2c6b43192 Cleanup LIBRARIES; Load Libraries using refactored code 2015-10-07 03:27:55 -07:00
Michael Ball 2b69b91a4a Delete the getURLsSbeOrRelative(url) function
This function was only used for tools.xml, and didnt even do its job...
As of this writing, it simply prepended the `baseURL` variable, which is
determined by the Snap! server, not s.b.e.

If we want to have s.b.e as a permanent fallback source we should re-implement
this in a way that is used for all Snap! media.
2015-10-07 02:21:35 -07:00
Michael Ball 36e0dae11d Start Refactoring of Resource Loading; Fix Typo in LIBRARIES
This fixes a small typo in the LIBRARIES file, so that the leap motion lib will
load correctly.

This renames the getCostumesList() method to getMediaList() because its used for
Costumes, Backgrounds, Sounds, and soon libraries.
2015-10-07 02:16:52 -07:00
Jens Mönig 2172084dae New feature: Export Project Summary
* opens a new browser tab on an editable HTML document containing an
overview of the current project which can be further processed (saved,
edited, printed, turned into a PDF) to create a project report.

* now, when you export script pics attached comments get included.

* also new: Support to detect and react to “any” keystroke (hat and
sensing blocks)
2015-10-02 12:39:41 +02:00
Michael Ball 0e84b360e1 Fix #915 so that share URLs actually work. 2015-09-07 19:49:48 -07:00
Jens Mönig 4360e981d1 stop keyboard editing blocks when selecting another sprite 2015-07-28 16:40:12 +02:00
Jens Mönig ecc7f438b3 update version and history 2015-07-28 10:54:27 +02:00
Michael Ball 958ca1a277 Fix the loading of URLs to be consistent.
`baseURL` should always end with a trailing /.

Sorry for not catching this!
2015-07-28 01:40:36 -07:00
Jens Mönig 310c80c091 fix url for libraries
thanks, Brian, for catching this one!
2015-07-27 17:35:14 +02:00
Jens Mönig e8172e83dd update history 2015-07-27 01:12:12 +02:00
Jens Mönig 0a1f2be7a6 stage resizing handle
and improved stage resizing animations
2015-07-27 01:00:06 +02:00
Jens Mönig 7994d6c0ca Prototypal inheritance for sprite-local variables 2015-07-27 00:35:36 +02:00
Jens Mönig 76d9d6bd49 keyboard editing support
activate:
      - shift + click on a scripting pane's background
      - shift + click on any block
      - shift + enter in the IDE's edit mode

    stop editing:
      - left-click on scripting pane's background
      - esc

    navigate among scripts:
      - tab: next script
      - backtab (shift + tab): last script

    start editing a new script:
      - shift + enter

    navigate among commands within a script:
      - down arrow: next command
      - up arrow: last command

    navigate among all elements within a script:
      - right arrow: next element (block or input)
      - left arrow: last element

    move the currently edited script (stack of blocks):
      - shift + arrow keys (left, right, up, down)

    editing scripts:

      - backspace:
        * delete currently focused reporter
        * delete command above current insertion mark (blinking)
        * collapse currently focused variadic input by one element

      - enter:
        * edit currently focused input slot
        * expand currently focused variadic input by one element

      - space:
        * activate currently focused input slot's pull-down menu, if any
        * show a menu of reachable variables for the focused input or
reporter

      - any other key:
        start searching for insertable matching blocks

      - in menus triggered by this feature:
        * navigate with up / down arrow keys
        * trigger selection with enter
        * cancel menu with esc

      - in the search bar triggered b this feature:
        * keep typing / deleting to narrow and update matches
        * navigate among shown matches with up / down arrow keys
        * insert selected match at the focus' position with enter
        * cancel searching and inserting with esc

    running the currently edited script:
        * shift+ctrl+enter simulates clicking the edited script with
the mouse
2015-07-26 23:37:10 +02:00
Jens Mönig 536f92df70 Merge pull request #866 from cycomachead/url-fix
Fix URL bug in #821, and fix #864
2015-07-26 21:31:15 +02:00
Michael Ball 1fc6cd7910 Fix URL bug in #821, and fix #864 2015-07-10 04:09:40 -07:00
Michael Ball 17caaa16f0 Fix a rather stupid and glaring typo in project sharing 2015-07-06 00:11:56 -07:00
jmoenig de82d373be add indentation
again to please old.jslint.com :-)
2015-06-25 16:35:00 +02:00
Jens Mönig 253d800b42 Merge pull request #624 from cycomachead/shared-url
Set location.hash to cloud URLs on project shares
2015-06-25 16:32:45 +02:00
Jens Mönig c701598df1 Merge pull request #606 from Gubolin/issue_190
show an error message if project cannot be loaded (fix #190)
2015-06-25 15:50:26 +02:00
jmoenig 87c9655335 add some spaces
to satisfy old.jslint.com :-)
2015-06-25 15:48:26 +02:00
Jens Mönig 4755fe22ac Merge pull request #821 from show0k/master
Remove harcoded url in gui.js (fix #814)
2015-06-25 15:43:52 +02:00
Jens Mönig c8ef53f9a9 Merge pull request #805 from brollb/master
Fixed typo in Process definition
2015-06-25 15:37:55 +02:00
jmoenig 8a7bc380a8 wrap credits tab in "about" Dialog
to accommodate for @nathan ’s abundant contributions :-)
2015-06-25 15:20:05 +02:00
jmoenig 4c21c9f187 Revert to "new" for object creation
and prepare for new release
2015-06-25 15:11:51 +02:00
Nathan Dinsmore 87c2503571 Use Object.create(…) instead of new …() for inheritance (faster) 2015-06-17 17:11:40 -04:00
Théo Segonds 1b2e0aded4 Remove hardcoded URLs in gui.js. This fix #814 2015-06-07 16:57:02 +02:00
Brian Broll 2cbba6c762 Fixed #809 2015-05-23 17:09:45 -05:00
Jens Mönig 6b19caf75d Fix encoding for exported sprites (esp. comments) 2015-05-18 12:23:57 +02:00
Jens Mönig 8e92c65cae Release! 2015-05-01 12:24:52 -04:00
Jens Mönig 4cd3488e60 formatting tweaks for JSLint’s benefit 2015-05-01 12:11:07 -04:00
Jens Mönig 848773073a Merge pull request #768 from bromagosa/contrib
new parameters to allow embedding projects
2015-05-01 12:05:42 -04:00
Jens Mönig 052a3e07b3 hide “save to disk” option behind shift-click again (has issues in Chrome) 2015-05-01 12:00:56 -04:00
Bernat Romagosa 30caffbf02 new parameters to allow embedding projects 2015-04-10 13:18:03 +02:00
Jens Mönig fdd2ecf7d9 switch from beta to release candidate 2015-03-15 15:01:25 +01:00
Jens Mönig 31ea6f6030 Only enable input caching for blocks 2015-03-09 07:39:51 +01:00
Jens Mönig ee88f7ad39 Cache inputs - accelerate recursive reporters
and warped / turbo recursive commands by up to 40%
2015-02-28 05:44:59 -08:00
jmoenig e6dcf07b3d Update German translation 2015-02-23 14:56:10 +01:00
jmoenig 662a743f4e Make “project data in URLs” a hidden dev option
(prevent long urls per default)
2015-02-20 15:01:43 +01:00
jmoenig 116933ddab Un-hide “Save to disk” feature
(currently supported by both Chrome and Firefox, but not by Safari)
2015-02-20 12:49:18 +01:00
jmoenig e45562fc53 Added url switch #cloud: to open a shared project in edit mode 2015-02-06 11:29:46 +01:00
jmoenig 386ff33895 Fix Zoom Dialog’s sample background in “flat” design 2015-01-21 12:26:54 +01:00
jmoenig fee92b65f2 Generate ScriptsPaneTexture programmatically 2015-01-21 12:18:46 +01:00
jmoenig 4a3cf0aa3b fixed #680 2015-01-13 08:37:33 +01:00
jmoenig 667193b9f0 Force Chrome to show GUI messages
add additional yields to nextSteps() to work around a bug recently
introduced to Chrome (other browsers don’t need this kludge). Remember
to take those yields out again when and if Chrome (ever) fixes this
(which, for all I know, may be never)
2015-01-12 13:05:14 +01:00
jmoenig 50e84f8890 Check project for compatibility
notify users of potential incompatibilities when opening projects
created in other forks (e.g. BeetleBlocks)
2015-01-12 10:15:56 +01:00
jmoenig 060643c161 fix typo & update history 2014-12-04 15:54:52 +01:00
Michael Ball 2b2ff77823 Really fix setting the cloud as default save location when logged in 2014-12-04 03:01:40 -08:00
jmoenig d393d13b37 updated history 2014-12-01 11:55:02 +01:00
Michael Ball 919b72e3d4 Fix to set SnapCloud variable before the IDE morph is built.
This makes it so that #627 works as intended, correctly fixing #502
2014-11-30 21:56:33 -08:00
Michael Ball e892ea80cb Shared URLs: remove call to .siblings()
Project dialog morphs reference `ide` directly instead of using a function call
2014-11-24 15:23:40 -08:00
Michael Ball 94f94467b5 Merge branch 'master' of git://github.com/jmoenig/Snap--Build-Your-Own-Blocks into shared-url
* 'master' of git://github.com/jmoenig/Snap--Build-Your-Own-Blocks: (34 commits)
  tail-call-elimination for reporters - experiment
  allow recursive reporters to be stopped by user
  updated history
  fixed #131
  Fixed #34
  Fixed #644
  Fixed #372
  Fixed #416
  Fixed #318
  Fix “stop this block” primitive for tail-call-elimination
  Fix "stop this block"’s lexical awareness
  Add a new Favicon to Snap! (Clearer Lambda)
  integrate translation update
  push morphic.js version date
  fix ‘line’ option in ‘split’ block for Windows files
  integrate percent sign fix for JSLint
  Updated the “About” Dialog
  renamed Process::callback to "onComplete"
  Fixed #364 avoid “freezing” when calling LAUNCH on empty ring
  Fixed #642, avoid “freezing” when calling CONS on non-list/null
  ...
2014-11-24 15:13:51 -08:00
jmoenig cbe3d6fe18 Updated the “About” Dialog
with a mention of support from CDG (SAP Labs)
2014-11-20 14:55:31 +01:00
Michael Ball 0dcca0606c Set Default Save location to Cloud on Snap! load
When Snap! is loaded, Snap! will now check whether a user is logged in
(via the presence of `SnapCloud.username`) and if so, the default save
location will be the cloud.
2014-10-27 18:19:29 -07:00
Michael Ball 9e5fb9a4cb Set location.hash to cloud URLs on project shares
This will make it much easier to get the URL for a shared project.
It also removes the # from the URL when the open project is unshared."
2014-10-25 02:03:12 -07:00
jmoenig 2ae675132a fixed #604. Thanks, @Gubolin! 2014-10-06 10:34:56 +02:00
Gubolin 5977686aa2 show an error message if project cannot be loaded (fix #190) 2014-10-04 13:47:06 +02:00
jmoenig 45e1f3193b New feature - minimal stage mode (shift-click on small-stage button) 2014-10-02 10:31:09 +02:00
jmoenig ba58b0e5b6 updated history 2014-10-01 13:52:17 +02:00
Manuel Menezes de Sequeira 106cd56128 add localization to default costume name 2014-10-01 09:25:01 +01:00
jmoenig 94c44902e1 fixed #585
Thanks, Michael, for reporting this!
2014-09-22 15:32:36 +02:00
jmoenig 9f7028dbf9 propagate DELETE to nested sprite parts 2014-07-30 12:39:33 +02:00
jmoenig bef0e7a790 export and import nested sprites 2014-07-29 12:03:06 +02:00
jmoenig b451a08812 duplicate and clone nested sprites 2014-07-29 10:50:36 +02:00
jmoenig f72c133a49 updated credits 2014-07-25 14:46:27 +02:00
jmoenig 75d9adbfe2 improve unique sprite- and costume names 2014-07-24 11:40:36 +02:00
jmoenig 0e02a5ff60 ensure unique costume names when copying costumes via d&d 2014-07-18 15:27:28 +02:00
jmoenig 7328bfb034 ensure unique names when renaming costumes 2014-07-18 15:21:19 +02:00
jmoenig 1076694d9c ensure unique names for costumes created by the paint editor 2014-07-18 14:54:29 +02:00
jmoenig c1d5910f33 list op fixes, thanks, Brian! 2014-07-18 07:44:26 +02:00
jmoenig d88da36762 ensure unique names for imported costumes
Use new mechanism for unique costume names on imported costumes
2014-07-17 15:11:05 +02:00
Jens Mönig 4fa53772f5 Merge pull request #509 from jmoenig/bh
Bh
2014-07-11 18:08:55 +02:00
jmoenig c4968843e4 fixed #508 (don’t popup empty menus)
thanks, @cycomached!
2014-07-11 17:59:16 +02:00
brianharvey ce7f681c55 Improve sbe-or-relative to generalize
New method GetURLsbeOrRelative(url) takes a relative URL and tries it first on s.b.e and if that fails as a relative url.
2014-07-11 08:52:30 -07:00
jmoenig 98772028bb limit persistent blocks zoom to 12 2014-07-11 17:32:12 +02:00
brianharvey c965d45259 Allow loading tools.xml from mirror *or* s.b.e
Using full http://s.b.e/snapsource/tools.xml disallows local repository.
Using relative tools.xml disallows running from local disk but getting tools from s.b.e.
So we try both.
2014-07-11 08:28:48 -07:00
jmoenig a33400d6d2 fixed #507 (limit persistent block zoom to 12x)
thanks, @cycomachead !
2014-07-11 17:23:43 +02:00
jmoenig f27e72e2b2 fixed #412 (incomplete sprite-removal) 2014-07-11 17:14:35 +02:00