SystemData::SystemData(const std::string& name, const std::string& fullName, const std::string& startPath, const std::vector<std::string>& extensions, const std::string& command, const std::vector<PlatformIds::PlatformId>& platformIds, const std::string& themeFolder) { mName = name; mFullName = fullName; mStartPath = startPath; //expand home symbol if the startpath contains ~ if(mStartPath[0] == '~') { mStartPath.erase(0, 1); mStartPath.insert(0, getHomePath()); } mSearchExtensions = extensions; mLaunchCommand = command; mPlatformIds = platformIds; mThemeFolder = themeFolder; mRootFolder = new FileData(FOLDER, mStartPath, this); mRootFolder->metadata.set("name", mFullName); if(!Settings::getInstance()->getBool("ParseGamelistOnly")) populateFolder(mRootFolder); if(!Settings::getInstance()->getBool("IgnoreGamelist")) parseGamelist(this); mRootFolder->sort(FileSorts::SortTypes.at(0)); loadTheme(); }
SystemData::SystemData(std::string name, std::string startPath, std::string extension, std::string command) { mName = name; //expand home symbol if the startpath contains it if(startPath[0] == '~') { startPath.erase(0, 1); std::string home = getenv("HOME"); if(home.empty()) { std::cerr << "ERROR - System start path contains ~ but $HOME is not set!\n"; return; }else{ startPath.insert(0, home); } } mStartPath = startPath; mSearchExtension = extension; mLaunchCommand = command; mRootFolder = new FolderData(this, mStartPath, "Search Root"); if(!PARSEGAMELISTONLY) populateFolder(mRootFolder); parseGamelist(this); mRootFolder->sort(); }
SystemData::SystemData(std::string name, std::string descName, std::string startPath, std::string extension, std::string command) { mName = name; mDescName = descName; //expand home symbol if the startpath contains ~ if(startPath[0] == '~') { startPath.erase(0, 1); std::string home = getHomePath(); startPath.insert(0, home); } mStartPath = startPath; mSearchExtension = extension; mLaunchCommand = command; mRootFolder = new FolderData(this, mStartPath, "Search Root"); if(!PARSEGAMELISTONLY) populateFolder(mRootFolder); if(!IGNOREGAMELIST) parseGamelist(this); mRootFolder->sort(); }