Commit Graph

353 Commits

Author SHA1 Message Date
John Preston 4d6cc58f0d Move session settings to main_session_settings. 2020-06-23 21:53:42 +04:00
John Preston 357caf8007 Keep separate MTP::Config's for separate accounts. 2020-06-23 21:53:41 +04:00
John Preston ab5796c117 Several working accounts together. 2020-06-23 21:53:40 +04:00
John Preston 6fc5e22882 Allow several accounts in Core::App. 2020-06-23 21:53:40 +04:00
John Preston 7f09da9e32 Use MTP::Sender in Intro. 2020-06-23 21:53:39 +04:00
John Preston ea86433be5 Remove some activeAccount() calls. 2020-06-23 21:53:39 +04:00
John Preston ad4afe9293 Move session data localstorage -> storage_account. 2020-06-23 21:53:39 +04:00
John Preston 3878a1b212 Remove some more Auth() calls. 2020-06-23 21:53:38 +04:00
John Preston bdbcd8e540 Use Main::Session in entities parsing. 2020-06-08 12:05:17 +04:00
John Preston 6f760d513e Add a checkbox to disable taskbar flash.
Also add ability to set urgent flag for the window on Linux.

Fixes #223, fixes #897, fixes #906.
2020-05-12 14:16:24 +04:00
John Preston 0251f58bf2 Use Semibold in names, use Bold in messages.
Fixes #7813, fixes #7823.
2020-05-08 12:12:47 +04:00
John Preston 36997f084a Automatically load and apply old emoji set by id. 2020-05-08 11:22:22 +04:00
John Preston c89c98183d Handle some updates even while not authed. 2020-03-29 14:06:10 +04:00
John Preston f5fdcc3af0 Enable secondary QR code login by default. 2020-02-12 19:43:22 +04:00
John Preston 5c079b0bbd Add additional QR code login debug logs. 2020-02-12 19:36:05 +04:00
John Preston 03ff48cf07 Allow several lines in QR code intro step phrases. 2019-12-31 14:19:50 +03:00
John Preston ff6df75adc Fix QR login to different dc. 2019-12-13 18:11:31 +03:00
John Preston 07ceee79ff Support password in QR login. 2019-12-13 18:00:21 +03:00
John Preston 55859f3caa Fix layout regressions in login. 2019-12-13 17:51:50 +03:00
John Preston 240117b77e Use URL instead of string for QR login. 2019-12-06 13:27:10 +03:00
John Preston 524d64a462 Clip intro animation by Next button. 2019-12-02 20:12:24 +03:00
John Preston e6c86b19db Use app config value for QR login. 2019-11-29 15:36:06 +03:00
John Preston 55f83129b7 Remove Q_OBJECTs from Intro. 2019-11-29 15:36:05 +03:00
John Preston e943264823 Pass MTP::Instance to MTP::Sender. 2019-11-29 15:36:05 +03:00
John Preston a0152557ec Cross-fade login QR. 2019-11-29 15:36:05 +03:00
John Preston f4bf79b067 Add QR code generation progress. 2019-11-29 15:36:05 +03:00
John Preston ba7762305e Use special plane icon for login QR. 2019-11-29 15:36:05 +03:00
John Preston 7dbba75776 Make login QR follow the color theme. 2019-11-29 15:36:05 +03:00
John Preston 339a80e192 Improve QR code login layout. 2019-11-29 15:36:04 +03:00
John Preston d5718f96b8 First working auth by QR code. 2019-11-29 15:36:04 +03:00
John Preston 30a1bd7ba2 Use base::call_delayed. 2019-10-19 12:27:56 +04:00
John Preston a6c84c36c0 Use layers and boxes from lib_ui. 2019-10-19 12:27:52 +04:00
John Preston 246c45ce0e Use lib_ui from submodule. 2019-10-19 12:27:28 +04:00
John Preston 3b0bf7cb1e Move some more widgets and effects. 2019-10-01 23:59:46 +03:00
John Preston 849deb57e2 Move many widget classes to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston c057f28425 Move standard buttons to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston c5845f17ae Remove twidget header. 2019-10-01 23:59:46 +03:00
John Preston 0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston e9ab8df737 Use QLocale::uiLanguages for system language. 2019-08-09 11:51:36 +01:00
John Preston 708b1d7ad4 Add 'Loop animated stickers' setting. 2019-08-09 11:50:49 +01:00
John Preston abf49e1672 Update API scheme. 2019-08-09 11:50:49 +01:00
John Preston ff44094ded Rename AuthSession to Main::Session. 2019-07-24 13:45:24 +02:00
John Preston 9cf4cf6dca Move MTP::Instance to Main::Account. 2019-07-24 10:46:23 +02:00
John Preston 4544a2e331 Update API scheme to layer 104. 2019-07-24 08:02:20 +02:00
John Preston ffba901620 Add a confirmation when blocking a user. 2019-07-15 15:47:40 +02:00
John Preston 567bf60644 Use getters in MTP classes. 2019-07-05 16:23:07 +02:00
John Preston 4917ca7b32 Remove all legacy global namespace langs. 2019-06-21 11:06:52 +02:00
John Preston edcd09c29f Remove LangKey. 2019-06-21 11:06:51 +02:00
John Preston 87fc066e67 Use tr:: instead of lang(). 2019-06-21 11:06:51 +02:00
John Preston a7c8feaecb Use tr:: instead of langFactory and __rich. 2019-06-21 11:06:50 +02:00
John Preston 8ed433cc01 Use tr:: instead of langFactory in input fields. 2019-06-21 11:06:49 +02:00
John Preston ca7c50fbcd Remove pseudo-HTML from langpacks and Ui::Text::String. 2019-06-21 11:06:46 +02:00
John Preston 4379fa2297 Handle PHONE_NUMBER_BANNED in ChangePhoneBox. 2019-06-05 20:43:33 +03:00
John Preston 6f4e31c9c3 Allow resending auth code in case of FLOOD_WAIT error. 2019-06-05 18:50:42 +03:00
John Preston 9c613fe2f7 Move system versions to platform/platform_info. 2019-06-04 14:23:14 +03:00
John Preston 99bb09374d Use new animations engine everywhere. 2019-04-02 14:33:53 +04:00
John Preston b798654ca7 Set focus to intro widget.
Fixes #5705.
2019-03-12 14:38:59 +04:00
John Preston fe618bd652 Use crl::time/now instead of TimeMs/getms. 2019-02-19 11:06:33 +04:00
John Preston 26f1ade5ba Optimize connecting widget. 2019-02-10 21:35:44 +03:00
John Preston e2f0886950 Add option to blur chat background. 2019-02-07 19:36:30 +03:00
John Preston e10c928207 Update API scheme to layer 95. 2019-01-29 14:52:33 +03:00
John Preston a70e72f75d Application->Sandbox, Messenger->Application. 2019-01-23 12:51:58 +04:00
John Preston c5a41e1f55 Divide data/data_peer and remove from PCH. 2019-01-17 12:21:29 +04:00
John Preston e3cc8652e4 New structs for media autodownload settings. 2018-12-25 22:15:22 +04:00
John Preston 8bd3051224 Fix crop photo box title. 2018-12-23 21:23:36 +04:00
John Preston 2fc5b69465 Fix auto word wrap in intro description. 2018-11-26 11:32:53 +04:00
John Preston 7e104805c0 Handle AUTH_KEY_UNREGISTERED on password submit. 2018-11-20 19:50:36 +04:00
John Preston 770f4a78aa Allow '-' character in code inputs. 2018-11-20 19:38:40 +04:00
John Preston 26b8515cb5 Improve languages box and language local storing.
Use current language native name instead of lng_language_name value.
2018-11-16 20:17:58 +04:00
John Preston 162da089ec Handle t.me/setlanguage links.
Also support custom langpacks with base langpacks.
2018-11-16 20:17:58 +04:00
John Preston 8b6e24e83d Build alphas only for official targets. 2018-11-08 10:33:44 +04:00
John Preston ec49ff31ef Disable autodownload on login (support). 2018-10-11 15:13:36 +03:00
John Preston 44496c7053 Disable notifications on login (support). 2018-10-09 19:27:18 +03:00
John Preston e712a51833 Disable animations on login (support). 2018-10-09 19:27:17 +03:00
John Preston 1411dfb711 Add autoupdating for templates (support). 2018-10-09 19:27:17 +03:00
John Preston 352fc55234 Move back by Back key in Intro / Info / Settings. 2018-09-27 17:28:57 +03:00
John Preston a7772b922c Improve sticker file reference refreshing. 2018-09-26 21:23:08 +03:00
John Preston 971d0efda9 Support toggling installs of beta versions. 2018-09-26 21:23:08 +03:00
John Preston 6e566e0165 Swap 'alpha' and 'beta'. Happy debugging! 2018-09-26 21:23:08 +03:00
John Preston 0c8709ca5f Replace App::self() with Auth().user().
Always have self Auth().user() when AuthSession exists.
2018-09-19 19:22:13 +03:00
John Preston 8c1cc51c2e Move peer photo update from Messenger to ApiWrap. 2018-09-19 19:22:13 +03:00
John Preston 5b88f4d3d2 Update API scheme. 2018-08-20 17:25:06 +03:00
John Preston bdab477040 Update API scheme to layer 84. 2018-08-11 22:03:34 +03:00
John Preston 550c159ca8 Update API scheme to layer 83. 2018-08-04 23:11:04 +03:00
John Preston 52e7ddf079 Add '-externalupdater' command-line argument.
Now no-autoupdater mode can be switched on in runtime.
Also TDESKTOP_DISABLE_AUTOUPDATE build is disabled in CI (trivial).

