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/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;
} }

View file

@ -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(); }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View file

@ -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