Merge pull request #639 from manongjohn/add_path_to_scenecast

Display file paths in Scene Cast
This commit is contained in:
manongjohn 2021-04-03 14:11:40 -04:00 committed by GitHub
commit 71a41f2cc8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 3 deletions

View file

@ -18,6 +18,8 @@
#include "toonz/levelset.h"
#include "toonz/toonzscene.h"
#include "toonz/txshsimplelevel.h"
#include "toonz/txshpalettelevel.h"
#include "toonz/txshsoundlevel.h"
#include "toonz/txshleveltypes.h"
// TnzQt includes
@ -485,7 +487,9 @@ CastBrowser::CastBrowser(QWidget *parent, Qt::WFlags flags)
castSelection->setBrowser(this);
viewerPanel->setSelection(castSelection);
viewerPanel->addColumn(DvItemListModel::FrameCount, 50);
viewerPanel->addColumn(DvItemListModel::FullPath, 300);
m_itemViewer->setModel(this);
m_itemViewer->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
DvItemViewerTitleBar *titleBar = new DvItemViewerTitleBar(m_itemViewer, box);
// titleBar->hide();
@ -631,7 +635,16 @@ QVariant CastBrowser::getItemData(int index, DataType dataType,
return item->getToolTip();
else if (dataType == FrameCount)
return item->getFrameCount();
else if (dataType == VersionControlStatus) {
else if (dataType == FullPath) {
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
TXshSimpleLevel *sl = item->getSimpleLevel();
if (sl) return scene->decodeFilePath(sl->getPath()).getQString();
TXshPaletteLevel *pl = item->getPaletteLevel();
if (pl) return scene->decodeFilePath(pl->getPath()).getQString();
TXshSoundLevel *ml = item->getSoundLevel();
if (ml) return scene->decodeFilePath(ml->getPath()).getQString();
return "";
} else if (dataType == VersionControlStatus) {
if (!item->exists())
return VC_Missing;
else

View file

@ -1435,6 +1435,8 @@ void DvItemViewerPanel::exportFileList() {
if (data.open(QFile::WriteOnly)) {
QTextStream out(&data);
out << "Name,Frames,Path\n";
for (int index = 0; index < getItemCount(); index++) {
if (getModel()->getItemData(index, DvItemListModel::IsFolder).toBool())
continue;
@ -1443,13 +1445,16 @@ void DvItemViewerPanel::exportFileList() {
DvItemListModel::DataType dataType = m_columns[i].first;
if (dataType != DvItemListModel::Name &&
dataType != DvItemListModel::FrameCount)
dataType != DvItemListModel::FrameCount &&
dataType != DvItemListModel::FullPath)
continue;
QString value = getModel()->getItemDataAsString(index, dataType);
out << value;
if (dataType == DvItemListModel::Name) out << ",";
if (dataType == DvItemListModel::Name ||
dataType == DvItemListModel::FrameCount)
out << ",";
}
out << ('\n');
}