From fed271bdd22585ca9c3b6185078b2e9ff5c558f9 Mon Sep 17 00:00:00 2001 From: Rodney Date: Oct 21 2020 22:40:15 +0000 Subject: Merge pull request #3545 from shun-iwasawa/export_subxsheet_column_to_xdts Export Sub Xsheet Column to XDTS --- diff --git a/toonz/sources/toonz/xdtsio.cpp b/toonz/sources/toonz/xdtsio.cpp index 5ccce01..2c6f20f 100644 --- a/toonz/sources/toonz/xdtsio.cpp +++ b/toonz/sources/toonz/xdtsio.cpp @@ -7,6 +7,7 @@ #include "toonz/txsheet.h" #include "toonz/txshcell.h" #include "toonz/txshsimplelevel.h" +#include "toonz/txshchildlevel.h" #include "toonz/txsheethandle.h" #include "toonz/tscenehandle.h" #include "toonz/preferences.h" @@ -201,15 +202,17 @@ QVector XdtsFieldTrackItem::getCellFrameIdTrack() const { QString XdtsFieldTrackItem::build(TXshCellColumn *column) { // register the firstly-found level - TXshSimpleLevel *level = nullptr; + TXshLevel *level = nullptr; TXshCell prevCell; int r0, r1; column->getRange(r0, r1); if (r0 > 0) addFrame(0, TFrameId(-1)); for (int row = r0; row <= r1; row++) { TXshCell cell = column->getCell(row); - // try to register the level - if (!level && cell.getSimpleLevel()) level = cell.getSimpleLevel(); + // try to register the level. simple levels and sub xsheet levels are + // exported + if (!level) level = cell.getSimpleLevel(); + if (!level) level = cell.getChildLevel(); // if the level does not match with the registered one, // handle as the empty cell if (!level || cell.m_level != level) cell = TXshCell();