Added saved status (*) next to title when a Piskel is updated.
Upon saving, the * disappears.
If the workspace contains an unsaved piskel when leaving the application a
message will be displayed to the user, using onbeforeunload.
This logic should also be used everywhere we display a confirm message
before a navigation.
+ decentralized shortcut declaration
+ each service/controller is now responsible for declaring its shorcuts
- documentation (cheatsheet) is still to be maintained manually
- init order matters (shortcutService has to be instanciated before
everyone else) => should have a standalone KeyboardService singleton
which is ready as soon as it is loaded
+ cleanup of color management
+ colors are now stored in palette controller
+ drawing controller has a dependency on palette controller
+ UPDATE COLOR events have been removed (they were used only for
synchronizing palette and drawing controller)
+ added shortcuts for all tools in ToolController
+ modified structure of tools in Controller to Array of descriptors to
allow to declare shortcuts directly when setting up the tool controller
* new file : HistoryManager.js
* can undo (ctrl-z) and redo (ctrl-y) changes performed through the
tools
* history states are recorded per frame
* a new state is recorder each time a tool is released (introduced
TOOL_RELEASED event for this purpose)
* a duplicated frame doesn't inherit the history states of the original
frame
* there is no limit to the number of states that can be stored per frame
* actions such as creating/duplicating/deleting a frame are not
concerned by this update
Partial cleanup of piskel:
new events and constant
move palette and color picker in ToolSelector
create Notifcation.js and move user message in it
create LocalStorageService and move LS stuff in it