Wykres commitów

209 Commity (e1e73d8feb0dd6e7c4f7f40cce6bd514ab43cf64)

Autor SHA1 Wiadomość Data
Michael Ball fa1a24a4bd Fix syntax error, and accessing IDE bug exporting blocks 2015-11-16 18:41:54 -08:00
Michael Ball 6f03f121ad Fix some file names in exporting content 2015-11-16 18:31:19 -08:00
Michael Ball dafb6146f6 Fix merge conflicts, and cleanup saveFileAs code 2015-11-16 18:12:33 -08:00
Michael Ball fa6f168bc0 Merge in 4.0.3, resolve conflicts with scriptpics 2015-11-16 17:53:17 -08:00
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