| 211 | } |
| 212 | |
| 213 | BinaryToolsManager::BinaryTools BinaryToolsManager::mergeTools(const BinaryTools &defTools, const BinaryTools &localTools, const QString &localConfVersion) |
| 214 | { |
| 215 | const auto &updateList = updateToolList(); |
| 216 | if (updateList.isEmpty()) |
| 217 | return localTools; |
| 218 | |
| 219 | auto tools = std::move(localTools); |
| 220 | auto iter = updateList.begin(); |
| 221 | for (; iter != updateList.end(); ++iter) { |
| 222 | if (localConfVersion >= iter.key()) |
| 223 | continue; |
| 224 | |
| 225 | for (const auto &id : iter.value()) { |
| 226 | const auto &tool = findTool(id, defTools); |
| 227 | if (!tool.isValid()) |
| 228 | continue; |
| 229 | |
| 230 | if (tools.contains(tool.displyGroup)) { |
| 231 | tools[tool.displyGroup].append(tool); |
| 232 | continue; |
| 233 | } |
| 234 | |
| 235 | tools.insert(tool.displyGroup, QList<ToolInfo>() << tool); |
| 236 | } |
| 237 | } |
| 238 | |
| 239 | return tools; |
| 240 | } |
| 241 | |
| 242 | QSharedPointer<ToolProcess> BinaryToolsManager::createToolProcess(const ToolInfo &tool) |
| 243 | { |