| 1944 | } |
| 1945 | |
| 1946 | bool Map::reloadClosedTemplate(int i, int target_pos, QWidget* dialog_parent, const QString& map_path) |
| 1947 | { |
| 1948 | // Move the template from closed to regular. |
| 1949 | auto const it_closed = begin(closed_templates) + i; |
| 1950 | auto unique_temp = std::move(*it_closed); |
| 1951 | auto *temp = unique_temp.get(); |
| 1952 | closed_templates.erase(it_closed); |
| 1953 | addTemplate(target_pos, std::move(unique_temp)); |
| 1954 | |
| 1955 | // Try to find and load the template again. |
| 1956 | auto loaded = temp->getTemplateState() == Template::Loaded; |
| 1957 | if (!loaded) |
| 1958 | loaded = temp->tryToFindAndReloadTemplateFile(map_path); |
| 1959 | if (!loaded) |
| 1960 | loaded = temp->execSwitchTemplateFileDialog(dialog_parent); |
| 1961 | |
| 1962 | if (closed_templates.empty()) |
| 1963 | emit closedTemplateAvailabilityChanged(); |
| 1964 | |
| 1965 | return loaded; |
| 1966 | } |
| 1967 | |
| 1968 | void Map::loadTemplateFiles(const MapView& view) |
| 1969 | { |
no test coverage detected