Commit Graph

151 Commits

Author SHA1 Message Date
John Preston
d8a4ede4b5 Fix incoming calls.
Regression was introduced in 1392e05ab1.

Fixes #4804.
2018-06-06 13:28:43 +03:00
John Preston
72f95b984f Replace cDebug() with Logs::DebugEnabled(). 2018-06-05 21:51:05 +03:00
John Preston
294ed1bb17 Update libtgvoip to 2.1. 2018-06-04 23:14:00 +03:00
John Preston
dd81f5d59f Replace base::lambda with shorter term.
base::lambda -> Fn (type alias for std::function).
base::lambda_once -> FnMut (type alias for base::unique_function).
base::lambda_guarded -> crl::guard.
base::lambda_call_type_t -> crl::deduced_call_type.
2018-06-04 18:38:27 +03:00
John Preston
5cfead762d New design of the passport in a separate window. 2018-06-03 23:16:34 +03:00
John Preston
1392e05ab1 Move all gsl::byte helpers to base/bytes module. 2018-06-03 23:16:34 +03:00
John Preston
46976c4e03 Display signal bars in calls. 2018-05-27 12:35:38 +03:00
John Preston
a5cbade8ec Update libtgvoip. 2018-05-24 20:25:04 +03:00
John Preston
4b763a76df Instant in-field emoji and text replaces.
Fixes #4410. Fixes #522.
2018-05-13 18:14:02 +03:00
John Preston
48c1576d7f Add 'Use proxy for calls' option. 2018-05-07 00:29:53 +03:00
John Preston
9895b45293 Fix calls supported layer arguments. 2018-04-07 11:00:43 +04:00
John Preston
8bacc74d8b Request dialog list entries when needed.
Also save the original server-side int32 date in HistoryItems.
2018-02-08 12:20:54 +03:00
John Preston
d1a9d3992b API scheme updated to layer 76. 2018-02-08 12:20:49 +03:00
John Preston
8a56ede187 Move all (item/view/media) maps to Data::Session. 2018-02-08 12:20:49 +03:00
John Preston
7425e80f05 Use HistoryMedia as view, add Data::Media. 2018-02-08 12:20:48 +03:00
John Preston
97a9089ebf Move draw / getState code to HistoryView::Message.
Item dimensions broken for now.
Also remove history.h from pch.
2018-02-08 12:20:48 +03:00
John Preston
bee474f6e9 Remove history_item and layout from pch.
Also move some code to separate modules.
Also create history item views by Window::Controller.
2018-02-08 12:20:47 +03:00
John Preston
6a9556d42c Move non-settings session data to Data::Session.
Rename AuthSessionData to AuthSessionSettings, move data away.
2018-02-08 12:20:46 +03:00
John Preston
ea7441ae77 Use single LEGAL file with license and copyright. 2018-01-03 13:23:14 +03:00
John Preston
af552fb4c0 Replace base/task_queue with crl. 2017-12-31 00:28:38 +03:00
John Preston
2569df9e5a Rename some Ui methods.
myEnsureResized -> Ui::SendPendingMoveResizeEvents.
myGrab -> Ui::GrabWidget.
myGrabImage -> Ui::GrabWidgetToImage.
2017-12-26 19:20:08 +03:00
John Preston
8e45b09083 Use different indentation for rpl operators.
It works better with Visual Studio IDE.
2017-12-26 19:20:07 +03:00
John Preston
e023092744 Use RectPart(s) instead of ImageRoundCorner(s). 2017-12-18 21:54:11 +04:00
John Preston
935232eaa2 Don't use AEC on modern macOS. 2017-12-08 13:13:05 +04:00
John Preston
5eeb8143b6 Move EmptyUserpic from data_peer to empty_userpic. 2017-12-05 12:44:27 +04:00
John Preston
68009b6fba Refactor userpic storage and access in PeerData. 2017-12-05 11:58:18 +04:00
John Preston
3bdce06e19 Use peer colors uniformly with mobile apps. 2017-12-01 14:21:40 +04:00
John Preston
2432845df2 Optimize and rename base::weak_unique_ptr.
Rename base::enable_weak_from_this -> base::has_weak_ptr.
Rename base::weak_unique_ptr -> base::weak_ptr.
Rename base::make_weak_unique -> base::make_weak.
Rename base/weak_unique_ptr.h -> base/weak_ptr.h
2017-11-30 21:33:27 +04:00
John Preston
75d8d01b17 Allow pinned messages in channels. 2017-11-21 18:27:48 +04:00
John Preston
6ca105a290 Minimal layer 72 support. 2017-11-20 23:54:05 +04:00
John Preston
ac99318f34 Use ranges:: algorithms instead of base:: 2017-11-20 16:24:00 +04:00
John Preston
8ff0120642 Add EditPeerInfoBox without saving. 2017-11-16 07:59:10 +04:00
John Preston
1871425b2d Add 'X' and admin star in group info members. 2017-11-16 07:59:10 +04:00
John Preston
fb46c33d7f Add context menu support to info members list. 2017-11-16 07:59:07 +04:00
John Preston
65cc4d3fbc Support item repaint in Info media overview. 2017-11-16 07:59:06 +04:00
John Preston
93c15e5ee6 Use internal section stack in Info::WrapWidget. 2017-11-16 07:59:06 +04:00
John Preston
83850d9b86 Change *[Fast|Animated] to anim::type in FadeWrap. 2017-11-16 07:59:06 +04:00
John Preston
0c4bda71fd Remove some unused / rare phrases. 2017-11-16 07:59:05 +04:00
John Preston
d1687ab963 Improve info wrapping in section / layer.
Also move layerwidget to window/layer_widget.
Also replace ui/effects/widget_fade_wrap with ui/wrap/fade_wrap.
2017-11-16 07:59:05 +04:00
John Preston
21b1ba1f88 Move build to Ubuntu 14.04 and GCC 7.2.
To be able to run on the same distributions as before we need to have
the same GLIBC version dependency as in Ubuntu 12.04, which is 2.15.

