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:
Jeremy Bullock 2020-11-12 17:46:42 -07:00 committed by GitHub
parent 51daab8588
commit 43d0e5e1a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 20 deletions

View file

@ -14,6 +14,7 @@
#include "toonz/tproject.h"
#include "toonz/toonzscene.h"
#include "toonz/sceneresources.h"
#include "mainwindow.h"
// TnzCore includes
#include "tsystem.h"
@ -173,29 +174,24 @@ void ExportSceneDvDirModelRootNode::add(std::wstring name,
void ExportSceneDvDirModelRootNode::refreshChildren() {
m_childrenValid = true;
m_children.clear();
// if(m_children.empty())
//{
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();
m_sandboxProjectNode =
new ExportSceneDvDirModelProjectNode(this, sandboxProjectPath);
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
QList<SVNRepository> repositories =
VersionControl::instance()->getRepositories();
@ -210,7 +206,6 @@ void ExportSceneDvDirModelRootNode::refreshChildren() {
node->setPixmap(QPixmap(svgToPixmap(":Resources/vcroot.svg")));
addChild(node);
}
//}
}
//-----------------------------------------------------------------------------
@ -684,7 +679,9 @@ TFilePath ExportScenePopup::createNewProject() {
currentProject->getFolder(i));
project->save(projectPath);
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;
}

View file

@ -1341,6 +1341,8 @@ void DvDirModel::refreshFolderChild(const QModelIndex &i) {
for (r = 0; r < count; r++) refreshFolderChild(index(r, 0, i));
}
//-----------------------------------------------------------------------------
void DvDirModel::forceRefresh() { onSceneSwitched(); }
//-----------------------------------------------------------------------------

View file

@ -360,10 +360,10 @@ public:
void saveRecentFiles();
void updateStuffPath(QString oldPath, QString newPath);
QList<QString> getFilesNameList(FileType fileType);
protected:
void refreshRecentFilesMenu(FileType fileType);
QList<QString> getFilesNameList(FileType fileType);
};
#endif // TESTCUSTOMTAB_H