Fixes #4895.
2018-07-12 18:35:59 +03:00
John Preston b697824540 When following a post link push reply-return.
Fixes #4856.
2018-07-11 17:56:06 +03:00
John Preston 9ebeddbed8 Request, show and require accept for updated ToS. 2018-06-06 21:37:01 +03:00
John Preston 72f95b984f Replace cDebug() with Logs::DebugEnabled(). 2018-06-05 21:51:05 +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 ab5f35e952 Warn user about passport reset.
Also suggest country by phone number in passport.
2018-06-03 23:16:38 +03:00
John Preston 80be464d95 Handle ToS correctly when signing up. 2018-06-01 21:04:54 +03:00
John Preston ad12d6cc46 Alpha version 1.2.25.
- Apply markdown formatting (```, `, **, __)
only when sending the message.
- Display connection quality bars in calls.
- Telegram Desktop can update itself through MTProto.
- Bug fixes and other minor improvements.
2018-05-31 23:39:12 +03:00
John Preston 5c5438c12e Add terms of service to the Intro. 2018-05-31 13:22:58 +03:00
John Preston 734c410879 New notifications API, defaults for users/chats. 2018-05-30 18:44:46 +03:00
John Preston 03037121aa Add support for autoupdate through MTProto. 2018-05-30 01:00:36 +03:00
John Preston d2048f3c25 New connecting status design. 2018-05-08 20:31:33 +03:00
John Preston 257dfa6b3f Improve phone rules checking. 2018-05-05 21:55:39 +03:00
John Preston 993cb987a6 Improve autoupdate code, move it from Application. 2018-05-05 21:55:37 +03:00
John Preston 87d6081408 Version 1.2.16: Fix build in Xcode 9.3. 2018-04-07 12:47:08 +04:00
John Preston 1e0fe70dc3 Focus correct widget in intro steps.
The old way some random shown widget could've been focused.
2018-03-11 22:55:28 +03:00
John Preston ea7441ae77 Use single LEGAL file with license and copyright. 2018-01-03 13:23:14 +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 14034c255e Replace QSharedPointer with std::shared_ptr. 2017-12-18 13:07:18 +04:00
John Preston fea122ae12 Handle PHONE_NUMBER_BANNED error in login. 2017-11-24 21:41:09 +04:00
John Preston 3d37ac9235 Replace NewAvatarButton with UserpicButton.
This new control should also replace PeerAvatarButton and
Profile::UserpicButton and deliver all the best of those three.
2017-11-16 07:59:11 +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 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 17cef93ac0 Use gsl::finally() instead of base::scope_guard(). 2017-08-30 19:15:26 +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 34d2e78308 Allow to edit Bio in Settings. 2017-07-23 12:34:43 +03:00
John Preston 85e6f55536 Support new plural keys format.
All the old plural phrases were changed to work with the new format.
2017-06-29 11:39:56 +03:00
John Preston b6046d829f Save the default language after logging in.
We suggest an appropriate language in the intro if server has users
system language langpack. But if user doesn't switch to it we save
the default ("en") language so that he won't be bothered again.
2017-06-29 11:39:55 +03:00
John Preston 665a1acfd8 Apply language with app restart if logged in.
Confirm and restart if logged in, just quickly apply if not.
2017-06-29 11:39:54 +03:00
John Preston d51fd7b3ad Update intro change language link.
Also now MTP::Sender isn't bound to MTP::Instance, because Intro
Widget is MTP::Sender, but Intro::PhoneWidget destroys current
MTP::Instance.
2017-06-29 11:39:53 +03:00
John Preston b94099e25b Realtime UI translation in all fields and buttons. 2017-06-29 11:39:51 +03:00
John Preston 5fc4f4ed36 Realtime UI translation in Intro.
Also support realtime translation testing by F7-F6-F7-F8 keys.
2017-06-29 11:39:49 +03:00
John Preston d47a38dfcf Show change language link in intro. 2017-06-29 11:39:48 +03:00
John Preston 139d4e72b5 Start cloud langpack support.
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston 2334ba1fe1 Use QString + Lang::Tag() instead of Lang::String. 2017-06-29 11:39:40 +03:00
John Preston 110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston bc7139d67a Fix crash in AuthSession::Exists() if there is no Messenger.
Also use toggleAnimated instead of show/hideAnimated in intro.
2017-04-15 19:28:07 +03:00
John Preston 891d200e2d Add TabbedSection which uses the TabbedSelector. 2017-04-10 12:08:56 +03:00
John Preston 0d0307e175 Move ApiWrap to AuthSession.
Also send all ApiWrap requests as an MTP::Sender.
Also create AuthSession only after starting MTProto.
2017-04-07 18:13:19 +03:00
John Preston 5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +03:00
John Preston 81375a05f1 Always write MTP data right after login.
Also write to DebugLogs all keys write attempts.
2017-04-03 21:59:13 +03:00
John Preston d41372dccd Allow MTP_flags(0) and MTP_flags(single_flag). 2017-03-25 18:42:01 +03:00
John Preston 1027bd431a Add some helper methods to effect wrappers.
Add and use similar methods to WidgetSlideWrap and WidgetFadeWrap:
[show|hide|toggle]Fast() and [show|hide|toggle]Animated().
2017-03-15 18:10:18 +03:00
John Preston f2465eba73 Make MTPstring and MTPvector value types.
Also move MTPstring implementation to QByteArray.
2017-03-10 23:27:26 +03:00
John Preston 6456a83a22 Finalizing files rename.
Also moved peer_avatar_button to ui/special_buttons.
2017-03-07 21:58:35 +03:00
John Preston 81790b2271 Notifications management moved to AuthSession.
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +03:00
John Preston 83720d8789 Finalizing file renaming. 2017-03-04 13:23:56 +03:00
John Preston 08167a6a91 Removed #include "stdafx.h" from all files.
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.
2017-03-04 12:27:52 +03:00
John Preston 12705c9065 Removed legacy FileDialog::query* methods.
Everything is done easier and better through the FileDialog::Get*.
2017-02-28 19:04:52 +03:00
John Preston f8318177b9 Platform-dependent file methods called async.
Some major platform-dependent file operations refactoring.
All methods like "open file", "open file with", "show in folder"
were moved to core/file_utilities module with platform-dependent
backends. All methods interacting with DesktopServices made async.
2017-02-28 18:03:38 +03:00
John Preston c207743338 Made base::lambda a copyable value type.
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.
2017-02-26 21:01:23 +03:00
John Preston 7d89b54d1c Ability to delete authorization keys added.
If we start logging in and we know, that some of the authorization
keys were read from the hard drive, not generated, we destroy all
the existing authorization keys and start generating new keys.
2017-02-25 19:48:22 +03:00
John Preston dd933cf61c MTP global state moved to MTP::Instance class.
Now there will be ability to start multiple mtproto instances.
2017-02-25 19:48:21 +03:00
John Preston c3b3819d9f Moved AppClass to messenger.cpp:Messenger. 2017-02-25 19:48:20 +03:00
John Preston 63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +03:00
John Preston 755325fef3 Updated Xcode build for using standard library.
Also trying to use g++-6 for travis build.
2017-02-21 17:37:53 +03:00
John Preston ffc557a0f9 Using standard library instead of std_ namespace.
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston f2e69d2621 Intro cover now shows palette changes in realtime. 2017-02-18 14:38:15 +03:00
John Preston 4424dbf64a Allow to resize chats list. One more mode added (narrow chats list). 2017-01-16 12:55:03 +03:00
John Preston 7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +04:00
John Preston bc0c355d2d Alpha version 0.10.21: pinned chats, groups in common, new design. 2016-12-30 22:23:17 +04:00
John Preston ef927c8465 Theme preview ready.
Also style::color is now copyable, constructed only inside a palette.
Also macOS setup new background ready.
2016-12-30 17:53:05 +04:00
John Preston eb4d2a38b6 Closed beta 10020003: All colors moved to palette, some bug fixes. 2016-12-30 17:53:02 +04:00
John Preston 2436ad74bd Boxes redesigned. Common groups moved to Shared Media.
Also transparent images sending fixed.
2016-12-30 17:52:56 +04:00