For that we need to remove all usages of GLIBC features from 2.16 and above.
Currently there are three methods used, so they're wrapped in a separate
static library, linux_glibc_wraps.

It is a separate library because it must be compiled without '-flto' flag,
otherwise the inline __asm__ is not working and we get unresolved symbols.
2017-11-16 07:59:05 +04:00
John Preston
292e57ffc7 Use PeerListBox content in info profile. 2017-11-16 07:59:04 +04:00
John Preston
ffc20e4492 Divide structs into several data/ modules. 2017-11-16 07:59:04 +04:00
John Preston
703b944839 Return FlatLabel.margins in getMargins(). 2017-11-16 07:59:04 +04:00
John Preston
c302219f9e Use rpl in some widgets and effects. 2017-11-16 07:59:02 +04:00
John Preston
41ed2d1b84 New storage for shared media messages index. 2017-11-16 07:59:02 +04: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
782114d644 Add and use base::make_weak_unique() helper. 2017-08-30 19:15:28 +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
b0cc61c621 API scheme updated to layer 71. 2017-08-25 12:58:12 +03:00
Nicholas Guriev
38a53687a0 Fix a couple of typos
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-07-12 14:08:36 +03:00
John Preston
8ee5c70708 Fix admin custom status text in supergroups. 2017-06-30 09:21:44 +03:00
John Preston
adcecaa195 Make search in restricted/blocked box paginated. 2017-06-29 11:40:17 +03:00
John Preston
7fdac9cd94 Add restricted users box like kicked users box.
Also allow server-side search inside restricted users list.
Also allow server-side search inside kicked users list.
Also allow PeerListController to work not only in PeerListBox.
2017-06-29 11:40:14 +03:00
John Preston
330b4a0b00 API scheme updated to layer 68. 2017-06-29 11:40:08 +03:00
John Preston
2de96682db Fix phone call decline reason.
If the call was declined fast enough the reason was hangup while it
should be busy.
2017-06-29 11:40:06 +03:00
John Preston
c9a26fd006 Fix call panel with empty user photo on Retina. 2017-06-29 11:40:03 +03:00
John Preston
11d4c50202 Closed beta 1001007001: Fix build in GCC. 2017-06-29 11:40:02 +03:00
John Preston
b94099e25b Realtime UI translation in all fields and buttons. 2017-06-29 11:39:51 +03:00
John Preston
110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +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
8a60658af7 Fix crash in calls panel closing. 2017-05-15 11:17:59 +03:00
John Preston
0b77c0bce8 Version 1.1: Show user name in call top bar. 2017-05-14 22:46:05 +03:00
John Preston
040ee90aec Fix call panel animation in OS X 10.6-10.7. 2017-05-12 19:25:56 +03:00
John Preston
843f983051 Skip call ended sound if ended from other device. 2017-05-12 19:09:34 +03:00
John Preston
9dfd7f4ba9 Play the outgoing call sound only in Ringing state. 2017-05-12 18:53:59 +03:00
John Preston
b74dea8662 Move logo images to Messenger. Set call panel icon. 2017-05-12 18:28:44 +03:00
John Preston
7593be4361 Display a userpic placeholder in the call panel. 2017-05-12 17:33:30 +03:00
John Preston
d6a919c372 Alpha 1.0.37: Multiple crash fixes.
Also rate call box style is improved.
2017-05-10 11:01:34 +03:00
John Preston
8a4a7897a0 Fix contract violation in Call::startIncoming.
Also fix call answer while dhConfig is not received yet.
2017-05-10 10:58:02 +03:00
John Preston
96062039c7 Improve RateCallBox design. 2017-05-09 23:46:43 +03:00
John Preston
c78cc331d1 Discard call in case of an error.
Also add a couple of call error messages.
2017-05-09 23:46:43 +03:00
John Preston
e7dcd5ab15 Don't decline awaited incoming call on app quit. 2017-05-09 23:46:41 +03:00
John Preston
530a385d4e Add sound override support by codes in Settings. 2017-05-09 23:46:40 +03:00
John Preston
23874a0a26 Animate call answer button with an outer ripple. 2017-05-09 23:46:39 +03:00
John Preston
3b46382550 Add logging for libtgvoip when we have DebugLogs. 2017-05-09 23:46:39 +03:00
John Preston
b3d5ac1660 Fix call discard when hanging up before request. 2017-05-09 23:46:38 +03:00
John Preston
d0afe83beb Fix call panel in macOS build. 2017-05-09 23:46:36 +03:00
John Preston
ded6933867 Add call button answer->hangup->redial animation. 2017-05-09 23:46:35 +03:00
John Preston
2214e980ef Add call panel show / hide animation. 2017-05-09 23:46:34 +03:00
John Preston
299dc3fc96 Reuse call panel if current call is in Busy state. 2017-05-09 23:46:33 +03:00
John Preston
0a6e012e90 Add call debug window on Ctrl+Click Show Info.
It is available only when debug logs are enabled.
2017-05-09 23:46:33 +03:00
John Preston
fd24aff6b1 Play sounds in calls. 2017-05-09 23:46:31 +03:00
John Preston
11525a1e50 Add RateCallBox for calls feedback collection. 2017-05-09 23:46:28 +03:00
John Preston
5f2e295d63 Improve calls panel in macOS.
Use Qt::Dialog instead of Qt::Tool which works better with window
activation / deactivation handling.

