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.
Also make History Widget react on pinning Channel message event and show
it in UI.
This commit is based on upstream commit
75d8d01b17
Related to #114.
Closes#8.
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.
Regression was introduced in df64c97.
New base::flags work correctly only if all mutually exclusive flag
values use mutually exclusive bits (a & b == 0 for exclusive (a, b)).
Closes#3856.
When the unread bar was destroyed we first jumped to the bottom
of the history by updateHistoryGeometry() and only after that
animated scroll to the desired message started. The last messages
were always painted (and marked as read) in that case.
If we invoke showHistory(h, msgId) several times we call
forgetScrollState() for this history being on the same scroll place.
To compute it again we need to call visibleAreaUpdated() even if
the real scroll position was not changed.