MCPcopy Create free account
hub / github.com/OpenOrienteering/mapper / loadTemplateFileImpl

Method loadTemplateFileImpl

src/templates/template_image.cpp:203–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

201}
202
203bool TemplateImage::loadTemplateFileImpl()
204{
205 QImageReader reader(template_path);
206 const QSize size = reader.size();
207 const QImage::Format format = reader.imageFormat();
208 if (size.isEmpty() || format == QImage::Format_Invalid)
209 {
210 // Leave memory allocation to QImageReader
211 image = reader.read();
212 }
213 else
214 {
215 // Pre-allocate the memory in order to catch errors
216 image = QImage(size, format);
217 if (image.isNull())
218 {
219 setErrorString(tr("Not enough free memory (image size: %1x%2 pixels)").arg(size.width()).arg(size.height()));
220 return false;
221 }
222 // Read into pre-allocated image
223 reader.read(&image);
224 }
225
226 if (image.isNull())
227 {
228 setErrorString(reader.errorString());
229 return false;
230 }
231
232#ifdef MAPPER_USE_GDAL
233 available_georef = findAvailableGeoreferencing(readGdalGeoTransform(template_path));
234#else
235 available_georef = findAvailableGeoreferencing({});
236#endif
237
238 if (is_georeferenced)
239 {
240 if (!isGeoreferencingUsable())
241 {
242 // Image was georeferenced, but georeferencing info is gone -> deny to load template
243 setErrorString(tr("Georeferencing not found"));
244 return false;
245 }
246
247 calculateGeoreferencing();
248 }
249
250 drawable = !findExportFormat(template_path).isEmpty();
251 return true;
252}
253
254bool TemplateImage::postLoadSetup(QWidget* dialog_parent, bool& out_center_in_view)
255{

Callers

nothing calls this directly

Calls 9

readGdalGeoTransformFunction · 0.85
findExportFormatFunction · 0.85
QImageClass · 0.70
sizeMethod · 0.45
isEmptyMethod · 0.45
readMethod · 0.45
widthMethod · 0.45
heightMethod · 0.45
errorStringMethod · 0.45

Tested by

no test coverage detected