5080 Commits

Author SHA1 Message Date
David Capello
595b2c14d2 Improve selection of layer in groups in Export Sprite Sheet 2016-08-29 15:53:14 -03:00
David Capello
5ecc356a41 Replace GPL license with the new EULA 2016-08-29 13:08:21 -03:00
David Capello
03be4aa23d Convert "bool" members in ui::Widget to flags 2016-08-29 12:23:23 -03:00
David Capello
873407cd0f Fix document_api_tests for new restack layer function params 2016-08-29 10:50:51 -03:00
David Capello
e9871543be Timeline: Add drag & drop of layers as first child in a group 2016-08-26 18:18:25 -03:00
David Capello
94b508989e Fix changing opacity of a cel's range
We have to change the range in Timeline before generating a
onActiveSiteChange() so the cel's properties dialog knows the new range
to be used to change the opacity.
2016-08-25 20:21:38 -03:00
David Capello
a5c464102b Fix bug setting layer opacity in properties dialog 2016-08-25 17:59:00 -03:00
David Capello
9e28a56eb3 Fix duplicateLayerAfter() when we drag-and-drop to copy a layer as first item in a different layer group 2016-08-25 17:50:08 -03:00
David Capello
eeb701dc8c Save hierarchy of layers correctly in data recovery backups 2016-08-25 17:40:47 -03:00
David Capello
be704d27f3 Don't list incompatible session in data recovery
An incompatible session is when the backup was done with another
Aseprite version number that the running instance.
2016-08-25 17:40:02 -03:00
David Capello
f527eab3bd Remove unused member variables in crash::Session 2016-08-25 17:38:51 -03:00
David Capello
ee7c4940d0 Fix duplicateLayerBefore() when it's used in last (top) layer 2016-08-25 17:37:29 -03:00
David Capello
7abda70dad Merge branch 'remove-layer-index' into layer-folder 2016-08-25 12:33:31 -03:00
David Capello
f2f1c1008b Add support to move/copy non-adjacent layers/frames
Changes:
* With this patch we finally removed the LayerIndex class and member
  functions to access layers by index (like Sprite::firstLayer/layerLayer
  /layer/indexToLayer/layerToIndex() etc.). As layer groups can be
  expanded/collapsed, it doesn't make sense to use layer index to
  access layers directly from sprite.
* Now we use a layer_t (int) to access a list of browsable layers each
  time we want to iterate visible layers in the timeline.
* Replaced CelsRange() and Sprite::uniqueCels() param with
  SelectedFrames to iterate non-adjacent cels.
* Updated clipboard operations (copy/paste) in timeline to support
  layer groups.
