def addFilesToModel(self, state): colour = guiutils.guiConfig.getCompositeValue("file_colours", "static") importedFiles = {} allTitles = self.getApplicationTitles() for index, app in enumerate(self.allApps): headerRow = [ "Files for " + allTitles[index], "white", app.getDirectory(), None, "", "" ] confiter = self.model.insert_before(None, None, headerRow) for file in self.getConfigFiles(app): self.addFileToModel(confiter, file, colour, [ app ]) for importedFile in self.getImportedFiles(file, app): importedFiles[importedFile] = importedFile usecaseDir = self.usecaseDirs.get(app) if usecaseDir: files = [ usecaseDir ] + [ os.path.join(usecaseDir, f) for f in os.listdir(usecaseDir) ] self.addDataFilesUnderIter(confiter, files, colour, app.getDirectory(), associatedObject=self.allApps) # Handle recursive imports here ... if len(importedFiles) > 0: importediter = self.model.insert_before(None, None) self.model.set_value(importediter, 0, "Imported Files") sortedFiles = importedFiles.values() sortedFiles.sort() for importedFile in sortedFiles: self.addFileToModel(importediter, importedFile, colour, self.allApps) personalDir = plugins.getPersonalConfigDir() personalFiles = self.getPersonalFiles(personalDir) if len(personalFiles) > 0: headerRow = [ "Personal Files", "white", personalDir, None, "", "" ] persiter = self.model.insert_before(None, None, headerRow) self.addDataFilesUnderIter(persiter, personalFiles, colour, personalDir, associatedObject=self.allApps)
def getAllPersonalConfigFiles(self): allPersonalFiles = [] # Always include app-independent version appIndep = os.path.join(plugins.getPersonalConfigDir(), "config") if os.path.isfile(appIndep): allPersonalFiles.append(appIndep) for app in self.apps: for fileName in app.getPersonalConfigFiles(): if not fileName in allPersonalFiles: allPersonalFiles.append(fileName) return allPersonalFiles