This commit adds the helper interface ILocationMapTileHelper for getting
info about current location (e.g. location URL or map tile image URL).
This commit adds the following classes:
1. The interface ILocationMapTileHelper;
2. YandexMapsLocationTileHelper - uses Yandex.Maps Static API as backend for
getting tile info;
3. GoogleMapsLocationTileHelper - uses Google Maps Statis API as backend;
Please note that these classes aren't used yet, it will be used in next commit.
Also please note that all virtual functions has been extracted from classes definitions
to avoid the -WWeak-tables warning. (See Clang manual about this warning).
You could enable it via CMake option KEPKA_OPTION_USE_YANDEX_MAPS:
cmake -DKEPKA_OPTION_USE_YANDEX_MAPS=ON ..
It is used instead of Google Maps API for locations and on location click.
Sometimes Google Maps return no maps data. It is related with recent free
API usages count decrease from 750k requests to 28k (according to
https://habr.com/post/417715/).
The code on this commit will be cleaned up and rewritten using Maps API
string builders in next commit.
This commit brings many changes:
1. Remove cotire;
2. Remove PCH files (stdafx.xxx) and mentions;
3. Rearrange and clean includes:
3.1. Remove core includes path, use full header path core/xxx;
3.2. Move object_ptr to separate file base/object_ptr.h;
3.3. Add missing includes;
5. Add forward decls;
6. Get rid of some Qt private parts;
7. Fix ALL compilation errors after removing cotire on Windows, Linux, MacOS.
Closes#133.
Related to #96.
We load a WebDocument with an unknown size the same way as we load
normal photos with FileLocation, that doesn't contain size as well.
If the size information from WebDocument and upload.WebFile is
inconsistent we still fail to load the file.
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).
So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.