Commit Graph

169 Commits

Author SHA1 Message Date
Evgenii Zheltonozhskii 4b78d52194 Fix more warnings 2018-10-27 12:40:27 +00:00
Evgenii Zheltonozhskii 38efa1bf4b Replace base::lambda with shorter term.
Partially backport dd81f5d59f
2018-07-27 14:24:31 +00:00
Evgeniy Zheltonozhskiy 9f1896c680 Filter RTL in displayed file names(#156)
Adopted from upstream commit aec496d520 to avoid the phishing filenames.

Closes #103.
2018-06-20 22:20:39 +03:00
Evgeniy Zheltonozhskiy 22b0cffccd Fix almost all warnings (#157)
There are possible deprecation warnings could be on new ffmpeg. It will be investigated later.

Related to #42.
2018-06-12 01:59:24 +03:00
Evgenii Zheltonozhskii b9cd813127 Apply clang-format 2018-06-06 11:25:23 +03:00
Evgenii Zheltonozhskii 49982a33a5 Pre-reformat fixes 2018-06-06 11:25:23 +03:00
Alex 69661217d2
Remove PCH (#148)
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.
2018-06-04 16:25:31 +03:00
Pavel Perekhozhikh 1cb6dcee54 [Refactoring] set current standart to c++17 and change any logic to std::clamp (if it's possible) 2018-02-28 22:12:25 +02:00
Pavel Perekhozhikh 40f8f0939a [Refactoring] change qt math function to cmath analog 2018-02-28 22:12:25 +02:00
Berkus Decker c4fe2f86ea Add explicit typecasting for some constants 2017-12-20 14:38:02 +02:00
Berkus Decker e9184f9ab5 Replace non-standard types with Qt equivalents 2017-12-20 14:38:02 +02:00
John Preston 1c8db1e2e9 Fix travis build for the latest ffmpeg code. 2017-11-13 13:55:11 +04:00
John Preston 48e2a5472e Return not_null<History*> in App::history(). 2017-09-03 15:45:43 +03:00
John Preston 25ffaaaa2d Replace t_assert() with Assert().
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03:00
John Preston b3da99c302 Replace gsl::not_null<T*> with just not_null<T*>. 2017-08-30 19:15:41 +03:00
John Preston f2801d4775 Fix possible crash in file download after error.
Regression was introduced in 2fa2fa41c5.

In file download failed handler we suggest to try to load the file
once again to the same location. After some changes we started to
forget filename before failed handler. That resulted in large files
loading to memory instead of hard drive.

Add a precondition in FileLoader to prevent such bugs in the future.
2017-08-30 19:15:34 +03:00
John Preston 012d59ab42 Use nullptr instead of std::unique_ptr<Type>(). 2017-08-30 19:15:25 +03:00
John Preston e209737b1a Display and follow unread mentions in history. 2017-08-30 19:15:13 +03:00
John Preston ab35829358 Remove App::app(), App::uploader(), App::api().
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston 96a2af842f Remove glitch with video messages floating player. 2017-08-01 21:14:44 +03:00
John Preston 0402b4f5f4 Add X / V vector icon to checkbox Toggle view.
Also use them in the admin rights / restrictions boxes.
2017-07-09 18:06:27 +03:00
John Preston da0d78135d Some refactoring in working with text entities.
Also move this code to TextUtilities namespace.
2017-07-06 14:37:42 +03:00
John Preston 3b864d63b9 Fix crash in audio player destructor. 2017-06-30 09:21:44 +03:00
John Preston cedf8a65e7 Better channel log entry layout inside messages.
Also move HistoryService class to a separate module.
2017-06-30 09:21:42 +03:00
John Preston e39b95175b Handle channel event log mouse events. 2017-06-30 09:21:42 +03:00
John Preston 110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston 66662e02a6 Fix crash in video player seeking.
Regression was introduced in 87ff770020.

Seek handler may destroy controller so first the playback is updated.
2017-05-31 11:58:43 +03:00
John Preston 6148b78745 Read after AVERROR_INVALIDDATA in video sound.
Partially reverse c1c3e4af5b that stopped on error in such cases.
2017-05-26 17:18:58 +03:00
John Preston 10e34aa996 Fix a crash in round videos with a message text. 2017-05-26 15:20:11 +03:00
John Preston e0978f86d1 Alpha 1.1.3: Fix some render in macOS. 2017-05-24 17:36:58 +03:00
John Preston 25587d7e8e Replace different side enums with RectPart.
Including Ui::Shadow::Side, App::RectPart and ImportantTooltip::Side.
2017-05-24 16:25:20 +03:00
John Preston c91e29d15d Improve floating player show / hide animations.
Also replace Window::Corner with a generic RectPart enumeration.
2017-05-24 16:25:20 +03:00
John Preston ee6d80673a Snap floating player to column and corner. 2017-05-24 16:25:17 +03:00
John Preston 8f290451b6 Handle mouse clicks in floating player widget. 2017-05-24 16:25:16 +03:00
John Preston c58a48276f Hide floating player if video message is visible. 2017-05-24 16:25:15 +03:00
John Preston b7550f63c9 Add a floating player for round video messages. 2017-05-24 16:25:15 +03:00
John Preston 0bfff65306 Add an animated scroll to current media message. 2017-05-24 16:25:14 +03:00
John Preston 9332032839 Click on media player goes to voice/video message. 2017-05-24 16:25:12 +03:00
John Preston 7873cb4373 Using media player for voice / video messages.
Media::Player::Widget displays the current voice / video message
if it is played and the current song otherwise.

It is created when a voice / video message starts and is destroyed
when all the voice / video messages in the playlist are finished.
2017-05-24 16:25:12 +03:00
John Preston 611a3e2f8a Handle voice playlist in Media::Player::Instance.
This allows video and voice messages to autoplay one after another.
2017-05-24 16:25:09 +03:00
John Preston b9119e5ef6 Play video messages as Type::Voice.
Use AudioMsgId instead of videoPlayId.
Any audio track now can be a child loader track of some video clip.
Use Type::Voice instead of Type::Video for round video messages.
Video messages play / pause / resume the same way as voice messages.
2017-05-24 16:25:09 +03:00
John Preston 5915f3f928 Display radial playback progress in round videos. 2017-05-24 16:25:07 +03:00
John Preston 87ff770020 Make Media::Clip::Playback independent of slider.
Now animation of the playback progress is processed inside the
Media::Clip::Playback and the sliders just hold plain float64 value.
2017-05-24 16:25:06 +03:00
John Preston 565b56fb5f Pause all media if a call is created.
Pause video, voice messages, songs and stop video messages.
2017-05-12 20:44:18 +03:00
John Preston 23874a0a26 Animate call answer button with an outer ripple. 2017-05-09 23:46:39 +03:00
John Preston 96a0fcb28f Closed beta 1000035001. 2017-05-09 23:46:32 +03:00
John Preston 2e816f2a67 Play notification sound using Media::Audio::Track. 2017-05-09 23:46:30 +03:00
John Preston 6f89d01452 Add new Media::Audio::Instance for audio tracks.
Move some audio-related code from Media::Player to Media::Audio.
2017-05-09 23:46:29 +03:00
John Preston e8a3535c74 Support audio documents playback inside app.
Also add some more decoders in ffmpeg configuration (wav).
Also stop audio device restart on PKEY_AudioEndpoint changes.
Also deduce channel layout from channel count in ffmpeg loaders.
2017-04-30 14:34:23 +03:00
John Preston 7312114b75 Use full volume for video messages.
Set video volume to VideoVolume in MediaView and to 1 in HistoryGif.
2017-04-15 22:51:53 +03:00