Skip to content

Commit

Permalink
Export all groups (even collapsed ones) by default in JSON metadata (fix
Browse files Browse the repository at this point in the history
  • Loading branch information
dacap committed Aug 17, 2020
1 parent 88f9fbe commit b355f34
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 21 deletions.
4 changes: 2 additions & 2 deletions src/app/cmd/flatten_layers.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2019 Igara Studio S.A.
// Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
Expand Down Expand Up @@ -61,7 +61,7 @@ void FlattenLayers::onExecute()
backgroundIsSel = true;
}

LayerList list = layers.toLayerList();
LayerList list = layers.toBrowsableLayerList();
if (list.empty())
return; // Do nothing

Expand Down
2 changes: 1 addition & 1 deletion src/app/commands/cmd_new_layer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ void NewLayerCommand::onExecute(Context* context)
}

if (sameParents == selLayers.size()) {
for (Layer* newChild : selLayers.toLayerList()) {
for (Layer* newChild : selLayers.toBrowsableLayerList()) {
tx(
new cmd::MoveLayer(newChild, layer,
static_cast<LayerGroup*>(layer)->lastLayer()));
Expand Down
10 changes: 7 additions & 3 deletions src/app/doc_exporter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1365,10 +1365,14 @@ void DocExporter::createDataFile(const Samples& samples,
Layer* root = sprite->root();

LayerList layers;
if (item.selLayers)
layers = item.selLayers->toLayerList();
else
if (item.selLayers) {
// Select all layers (not only browseable ones)
layers = item.selLayers->toAllLayersList();
}
else {
// Select all visible layers by default
layers = sprite->allVisibleLayers();
}

for (Layer* layer : layers) {
// If this layer is inside a group, check that the group will
Expand Down
16 changes: 8 additions & 8 deletions src/app/doc_range_ops.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -275,8 +275,8 @@ static DocRange drop_range_op(
if (op == Move) {
SelectedLayers srcSelLayers = from.selectedLayers();
SelectedLayers dstSelLayers = to.selectedLayers();
LayerList srcLayers = srcSelLayers.toLayerList();
LayerList dstLayers = dstSelLayers.toLayerList();
LayerList srcLayers = srcSelLayers.toBrowsableLayerList();
LayerList dstLayers = dstSelLayers.toBrowsableLayerList();
ASSERT(!srcLayers.empty());
if (srcLayers.empty())
return from;
Expand Down Expand Up @@ -347,8 +347,8 @@ static DocRange drop_range_op(
if (allLayers.empty())
break;

LayerList srcLayers = from.selectedLayers().toLayerList();
LayerList dstLayers = to.selectedLayers().toLayerList();
LayerList srcLayers = from.selectedLayers().toBrowsableLayerList();
LayerList dstLayers = to.selectedLayers().toBrowsableLayerList();
if (srcLayers.empty() ||
dstLayers.empty())
throw std::invalid_argument("You need to specify a non-empty cels range");
Expand Down Expand Up @@ -394,8 +394,8 @@ static DocRange drop_range_op(
if (allLayers.empty())
break;

LayerList srcLayers = from.selectedLayers().toLayerList();
LayerList dstLayers = to.selectedLayers().toLayerList();
LayerList srcLayers = from.selectedLayers().toBrowsableLayerList();
LayerList dstLayers = to.selectedLayers().toBrowsableLayerList();
ASSERT(!srcLayers.empty());

switch (op) {
Expand Down Expand Up @@ -502,7 +502,7 @@ void reverse_frames(Doc* doc, const DocRange& range)
case DocRange::kCels:
frameBegin = range.firstFrame();
frameEnd = range.lastFrame();
layers = range.selectedLayers().toLayerList();
layers = range.selectedLayers().toBrowsableLayerList();
swapCels = true;
break;
case DocRange::kFrames:
Expand All @@ -514,7 +514,7 @@ void reverse_frames(Doc* doc, const DocRange& range)
case DocRange::kLayers:
frameBegin = frame_t(0);
frameEnd = sprite->totalFrames()-1;
layers = range.selectedLayers().toLayerList();
layers = range.selectedLayers().toBrowsableLayerList();
swapCels = true;
break;
}
Expand Down
4 changes: 2 additions & 2 deletions src/app/ui/timeline/timeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ void Timeline::prepareToMoveRange()
ASSERT(m_range.enabled());

layer_t i = 0;
for (auto layer : m_range.selectedLayers().toLayerList()) {
for (auto layer : m_range.selectedLayers().toBrowsableLayerList()) {
if (layer == m_layer)
break;
++i;
Expand All @@ -539,7 +539,7 @@ void Timeline::moveRange(const Range& range)
m_range = range;

layer_t i = 0;
for (auto layer : range.selectedLayers().toLayerList()) {
for (auto layer : range.selectedLayers().toBrowsableLayerList()) {
if (i == m_moveRangeData.activeRelativeLayer) {
setLayer(layer);
break;
Expand Down
6 changes: 3 additions & 3 deletions src/app/util/clipboard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -481,8 +481,8 @@ void paste(Context* ctx, const bool interactive)
while (dstFrameFirst+srcRange.frames() > dstSpr->totalFrames())
api.addFrame(dstSpr, dstSpr->totalFrames());

auto srcLayers = srcRange.selectedLayers().toLayerList();
auto dstLayers = dstRange.selectedLayers().toLayerList();
auto srcLayers = srcRange.selectedLayers().toBrowsableLayerList();
auto dstLayers = dstRange.selectedLayers().toBrowsableLayerList();

auto srcIt = srcLayers.begin();
auto dstIt = dstLayers.begin();
Expand Down Expand Up @@ -585,7 +585,7 @@ void paste(Context* ctx, const bool interactive)
// copy the parent.
SelectedLayers srcLayersSet = srcRange.selectedLayers();
srcLayersSet.removeChildrenIfParentIsSelected();
LayerList srcLayers = srcLayersSet.toLayerList();
LayerList srcLayers = srcLayersSet.toBrowsableLayerList();

// Expand frames of dstDoc if it's needed.
frame_t maxFrame = 0;
Expand Down
2 changes: 1 addition & 1 deletion src/doc/selected_layers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ LayerList SelectedLayers::toAllLayersList() const
return output;
}

LayerList SelectedLayers::toLayerList() const
LayerList SelectedLayers::toBrowsableLayerList() const
{
LayerList output;

Expand Down
2 changes: 1 addition & 1 deletion src/doc/selected_layers.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ namespace doc {

bool contains(const Layer* layer) const;
bool hasSameParent() const;
LayerList toLayerList() const;
LayerList toBrowsableLayerList() const;
LayerList toAllLayersList() const;

void removeChildrenIfParentIsSelected();
Expand Down

0 comments on commit b355f34

Please sign in to comment.