Add Recent Projects to Export Scene Popup (#494)
* Add recent projects to export scene * Add new project to recent projects
This commit is contained in:
parent
51daab8588
commit
43d0e5e1a8
3 changed files with 19 additions and 20 deletions
|
@ -14,6 +14,7 @@
|
||||||
#include "toonz/tproject.h"
|
#include "toonz/tproject.h"
|
||||||
#include "toonz/toonzscene.h"
|
#include "toonz/toonzscene.h"
|
||||||
#include "toonz/sceneresources.h"
|
#include "toonz/sceneresources.h"
|
||||||
|
#include "mainwindow.h"
|
||||||
|
|
||||||
// TnzCore includes
|
// TnzCore includes
|
||||||
#include "tsystem.h"
|
#include "tsystem.h"
|
||||||
|
@ -173,29 +174,24 @@ void ExportSceneDvDirModelRootNode::add(std::wstring name,
|
||||||
void ExportSceneDvDirModelRootNode::refreshChildren() {
|
void ExportSceneDvDirModelRootNode::refreshChildren() {
|
||||||
m_childrenValid = true;
|
m_childrenValid = true;
|
||||||
m_children.clear();
|
m_children.clear();
|
||||||
// if(m_children.empty())
|
|
||||||
//{
|
|
||||||
TProjectManager *pm = TProjectManager::instance();
|
TProjectManager *pm = TProjectManager::instance();
|
||||||
std::vector<TFilePath> projectRoots;
|
|
||||||
// pm->getProjectRoots(projectRoots);
|
|
||||||
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < (int)projectRoots.size(); i++) {
|
|
||||||
TFilePath projectRoot = projectRoots[i];
|
|
||||||
ExportSceneDvDirModelSpecialFileFolderNode *projectRootNode =
|
|
||||||
new ExportSceneDvDirModelSpecialFileFolderNode(this, L"Project root",
|
|
||||||
projectRoot);
|
|
||||||
projectRootNode->setPixmap(QPixmap(recolorPixmap(
|
|
||||||
svgToPixmap(getIconThemePath("actions/18/folder_project_root.svg")))));
|
|
||||||
m_projectRootNodes.push_back(projectRootNode);
|
|
||||||
addChild(projectRootNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
TFilePath sandboxProjectPath = pm->getSandboxProjectFolder();
|
TFilePath sandboxProjectPath = pm->getSandboxProjectFolder();
|
||||||
m_sandboxProjectNode =
|
m_sandboxProjectNode =
|
||||||
new ExportSceneDvDirModelProjectNode(this, sandboxProjectPath);
|
new ExportSceneDvDirModelProjectNode(this, sandboxProjectPath);
|
||||||
addChild(m_sandboxProjectNode);
|
addChild(m_sandboxProjectNode);
|
||||||
|
|
||||||
|
QList<QString> projects = RecentFiles::instance()->getFilesNameList(RecentFiles::Project);
|
||||||
|
int i;
|
||||||
|
for (auto project : projects) {
|
||||||
|
TFilePath projectRoot(project);
|
||||||
|
if (projectRoot == sandboxProjectPath) continue;
|
||||||
|
ExportSceneDvDirModelProjectNode*projectNode =
|
||||||
|
new ExportSceneDvDirModelProjectNode(this, projectRoot);
|
||||||
|
addChild(projectNode);
|
||||||
|
}
|
||||||
|
|
||||||
// SVN Repository
|
// SVN Repository
|
||||||
QList<SVNRepository> repositories =
|
QList<SVNRepository> repositories =
|
||||||
VersionControl::instance()->getRepositories();
|
VersionControl::instance()->getRepositories();
|
||||||
|
@ -210,7 +206,6 @@ void ExportSceneDvDirModelRootNode::refreshChildren() {
|
||||||
node->setPixmap(QPixmap(svgToPixmap(":Resources/vcroot.svg")));
|
node->setPixmap(QPixmap(svgToPixmap(":Resources/vcroot.svg")));
|
||||||
addChild(node);
|
addChild(node);
|
||||||
}
|
}
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -684,7 +679,9 @@ TFilePath ExportScenePopup::createNewProject() {
|
||||||
currentProject->getFolder(i));
|
currentProject->getFolder(i));
|
||||||
project->save(projectPath);
|
project->save(projectPath);
|
||||||
DvDirModel::instance()->refreshFolder(projectPath.getParentDir());
|
DvDirModel::instance()->refreshFolder(projectPath.getParentDir());
|
||||||
|
std::string newProj = project->getProjectFolder().getQString().toStdString();
|
||||||
|
RecentFiles::instance()->addFilePath(project->getProjectFolder().getQString(), RecentFiles::Project);
|
||||||
|
DvDirModel::instance()->forceRefresh();
|
||||||
return projectPath;
|
return projectPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1341,6 +1341,8 @@ void DvDirModel::refreshFolderChild(const QModelIndex &i) {
|
||||||
for (r = 0; r < count; r++) refreshFolderChild(index(r, 0, i));
|
for (r = 0; r < count; r++) refreshFolderChild(index(r, 0, i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void DvDirModel::forceRefresh() { onSceneSwitched(); }
|
void DvDirModel::forceRefresh() { onSceneSwitched(); }
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
@ -360,10 +360,10 @@ public:
|
||||||
void saveRecentFiles();
|
void saveRecentFiles();
|
||||||
|
|
||||||
void updateStuffPath(QString oldPath, QString newPath);
|
void updateStuffPath(QString oldPath, QString newPath);
|
||||||
|
QList<QString> getFilesNameList(FileType fileType);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void refreshRecentFilesMenu(FileType fileType);
|
void refreshRecentFilesMenu(FileType fileType);
|
||||||
QList<QString> getFilesNameList(FileType fileType);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TESTCUSTOMTAB_H
|
#endif // TESTCUSTOMTAB_H
|
||||||
|
|
Loading…
Reference in a new issue