| |
| |
|
|
| |
| |
| |
| |
| |
| using namespace TEnv; |
| |
| TFilePath ToonzFolder::getModulesDir() |
| { |
| return getProfileFolder() + "layouts"; |
| } |
| |
| TFilePathSet ToonzFolder::getProjectsFolders() |
| { |
| TFilePathSet fps = getSystemVarPathSetValue(getSystemVarPrefix() + "PROJECTS"); |
| if (fps.empty()) |
| fps.push_back(TEnv::getStuffDir() + "Projects"); |
| return fps; |
| } |
| |
| TFilePath ToonzFolder::getFirstProjectsFolder() |
| { |
| TFilePathSet fps = getProjectsFolders(); |
| if (fps.empty()) |
| return TFilePath(); |
| else |
| return *fps.begin(); |
| } |
| |
| TFilePath ToonzFolder::getLibraryFolder() |
| { |
| TFilePath fp = getSystemVarPathValue(getSystemVarPrefix() + "LIBRARY"); |
| if (fp == TFilePath()) |
| fp = getFirstProjectsFolder() + "library"; |
| return fp; |
| } |
| |
| TFilePath ToonzFolder::getStudioPaletteFolder() |
| { |
| TFilePath fp = getSystemVarPathValue(getSystemVarPrefix() + "STUDIOPALETTE"); |
| if (fp == TFilePath()) |
| fp = getFirstProjectsFolder() + "studiopalette"; |
| return fp; |
| } |
| |
| TFilePath ToonzFolder::getFxPresetFolder() |
| { |
| TFilePath fp = getSystemVarPathValue(getSystemVarPrefix() + "FXPRESETS"); |
| if (fp == TFilePath()) |
| fp = getFirstProjectsFolder() + "fxs"; |
| return fp; |
| } |
| |
| TFilePath ToonzFolder::getCacheRootFolder() |
| { |
| TFilePath fp = getSystemVarPathValue(getSystemVarPrefix() + "CACHEROOT"); |
| if (fp == TFilePath()) |
| fp = getStuffDir() + "cache"; |
| return fp; |
| } |
| |
| TFilePath ToonzFolder::getProfileFolder() |
| { |
| TFilePath fp = getSystemVarPathValue(getSystemVarPrefix() + "PROFILES"); |
| if (fp == TFilePath()) |
| fp = getStuffDir() + "profiles"; |
| return fp; |
| } |
| |
| TFilePath ToonzFolder::getReslistPath(bool forCleanup) |
| { |
| return getFirstProjectsFolder() + (forCleanup ? "cleanupreslist.txt" : "reslist.txt"); |
| } |
| |
| TFilePath ToonzFolder::getTemplateModuleDir() |
| { |
| return getModulesDir() + getModuleName(); |
| } |
| |
| TFilePath ToonzFolder::getMyModuleDir() |
| { |
| TFilePath fp(getTemplateModuleDir()); |
| return fp.withName(fp.getWideName() + L"." + TSystem::getUserName().toStdWString()); |
| } |
| |
| TFilePath ToonzFolder::getModuleFile(TFilePath filename) |
| { |
| TFilePath fp = getMyModuleDir() + filename; |
| if (TFileStatus(fp).doesExist()) |
| return fp; |
| fp = getTemplateModuleDir() + filename; |
| return fp; |
| } |
| |
| TFilePath ToonzFolder::getModuleFile(string fn) |
| { |
| return ToonzFolder::getModuleFile(TFilePath(fn)); |
| } |
| |
| |
| |
| FolderListenerManager::FolderListenerManager() |
| { |
| } |
| |
| |
| |
| FolderListenerManager::~FolderListenerManager() |
| { |
| } |
| |
| |
| |
| FolderListenerManager *FolderListenerManager::instance() |
| { |
| static FolderListenerManager _instance; |
| return &_instance; |
| } |
| |
| |
| |
| void FolderListenerManager::notifyFolderChanged(const TFilePath &path) |
| { |
| for (std::set<Listener *>::iterator i = m_listeners.begin(); i != m_listeners.end(); ++i) |
| (*i)->onFolderChanged(path); |
| } |
| |
| |
| |
| void FolderListenerManager::addListener(Listener *listener) |
| { |
| m_listeners.insert(listener); |
| } |
| |
| |
| |
| void FolderListenerManager::removeListener(Listener *listener) |
| { |
| m_listeners.erase(listener); |
| } |
| |