Stop displaying the panel on all spaces when the call is established.
2017-05-09 23:46:28 +03:00
John Preston
0cdac83f8a Fix calls build in Xcode. Fix calls panel in Retina.
Also implement panels that appear in all spaces on macOS.
Using them for calls panels and custom notifications, so it
will be possible to use custom notifications in macOS as well.
2017-05-09 23:46:27 +03:00
John Preston
e050e270fc Try to hangup current call when quitting the app. 2017-05-09 23:46:26 +03:00
John Preston
29fc69ebaa Show emoji fingerprint tooltip in call panel. 2017-05-09 23:46:25 +03:00
John Preston
f42f79ea95 Add "line busy" call state with a redial button. 2017-05-09 23:46:24 +03:00
John Preston
d5ff728da6 Show privacy / incompatibility errors in calls. 2017-05-09 23:46:24 +03:00
John Preston
30d000e139 Toggle calls controls using config and user flags.
Also use calls timeout values from config.
Also request config each time when the auth session changes.
2017-05-09 23:46:22 +03:00
John Preston
f4911431d5 Request, parse and apply phone.getCallConfig. 2017-05-09 23:46:21 +03:00
John Preston
28c0e815b3 Add new calls to Calls log box in realtime.
Also improve button ripple effect in Calls log box.
2017-05-09 23:46:20 +03:00
John Preston
c4f90983af Redesign calls service messages. 2017-05-09 23:46:19 +03:00
John Preston
06b081f509 Add calls log box.
PeerListBox can have many rows with the same PeerData.
PeerListBox::Row can have arbitrary action on the right side.
2017-05-09 23:46:18 +03:00
John Preston
f6eb2c5205 Add call top bar above the media player. 2017-05-09 23:46:18 +03:00
John Preston
60ac7572af Display name, status and emoji in Call Panel. 2017-05-09 23:46:17 +03:00
John Preston
b267957abe Apply all MTP Key generation checks to calls.
Also move all OpenSSL BN_* calls to base/openssl_help header.
2017-05-09 23:46:16 +03:00
John Preston
4925af69e2 Add Calls::Panel and handle incoming calls. 2017-05-09 23:46:15 +03:00
John Preston
0a716036c2 Extract Calls::Call. Add a call button to TopBar. 2017-05-09 23:46:14 +03:00