* Updated Timeline control to support selecting multiple layer/frame
  ranges with Ctrl+ or Alt+click (fix #1157)
* Added more test units for DocumentRange operations (mainly for
  non-adjacent ranges).
2016-08-25 12:31:00 -03:00
David Capello
8bc6149798 Add extra checks to SelectedLayers/Frames 2016-08-23 15:12:24 -03:00
David Capello
01af7870ad Add TRACE_CMD to avoid trace output for each Cmd 2016-08-23 13:54:49 -03:00
David Capello
356d88b413 Fix crash in SelectedLayers::displace() when layerDelta is out of bounds 2016-08-23 13:50:35 -03:00
David Capello
97813251e1 Ungroup Eraser & Eyedropper tools
Several users don't find the eyedropper and they think it doesn't exist
at all. It'll be better to show this tool by default at the top toolbox
level to avoid confusion.
2016-08-22 20:53:57 -03:00
David Capello
b4d423051e Improve error reporting on DocumentRange tests 2016-08-20 13:16:46 -03:00
David Capello
eb43fa93bd Fix crash if the last layer index saved in the doc preferences is out of bounds 2016-08-19 18:51:15 -03:00
David Capello
4c1a57f651 Include menus when we search for keyboard shortcuts 2016-08-19 14:27:45 -03:00
David Capello
3813b9bf1e OS X: Fix right-click on Wacom Intuos tablet
This problem might be related to a specific Wacom driver version
for OS X where right-click buttons are reported like NSRightMouse*
events but with their [NSEvent buttonNumber] property set to 0
(instead of 1 to indicate a right-click).
2016-08-17 18:21:41 -03:00
David Capello
0f2d0cbcd0 Fix invalid selection after removing frames (fix #1235) 2016-08-17 17:05:46 -03:00
David Capello
9c97f6c329 Update clip module 2016-08-14 21:22:21 -03:00
David Capello
d7f2155adb Show popup menu on "Play" buttons with Ctrl+click 2016-08-13 13:35:35 -03:00
David Capello
36719da7b2 Convert SelectedLayers into a class 2016-08-12 18:01:12 -03:00
David Capello
8971c8857a Remove Sprite::countLayers() member function 2016-08-12 14:21:15 -03:00
David Capello
5a2ee4fe1b Avoid layerToIndex/indexToLayer() in DocumentApi + some tests 2016-08-12 13:11:37 -03:00
David Capello
906d76ad41 Add SelectedFrames::displace() member function
We have plans to include a SelectedFrames in DocumentRange to select
non-adjacent frames. This member function will be useful to displace
those frames.
2016-08-12 13:08:22 -03:00
David Capello
b0c168a047 Modify .ase encoder/decoder to avoid LayerIndexes
With this patch we avoid using Sprite::layerToIndex/indexToLayer()
member functions in AseFormat.
2016-08-12 11:27:15 -03:00
David Capello
f4b9f3c322 Use Sprite::allLayersCount/allLayers() when possible 2016-08-11 21:28:45 -03:00
David Capello
e35a26fdeb Replace access to the first sprite layer with Sprite::root()->firstLayer() 2016-08-11 20:51:14 -03:00
David Capello
22203fb4d3 Add SelectedFrames::operator== and != 2016-08-11 15:54:50 -03:00
David Capello
fbc8d72f1f Add doc::are_layers_adjacent() function
It'll be useful to know if a range operation (e.g. restack layers) will
be applied to adjacent layers (i.e. a range of layers like in previous
Aseprite versions), or to a non-adjacent set of layers.
2016-08-11 15:15:53 -03:00
David Capello
13e8840014 Replace document.site.layer preference with a layer_t
Now we save the previously selected layer of each document on its
preferences using the browsable set of layers.
2016-08-11 15:04:15 -03:00
David Capello
b4c63a82e1 Add doc::have_layers_same_parent() 2016-08-11 14:55:18 -03:00
David Capello
e5ef4be54a Add allLayersCount() to LayerGroup and Sprite
This will give us the total number of layers + children.
2016-08-11 14:53:51 -03:00
David Capello
ae91c3d15b Add doc::find_layer_index()
It'll be useful to known the index of a layer inside a list (e.g. a list
of all layers, or a list of all browsable layers, etc.).
2016-08-11 14:30:44 -03:00
David Capello
9fd340751f Add doc::displace_selected_layers() function
This function would be useful for the Timeline to displace the set of
selected layers range when the user drag-and-drop it.
2016-08-11 14:24:23 -03:00
David Capello
866385fe4b Add new layer_t type as a replacement for the old LayerIndex 2016-08-11 14:22:45 -03:00
David Capello
63a7a477ff Fix SelectedFrames::insert() when from > to 2016-08-11 14:11:48 -03:00
David Capello
5950bd7df1 Add SelectedFrames::clear() 2016-08-11 13:45:50 -03:00
David Capello
3a4251a9a4 Simplify issue template 2016-08-09 17:04:59 -03:00
Carlo "zED" Caputo
eca0ac22e8 merge fix 2016-08-07 08:49:58 -03:00
Carlo "zED" Caputo
d7347d8720 size of the overlay should not be zoomed 2016-08-07 08:27:21 -03:00
Carlo "zED" Caputo
2075109a5a only integer timeline zoom sizes to fit the style 2016-08-07 08:27:18 -03:00
Carlo "zED" Caputo
9ec5587d72 removed thumb opacity setting 2016-08-07 08:26:37 -03:00
Carlo "zED" Caputo
6820c5109c thumbs on zoom or if checked and proper cel link 2016-08-07 08:21:16 -03:00
Carlo "zED" Caputo
1784deaf61 not zooming the timeline headers 2016-08-07 05:58:44 -03:00
Carlo 'zED' Caputo
30feffab8d setting to change timeline zoom 2016-08-07 05:58:43 -03:00