void Index::processMimeApps(const std::string &path) { ConfigReader config(path); std::vector<std::string> types; types = config.keys("Added Associations"); for (std::vector<std::string>::size_type i = 0; i < types.size(); ++i) { std::vector<std::string> identifiers = split(config.value("Added Associations", types.at(i)), ';'); for (int j = identifiers.size()-1; j >= 0; --j) { if (knownApplications_.count(identifiers[j]) > 0) { addToType(types[i], knownApplications_.at(identifiers[j])); } } } types = config.keys("Removed Associations"); for (std::vector<std::string>::size_type i = 0; i < types.size(); ++i) { std::vector<std::string> identifiers = split(config.value("Removed Associations", types.at(i)), ';'); for (std::vector<std::string>::size_type j = 0; j < identifiers.size(); ++j) { removeFromType(types[i], identifiers[j]); } } }
void Index::processMimeApps(const std::string &path) { ConfigReader config(path); std::vector<std::string> types; types = config.keys("Added Associations"); for (std::vector<std::string>::size_type i = 0; i < types.size(); ++i) { std::vector<std::string> identifiers = split(config.value("Added Associations", types.at(i)), ';'); for (std::vector<std::string>::reverse_iterator it = identifiers.rbegin(); it != identifiers.rend(); ++it) { if (knownApplications_.find(*it) != knownApplications_.end()) { addToType(types[i], knownApplications_.at(*it)); } } } types = config.keys("Removed Associations"); for (std::vector<std::string>::size_type i = 0; i < types.size(); ++i) { std::vector<std::string> identifiers = split(config.value("Removed Associations", types.at(i)), ';'); for (std::vector<std::string>::size_type j = 0; j < identifiers.size(); ++j) { removeFromType(types[i], identifiers[j]); } } }
void Index::addApplication(DesktopEntry *entry) { removeApplication(entry->identifier()); knownApplications_[entry->identifier()] = entry; for (std::vector<std::string>::size_type i = 0; i < entry->types().size(); ++i) { addToType(entry->types().at(i), entry); } }