| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -34,7 +34,7 @@ Setup SettingsSetupLoader::loadSetup(const QString &filePath, const QString &fro | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Setup setup; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(!_cache.contains(filePath)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							QFile file(QDir::cleanPath(filePath)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							QFile file(QDir::cleanPath(selector->select(filePath))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								throw SettingsXmlException(file); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -55,13 +55,13 @@ Setup SettingsSetupLoader::loadSetup(const QString &filePath, const QString &fro | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									do { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if(reader.name() == QStringLiteral("Include")) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											Category category; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											if(readCategoryInclude(reader, category)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											if(readCategoryInclude(reader, category, selector)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
												setup.categories.append(category); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											setup.categories.append(readCategory(reader)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											setup.categories.append(readCategory(reader, selector)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} while(reader.readNextStartElement()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									setup.categories.append(readDefaultCategory(reader)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									setup.categories.append(readDefaultCategory(reader, selector)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							file.close(); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -89,7 +89,7 @@ bool SettingsSetupLoader::event(QEvent *event) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return QObject::event(event); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Category SettingsSetupLoader::readCategory(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Category SettingsSetupLoader::readCategory(QXmlStreamReader &reader, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.name() != QStringLiteral("Category")) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -107,38 +107,38 @@ Category SettingsSetupLoader::readCategory(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						category.selectors = reader.stringValue("selectors"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.readNextStartElement()) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							readCategoryChildren(reader, category); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							readCategoryChildren(reader, category, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return category; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Category SettingsSetupLoader::readDefaultCategory(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Category SettingsSetupLoader::readDefaultCategory(QXmlStreamReader &reader, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						auto category = createDefaultCategory(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						readCategoryChildren(reader, category); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						readCategoryChildren(reader, category, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return category; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void SettingsSetupLoader::readCategoryChildren(QXmlStreamReader &reader, Category &category) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void SettingsSetupLoader::readCategoryChildren(QXmlStreamReader &reader, Category &category, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.name() == QStringLiteral("Section") || | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						   reader.name() == QStringLiteral("Include")) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							do { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(reader.name() == QStringLiteral("Include")) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									Section section; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(readSectionInclude(reader, section)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(readSectionInclude(reader, section, selector)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										category.sections.append(section); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									category.sections.append(readSection(reader)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									category.sections.append(readSection(reader, selector)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} while(reader.readNextStartElement()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							category.sections.append(readDefaultSection(reader)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							category.sections.append(readDefaultSection(reader, selector)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Section SettingsSetupLoader::readSection(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Section SettingsSetupLoader::readSection(QXmlStreamReader &reader, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.name() != QStringLiteral("Section")) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -156,38 +156,38 @@ Section SettingsSetupLoader::readSection(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						section.selectors = reader.stringValue("selectors"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.readNextStartElement()) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							readSectionChildren(reader, section); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							readSectionChildren(reader, section, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return section; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Section SettingsSetupLoader::readDefaultSection(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Section SettingsSetupLoader::readDefaultSection(QXmlStreamReader &reader, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						auto section = createDefaultSection(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						readSectionChildren(reader, section); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						readSectionChildren(reader, section, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return section; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void SettingsSetupLoader::readSectionChildren(QXmlStreamReader &reader, Section §ion) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void SettingsSetupLoader::readSectionChildren(QXmlStreamReader &reader, Section §ion, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.name() == QStringLiteral("Group") || | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						   reader.name() == QStringLiteral("Include")) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							do { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(reader.name() == QStringLiteral("Include")) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									Group group; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(readGroupInclude(reader, group)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(readGroupInclude(reader, group, selector)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										section.groups.append(group); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									section.groups.append(readGroup(reader)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									section.groups.append(readGroup(reader, selector)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} while(reader.readNextStartElement()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							section.groups.append(readDefaultGroup(reader)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							section.groups.append(readDefaultGroup(reader, selector)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Group SettingsSetupLoader::readGroup(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Group SettingsSetupLoader::readGroup(QXmlStreamReader &reader, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.name() != QStringLiteral("Group")) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -202,29 +202,29 @@ Group SettingsSetupLoader::readGroup(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						group.selectors = reader.stringValue("selectors"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.readNextStartElement()) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							readGroupChildren(reader, group); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							readGroupChildren(reader, group, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return group; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Group SettingsSetupLoader::readDefaultGroup(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					Group SettingsSetupLoader::readDefaultGroup(QXmlStreamReader &reader, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Group group; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						readGroupChildren(reader, group); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						readGroupChildren(reader, group, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return group; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void SettingsSetupLoader::readGroupChildren(QXmlStreamReader &reader, Group &group) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void SettingsSetupLoader::readGroupChildren(QXmlStreamReader &reader, Group &group, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.name() == QStringLiteral("Entry") || | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						   reader.name() == QStringLiteral("Include")) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							do { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(reader.name() == QStringLiteral("Include")) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									Entry entry; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(readEntryInclude(reader, entry)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if(readEntryInclude(reader, entry, selector)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										group.entries.append(entry); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} else | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									group.entries.append(readEntry(reader)); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -342,35 +342,35 @@ QVariant SettingsSetupLoader::readElement(QXmlStreamReader &reader) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return mVariant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readCategoryInclude(QXmlStreamReader &reader, Category &category) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readCategoryInclude(QXmlStreamReader &reader, Category &category, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return readInclude(reader, [this, &category](QXmlStreamReader &reader){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							category = readCategory(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Category")); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return readInclude(reader, [this, &category, selector](QXmlStreamReader &reader){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							category = readCategory(reader, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Category"), selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readSectionInclude(QXmlStreamReader &reader, Section §ion) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readSectionInclude(QXmlStreamReader &reader, Section §ion, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return readInclude(reader, [this, §ion](QXmlStreamReader &reader){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							section = readSection(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Section")); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return readInclude(reader, [this, §ion, selector](QXmlStreamReader &reader){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							section = readSection(reader, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Section"), selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readGroupInclude(QXmlStreamReader &reader, Group &group) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readGroupInclude(QXmlStreamReader &reader, Group &group, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return readInclude(reader, [this, &group](QXmlStreamReader &reader){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							group = readGroup(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Group")); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return readInclude(reader, [this, &group, selector](QXmlStreamReader &reader){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							group = readGroup(reader, selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Group"), selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readEntryInclude(QXmlStreamReader &reader, Entry &entry) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readEntryInclude(QXmlStreamReader &reader, Entry &entry, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return readInclude(reader, [this, &entry](QXmlStreamReader &reader){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							entry = readEntry(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Entry")); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						}, QStringLiteral("Entry"), selector); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readInclude(QXmlStreamReader &reader, const std::function<void(QXmlStreamReader &)> &readFn, const QString &typeName) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					bool SettingsSetupLoader::readInclude(QXmlStreamReader &reader, const std::function<void(QXmlStreamReader &)> &readFn, const QString &typeName, const QFileSelector *selector) const | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						testXmlValid(reader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(reader.name() != QStringLiteral("Include")) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -388,7 +388,7 @@ bool SettingsSetupLoader::readInclude(QXmlStreamReader &reader, const std::funct | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(dev) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								dir = QFileInfo(dev->fileName()).dir(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							QFile incFile(QDir::cleanPath(dir.absoluteFilePath(fileName))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							QFile incFile(QDir::cleanPath(selector->select(dir.absoluteFilePath(fileName)))); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(!incFile.open(QIODevice::ReadOnly | QIODevice::Text)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								throw SettingsXmlException(incFile); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |