Compare commits

...

637 Commits

Author SHA1 Message Date
John Preston
54a64c01dc Version 1.9.
- System spellchecker on Windows 8+ and macOS 10.12+.
2019-11-05 17:46:42 +03:00
John Preston
3fd2d73f04 Fix layout in the spellchecker settings block. 2019-11-05 17:44:39 +03:00
John Preston
d1e2fec760 Fix crash in destructor of spellchecked input field. 2019-11-05 17:03:48 +03:00
John Preston
b94ed1fc3b Remove 'mac32' and add 'osx' special targets. 2019-11-05 15:45:55 +03:00
John Preston
9a44531953 Return GCC feature checks on Linux. 2019-11-05 14:51:03 +03:00
John Preston
1eb62579e2 Support building OS X 10.10/10.11 version. 2019-11-05 14:27:42 +03:00
John Preston
88e0342e02 Update to the latest submodules. 2019-11-05 14:27:42 +03:00
John Preston
6a0c7f3909 Update docs, fix patches revision. 2019-11-05 14:27:41 +03:00
23rd
ef101d63b1 Updated supported macOS versions. 2019-11-05 13:23:56 +03:00
23rd
6c2479c09f Fixed moving cursor when using reply shortcuts.
- Fixed #6038.
 - Slightly refactored comparison of modifiers.
2019-11-05 13:23:56 +03:00
John Preston
f945e88d13 Fix tilde workaround in Open Sans. 2019-11-05 13:23:56 +03:00
John Preston
bd0aee2f77 Use userpic if no photo thumbnail is loaded. 2019-11-05 13:23:56 +03:00
John Preston
d63e50944a Update submodules to the latest spellcheck. 2019-11-05 13:23:56 +03:00
John Preston
272f2d937b Fix build in Linux. 2019-10-20 22:05:35 +04:00
John Preston
6529edff92 Closed alpha version 1.8.15.2. 2019-10-20 21:43:31 +04:00
23rd
155d28d6d0 Updated lib_ui. 2019-10-20 21:11:38 +04:00
23rd
aa9dc2bee2 Added phrases for spellchecker. 2019-10-20 21:11:38 +04:00
23rd
4be178c75f Added SpellingHighlighter to InputField in HistoryWidget and some boxes. 2019-10-20 21:11:38 +04:00
23rd
6e95cfc24d Added lib_spellcheck. 2019-10-20 21:11:37 +04:00
23rd
1056021059 Added new setting to disable spellchecker. 2019-10-20 21:11:37 +04:00
John Preston
d535f5b3bc Fix build in Linux. 2019-10-20 21:09:07 +04:00
John Preston
92d48a7846 Fix build on Windows. 2019-10-20 15:32:44 +04:00
John Preston
467be135d6 Fix build in macOS. 2019-10-20 15:24:09 +04:00
John Preston
768a3d5a12 Backport a fix for custom window title. 2019-10-20 14:23:02 +04:00
John Preston
27a83a7a09 Use base::FileNameFromUserString. 2019-10-20 14:22:46 +04:00
John Preston
3ae7f9f93d Fix color conversion for Qt 5.12.5. 2019-10-20 13:00:36 +04:00
John Preston
e952c513d5 Use old non-crashing rlottie. 2019-10-20 12:13:20 +04:00
John Preston
e745bb7718 Fix instructions for MSVC. 2019-10-19 12:27:57 +04:00
John Preston
3ce72d0696 Closed alpha version 1.8.15.1. 2019-10-19 12:27:56 +04:00
John Preston
28719939a0 Fix tray icon on macOS in Qt 5.12.5. 2019-10-19 12:27:56 +04:00
John Preston
85acdbc7ed Disable custom scaling by envvar. 2019-10-19 12:27:56 +04:00
John Preston
b880d4aa30 Use custom named fonts. 2019-10-19 12:27:56 +04:00
John Preston
01936b5f1b Build with Qt 5.12.5 and OpenSSL 1.1.1. 2019-10-19 12:27:56 +04:00
John Preston
c6b3257412 Update lib_ui.
Fixes #6632, fixes #6635.
2019-10-19 12:27:56 +04:00
John Preston
9a498616c6 Fix build for Xcode 11. 2019-10-19 12:27:56 +04:00
John Preston
c88ee34b1d Fix build with range-v3 0.9.1. 2019-10-19 12:27:56 +04:00
John Preston
bc2a0fb505 Use TL code generator from lib_tl. 2019-10-19 12:27:56 +04:00
John Preston
7bb23519f9 Use base::Platform::ShowInFolder. 2019-10-19 12:27:56 +04:00
John Preston
30a1bd7ba2 Use base::call_delayed. 2019-10-19 12:27:56 +04:00
John Preston
09a7daf164 Update submodules. 2019-10-19 12:27:56 +04:00
John Preston
e757e6f67b Move private folder. 2019-10-19 12:27:56 +04:00
John Preston
25b6dea5e3 Build cmake 3.15.3 from source. 2019-10-19 12:27:56 +04:00
John Preston
2fc9fd5887 Remove some unused code. 2019-10-19 12:27:56 +04:00
John Preston
c87f9d0074 Fix build for Linux. 2019-10-19 12:27:56 +04:00
John Preston
fcb2950ce8 Use slide animation from lib_ui. 2019-10-19 12:27:56 +04:00
John Preston
250b7240f6 Add lib_[r]lottie as submodules. 2019-10-19 12:27:56 +04:00
John Preston
dad73c0e7b Build with updated submodules. 2019-10-19 12:27:56 +04:00
John Preston
959901d599 Use toasts from lib_ui. 2019-10-19 12:27:56 +04:00
John Preston
2d3f683003 Rename core_ui_integration to ui_integration. 2019-10-19 12:27:56 +04:00
John Preston
f677b116f9 Use install_base_filter for lib_base. 2019-10-19 12:27:56 +04:00
John Preston
a6b96662c4 Use some resources from lib_ui. 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
860353824b Fix build in Xcode. 2019-10-19 12:27:34 +04:00
John Preston
383195f1b2 Use some icons from lib_ui. 2019-10-19 12:27:34 +04:00
John Preston
e3f5a505eb Fix folder structure for Xcode build. 2019-10-19 12:27:34 +04:00
John Preston
246c45ce0e Use lib_ui from submodule. 2019-10-19 12:27:28 +04:00
John Preston
1b89348d89 Use lib_rpl / lib_base from submodules. 2019-10-19 10:30:08 +04:00
John Preston
be9398b05a Add several submodules from desktop-app. 2019-10-19 10:29:11 +04:00
John Preston
daa33a5726 Update API scheme to layer 106. 2019-10-13 15:31:44 +04:00
John Preston
17baac710e Fix save dialog in macOS for streamed videos. 2019-10-07 19:57:26 +03:00
RadRussianRus
883d6dcede Fixed inline message restriction width 2019-10-07 18:58:21 +03:00
RadRussianRus
261a83eda3 Show restricted date to user (#6642)
* Show restricted date to user
* Fixed attach button toast
* Fixed attach button toast in scheduled messages
2019-10-07 17:35:22 +03:00
John Preston
5f06279b9a Version 1.8.15.
- Bug fixes and other minor improvements.
2019-10-07 17:33:41 +03:00
John Preston
2835aa446f Fix possible HistoryHider bug on old OS X. 2019-10-07 17:28:36 +03:00
John Preston
55d5f6e03d Fix possible crash in emoji suggestions.
Fixes #6652, fixes #6654.
2019-10-07 12:35:49 +03:00
John Preston
60b39c8f7e Fix inline result previews. 2019-10-07 12:19:04 +03:00
John Preston
de230332b9 Version 1.8.14: Fix crash in text processing on old OS X. 2019-10-03 19:51:09 +03:00
John Preston
dcf79df0b2 Version 1.8.13.
- Bug fixes and other minor improvements.
2019-10-03 13:26:39 +03:00
John Preston
9773563926 Fix history geometry update being lost.
Fixes #6629.
2019-10-03 13:25:05 +03:00
John Preston
3779ad46ca Fix crash in pre-launch logging.
Fixes #6635.
2019-10-03 12:37:00 +03:00
John Preston
4e7946d03e Allow scales below 100.
Fixes #6632.
2019-10-03 12:34:58 +03:00
John Preston
606a90a4ac Fix crash in emoji suggestions.
Fixes #6636.
2019-10-03 12:13:41 +03:00
John Preston
af818b40aa Version 1.8.12: Apply user settings in Session().
Fixes #6617.
2019-10-02 13:47:40 +03:00
John Preston
ecfe1dacb2 Version 1.8.12: Fix build for Xcode. 2019-10-02 12:54:29 +03:00
John Preston
60640c7087 Version 1.8.12: Fix 'edited' badge display. 2019-10-02 12:08:31 +03:00
RadRussianRus
982edcb310 Resize message with photo when bubbled 2019-10-02 11:56:33 +03:00
Jiachen YANG
4669c07dc5 fix range-v3 version to 0.9.1 2019-10-02 11:52:55 +03:00
Jiachen YANG
c164985233 tweak vs2019 compiler settings to be compatible with newer range-v3 2019-10-02 11:52:55 +03:00
Jiachen YANG
497df7f4b2 change deprecated ranges::to_ to ranges::to (no underscore) 2019-10-02 11:52:55 +03:00
Jiachen YANG
56aab1aa07 explicitly specify the upper bound in ranges::view::ints 2019-10-02 11:52:55 +03:00
Jiachen YANG
8abeb4a9db include range/v3/range/conversion.hpp instead of range/v3/to_container.hpp 2019-10-02 11:52:55 +03:00
Jiachen YANG
d78716d7d4 appveyor use range-v3 latest branch 2019-10-02 11:52:55 +03:00
Jiachen YANG
d7489f8e67 Revert "Use 0.5.0 version of range-v3."
This reverts commit 3355e6da0c.
2019-10-02 11:52:55 +03:00
Jiachen YANG
9d850b71e7 be compatible with range-v3 0.9.x/1.0 branch
This made 2 changes to the current code base to be compatible with higher versions of range-v3 library.
1. ranges::iterator_range was renamed to subrange, see https://github.com/ericniebler/range-v3/issues/766
2. PercentCounterItem need an operator== for ranges::sort for some reason
2019-10-02 11:52:55 +03:00
RadRussianRus
684cfa16b8 Do not show edit timer for supergroup admins 2019-10-02 11:31:43 +03:00
John Preston
2cb7d76417 Optimize unixtime refresh. 2019-10-02 11:30:50 +03:00
23rd
9bf8b619fe Refactored ability to display media preview from touchbar. 2019-10-02 11:30:23 +03:00
John Preston
664162982c Version 1.8.12: Fix build for old OS X. 2019-10-02 11:21:56 +03:00
John Preston
718f862be0 Version 1.8.12: Fix build for Mac App Store. 2019-10-02 11:21:02 +03:00
John Preston
489bd22828 Version 1.8.12.
- Bug fixes and other minor improvements.
2019-10-02 11:18:23 +03:00
John Preston
65b5a29288 Fix local url handling.
Regression was introduced in 849deb57e2.

Fixes #6622.
2019-10-02 11:11:03 +03:00
John Preston
bf345da87b Version 1.8.11: Fix build for Xcode. 2019-10-02 00:57:16 +03:00
John Preston
1e5aa2a78d Version 1.8.11.
- Bug fixes and other minor improvements.
2019-10-01 23:59:46 +03:00
John Preston
8cf62c312f Allow not to cache emoji sprites. 2019-10-01 23:59:46 +03:00
John Preston
3b0bf7cb1e Move some more widgets and effects. 2019-10-01 23:59:46 +03:00
John Preston
673072ea5b Reorganize GYP files. 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
dda587a2fc Move QtConnectionOwner to base/qt_connection. 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
a16c6ca41a Support more request types. 2019-10-01 23:59:46 +03:00
John Preston
c5845f17ae Remove twidget header. 2019-10-01 23:59:46 +03:00
John Preston
e2f54eb3e9 Move some style code to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston
5a1c8e6a0a Move fonts to a separate .qrc file. 2019-10-01 23:59:46 +03:00
John Preston
b73390a3f6 Support emoji in popup menu items. 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
a87529b8c9 Version 1.8.10.
- Bug fixes and other minor improvements.
2019-10-01 23:59:46 +03:00
John Preston
0c30bbf40a Fix file reference refresh in stickers / GIFs.
Fixes #6592.
2019-09-30 13:25:09 +03:00
John Preston
f75bfb4369 Version 1.8.9.
- Bug fixes and other minor improvements.
2019-09-27 20:04:25 +03:00
John Preston
0c34ba638c Don't show revoke checkbox in Saved Messages. 2019-09-27 20:01:36 +03:00
John Preston
4af9c801ae Don't show sticker suggestions if can't send.
Fixes #6581.
2019-09-27 19:56:54 +03:00
John Preston
e06bf16980 Improve name / title limits. 2019-09-27 19:46:27 +03:00
John Preston
1018745b0b Fix userpic display in custom notifications.
Fixes #6532.
2019-09-27 19:36:19 +03:00
John Preston
47b157bf32 Fix possible crash in custom notifications. 2019-09-27 18:53:44 +03:00
John Preston
09547bd6d5 Fix possible crash in scheduled messages. 2019-09-27 18:49:49 +03:00
RadRussianRus
d17f21c10d Use exact version of libxkbcommon in Travis build 2019-09-27 18:05:26 +03:00
udf
f11339361d Make "All Users" checkbox behave like the "All Actions" checkbox 2019-09-27 18:04:50 +03:00
John Preston
04b9d4bdb5 Fix animated emoji reloading. 2019-09-11 14:00:18 +03:00
John Preston
1d8d2b6251 Fix theme link preview title. 2019-09-10 18:30:47 +03:00
John Preston
190bf8fc5f Version 1.8.8.
- Create new themes based on your color and wallpaper choices.
- Share your themes with other users via links.
- Update your theme for all its users when you change something.
2019-09-10 14:22:20 +03:00
John Preston
f463d3ec6d Divide autoupdate paths for OS versions. 2019-09-10 14:22:20 +03:00
23rd
f9d10094ac Added warning when try to attach new media while editing message. 2019-09-10 14:22:20 +03:00
RadRussianRus
9fc87c3cb8 Fix last message tail drawing in theme preview 2019-09-10 10:48:20 +03:00
Sean
0d9c30423f Add chrpath to CMake instruction
Ref: 02a8b69
2019-09-10 10:13:51 +03:00
John Preston
c4bc76c022 Beta version 1.8.7.
- Bug fixes and other minor improvements.
2019-09-10 00:52:34 +03:00
John Preston
241f5e1d26 Make theme preview fit in minimal window size. 2019-09-10 00:50:15 +03:00
John Preston
76f0abecfd Show sticker set on Ctrl+Click in stickers list. 2019-09-10 00:48:34 +03:00
John Preston
ca45fb617e Fix applying background after theme edit. 2019-09-10 00:36:16 +03:00
John Preston
dfd63e66ff Add import theme to the editor. 2019-09-09 23:58:41 +03:00
John Preston
d85f162bff Fix saving cloud themes from media viewer. 2019-09-09 23:58:30 +03:00
John Preston
1d4fbc64e2 Ensure theme list radiobutton contrast. 2019-09-09 23:25:54 +03:00
John Preston
9fd32fc85b Ensure contrast in critical theme parts. 2019-09-09 23:02:24 +03:00
John Preston
f7f195eb98 Fix transfer ownership button visibility.
Regression was introduced in 569340c7d3.
2019-09-09 21:07:12 +03:00
John Preston
12c7bd8ee1 Suggest theme title based on accent color. 2019-09-09 20:27:07 +03:00
John Preston
cd5ef069c0 Ask to unlock Telegram before saving theme. 2019-09-09 20:26:53 +03:00
John Preston
f90fdce422 Fix crash on quit from passcode with a box. 2019-09-09 18:54:38 +03:00
John Preston
423254f7eb Fix theme editor closing in a small window.
Fixes #6510.
2019-09-09 18:37:04 +03:00
John Preston
c9c0d74b68 Fix build for Linux. 2019-09-09 17:50:26 +03:00
John Preston
8bf6013342 Add 'Export theme' / 'Show palette file' menu. 2019-09-09 17:44:08 +03:00
John Preston
c1ab1acd44 Fix crash in scheduled messages 'Send Now'. 2019-09-09 17:43:39 +03:00
John Preston
90b955534a Beta version 1.8.6: Improve theme preview. 2019-09-09 16:13:16 +03:00
John Preston
61c7bf2f5e Beta version 1.8.6.
- Bug fixes and other minor improvements.
2019-09-09 14:56:55 +03:00
John Preston
ee5423762a Generate previews for cloud theme links. 2019-09-09 14:56:05 +03:00
John Preston
6d29dc3b36 Apply themes in settings without preview. 2019-09-09 12:13:07 +03:00
John Preston
aa10934e85 Fix messing up accent color if editor is opened. 2019-09-09 12:02:06 +03:00
John Preston
9ff1fbcf47 Support theme document file origins. 2019-09-09 11:51:07 +03:00
John Preston
51c1dc20e1 Unregister randomId if send message fails. 2019-09-09 11:13:41 +03:00
John Preston
3a3bf84cfc Fix crash in SeparatePanel destruction.
We should destroy layers before panel widget destructor started.
We do it already for MainWindow in clearWidgetsHook.
2019-09-09 10:52:03 +03:00
John Preston
037b936613 Fix possible crash with emoji load failure. 2019-09-09 10:45:18 +03:00
John Preston
b631d09a40 Fix possible crash in event loop nesting. 2019-09-09 10:45:18 +03:00
John Zimmermann
fd4f384c3b Allow GDK wayland backend when Telegram is running under Wayland
and make sure that it never tries to load gtk2 under wayland, it can
lead to Telegram crashing
2019-09-09 10:25:01 +03:00
RadRussianRus
428a501bac Show Beginning button only for message date
Also hide button when you're already at beginning.
2019-09-09 10:17:23 +03:00
RadRussianRus
3ca57ae50d Added "Beginning" button to calendar 2019-09-09 10:17:23 +03:00
RadRussianRus
f1eddcd584 Make link preview title clickable 2019-09-09 10:15:32 +03:00
Sameer Hoosen
f979df3dfe Allow searching for messages by a user who has left a chat (#6417)
Fixes #5667
2019-09-09 10:05:29 +03:00
John Preston
eebcdb842d Generate previews async in cloud themes list. 2019-09-09 09:59:57 +03:00
John Preston
048658f838 Fix deleting theme from the list. 2019-09-09 08:54:17 +03:00
John Preston
8fd17e2e8f Fix theme with background with colorizer. 2019-09-09 08:53:16 +03:00
John Preston
5c13214244 Beta version 1.8.5: Fix build for old OS X. 2019-09-08 23:42:40 +03:00
John Preston
12a020cd09 Beta version 1.8.5: Fix build for Linux. 2019-09-08 23:38:45 +03:00
John Preston
b98e02f326 Beta version 1.8.5: Fix build on macOS. 2019-09-08 23:04:25 +03:00
John Preston
9a521c5340 Beta version 1.8.5.
- Create new themes based on your color and wallpaper choices.
- Share your themes with other users via links.
- Update your theme for all its users when you change something.
2019-09-08 21:38:58 +03:00
John Preston
5f26e92f5c Fix scheduled messages from ShareBox.
Fixes #6497.
2019-09-08 21:26:17 +03:00
John Preston
3d78c637a2 Strip editor information from palette. 2019-09-08 21:21:54 +03:00
John Preston
2ab2eed633 Push new saved theme to the list. 2019-09-08 21:05:35 +03:00
John Preston
bb7018424a Copy adjusted color values to editor. 2019-09-08 21:00:31 +03:00
John Preston
a770b5d4cd Allow share and remove cloud themes. 2019-09-08 20:32:25 +03:00
John Preston
c92a9585e1 Check changes when saving theme. 2019-09-08 19:29:43 +03:00
John Preston
cedb2d31af Check palette changes on editor cancel. 2019-09-08 16:40:15 +03:00
John Preston
95da2dbc34 Move create theme button to three-dot menu. 2019-09-08 15:47:22 +03:00
John Preston
f9b2a8d6ac Show progress in theme saving. 2019-09-08 14:52:42 +03:00
John Preston
a773ad7b02 Fix reverting edited theme values. 2019-09-06 19:31:07 +03:00
John Preston
32287a51f9 Don't show warning on theme autoupdate. 2019-09-06 19:31:07 +03:00
John Preston
37a4c79c81 Open theme preview after loading. 2019-09-06 19:31:07 +03:00
John Preston
95ee17bd54 Optimize theme edit data clearing. 2019-09-06 19:31:07 +03:00
John Preston
469c6770fb Handle t.me/addtheme links. 2019-09-06 19:31:07 +03:00
John Preston
e38123cc48 Send theme install requests. 2019-09-06 19:31:07 +03:00
John Preston
e3d7bf771f Update current theme in realtime. 2019-09-06 19:31:07 +03:00
John Preston
1cda90c3c5 Check fields before uploading theme. 2019-09-06 19:31:07 +03:00
John Preston
9c86f0e0a5 Save themes, apply and close editor on save. 2019-09-06 19:31:07 +03:00
John Preston
910f16312c Show not supported themes placeholders. 2019-09-06 19:31:07 +03:00
23rd
639b4bdd27 Fixed badge update during theme testing. 2019-09-06 19:31:07 +03:00
John Preston
4951eeac98 Allow creating desktop part of multi-theme. 2019-09-06 19:31:07 +03:00
John Preston
79106e0c01 Correctly show custom themes in list. 2019-09-06 19:31:07 +03:00
John Preston
7485f0c960 Don't change real theme when editing. 2019-09-06 19:31:07 +03:00
John Preston
03bdd80b2f Open theme editor for existing themes. 2019-09-06 19:31:07 +03:00
John Preston
dd74f57a66 Display full themes list in Settings. 2019-09-06 19:31:07 +03:00
John Preston
534772722e Improve theme selector design. 2019-09-06 19:31:07 +03:00
John Preston
6343221d7b Remove many includes from stdafx.pch. 2019-09-06 19:31:07 +03:00
John Preston
4929de2bfb Apply cloud themes. 2019-09-06 19:31:06 +03:00
John Preston
ac8f924909 Show tdesktop cloud themes in a box. 2019-09-06 19:31:06 +03:00
John Preston
95afcbb485 Format a valid theme file name. 2019-09-06 19:31:06 +03:00
John Preston
229bc56cc8 Upload saved theme to the cloud. 2019-09-06 19:31:06 +03:00
John Preston
4b045a602c Add a box for new theme creating. 2019-09-06 19:31:06 +03:00
John Preston
1e3b72ab74 Ignore background when checking which theme is used. 2019-09-06 19:31:06 +03:00
John Preston
bc63d9fe53 Fix check display in background box. 2019-09-06 19:31:06 +03:00
John Preston
d7cb8b7065 Version 1.8.4: Fix crash in local messages. 2019-09-06 16:41:43 +03:00
John Preston
30f4d870c5 Version 1.8.4: Fix crash on failed message delete. 2019-09-06 14:46:09 +03:00
John Preston
ad515c6f4a Version 1.8.4.
- Bug fixes and other minor improvements.
2019-09-06 14:39:04 +03:00
John Preston
056949416d Apply some rlottie fixes. 2019-09-06 14:37:41 +03:00
John Preston
ab6d9ff73c Fix sending first message in chat. 2019-09-06 14:14:04 +03:00
John Preston
8b766dda8e Fix crash in scheduled message in admin log.
Fixes #6495.
2019-09-06 12:20:59 +03:00
John Preston
ee0f66d746 Fix crash in history clear while sending messages.
Don't remove messages that are currently being sent from locals.
2019-09-06 10:56:01 +03:00
John Preston
7893ad0558 Mark all types of local history items. 2019-09-06 10:53:44 +03:00
John Preston
b0c5a75fb9 Version 1.8.3.
- Right click the 'Send' button and select 'Schedule Message'
to automatically send something at a specified time.
- Schedule reminders for yourself in the 'Saved Messages' chat.
- Get a notification when any of your scheduled messages are sent.
- Customize your app's appearance by choosing accent colors
for the 'Day', 'Night' and 'Tinted' themes.
- Choose who can find you on Telegram
when they add your number to their phone contacts.
- Send a single 😁, 😧, 😡, :poo:, 😢 or
😮 to check out what's new in the animated emoji department.
2019-09-05 21:49:20 +03:00
John Preston
1c313da888 Add dummy handler for addtheme links. 2019-09-05 21:49:20 +03:00
John Preston
ee210ea701 Update API scheme. 2019-09-05 20:42:45 +03:00
John Preston
e0c0d79be9 Fix build for GCC. 2019-09-02 15:22:01 +03:00
John Preston
cb3bad31fa Put 'Classic' theme first. 2019-09-02 14:27:22 +03:00
John Preston
917696be36 Closed alpha version 1.8.2.3. 2019-09-02 13:43:37 +03:00
John Preston
253816641c Submit by keyboard in scheduled section. 2019-09-02 13:39:43 +03:00
John Preston
ca2692473d Fix inactive window notifications clearing. 2019-09-02 13:39:43 +03:00
John Preston
8000dfac01 Fix crash on admin log exit by Escape. 2019-09-02 13:39:43 +03:00
John Preston
85cca51154 Make accent color radiobutton animated. 2019-09-02 13:39:43 +03:00
John Preston
87ea49e094 Allow schedule messages while in slowmode counter. 2019-09-02 13:39:43 +03:00
John Preston
66bf48e21e Remove 'Send without sound' in Saved messages. 2019-08-31 14:43:19 +03:00
John Preston
451056d2ab Track reminder unread status without cheating. 2019-08-31 14:32:15 +03:00
John Preston
791ae64a90 Fix crash in local messages tracking. 2019-08-31 14:25:24 +03:00
John Preston
3b4563772e Disable edit self restrictions in UI. 2019-08-31 14:25:02 +03:00
John Preston
16b786186b Fix schedule time selection. 2019-08-31 14:21:52 +03:00
John Preston
7be1c4ca2f Fix crash in right click on CalendarBox.
Any attempt to destroy a widget on right click will crash,
because Qt anyway sends QContextMenuEvent to the same widget.

Fixes #6464.
2019-08-31 14:15:30 +03:00
John Preston
17fba16c23 Fix crash on quit without initial passcode unlock. 2019-08-30 23:30:12 +03:00
John Preston
5fc4dcd172 Closed alpha version 1.8.2.2. 2019-08-30 18:45:07 +03:00
John Preston
b27a2cd34a Use edit_hide flag to hide 'edited' badge. 2019-08-30 18:00:32 +03:00
John Preston
569340c7d3 Move transfer ownership button. 2019-08-30 17:06:37 +03:00
John Preston
3715fa4b1e Fix scheduled notifications on inbox read. 2019-08-30 17:06:21 +03:00
John Preston
d95e54cb1a Check if it is possible to 'Send now.' 2019-08-30 16:17:46 +03:00
John Preston
470b67f557 Refresh file reference from scheduled messages. 2019-08-30 15:42:01 +03:00
John Preston
c46bcef9ff Add 'Send now' confirmation to langpack. 2019-08-30 15:24:42 +03:00
John Preston
c31cda0587 Use better accent color suggestions. 2019-08-30 13:32:15 +03:00
John Preston
5758f756c9 Fix draft clearing on message send.
Regression was introduced in caef7dde24.
2019-08-30 13:31:45 +03:00
John Preston
f199205592 Limit scheduled requests for one per minute. 2019-08-29 20:16:37 +03:00
John Preston
2b656f7745 Closed alpha version 1.8.2.1. 2019-08-29 16:16:22 +03:00
23rd
7be286751b Fixed text width in toast widget.
- Fixed #6381.
2019-08-29 16:16:22 +03:00
23rd
04617e4a12 Fixed display of tooltip for date of stickers.
- Fixed #6426.
 - Regression was introduced in b814c6307a.
2019-08-29 16:16:22 +03:00
John Preston
405ccb8580 Add editing of AddedByPhone privacy. 2019-08-29 11:44:03 +03:00
John Preston
131ef4f15a Fix palette generation on macOS. 2019-08-29 10:01:28 +03:00
John Preston
07f45b7eab Improve published scheduled notifications. 2019-08-29 10:01:28 +03:00
John Preston
87addd41b1 Add new phrases for reminders. 2019-08-29 10:01:28 +03:00
John Preston
0a4f91a53d Notify about published scheduled messages. 2019-08-29 10:01:28 +03:00
John Preston
3b76a908a4 Try to fix a crash in QNetworkReplyHttpImpl. 2019-08-29 10:01:28 +03:00
John Preston
9e3bc966c8 Fix crash in window destruction. 2019-08-29 10:01:28 +03:00
John Preston
149c69809d Apply peer restrictions. 2019-08-29 10:01:28 +03:00
John Preston
97a239a8b4 Show full emoji in fields in all scales. 2019-08-29 10:01:28 +03:00
John Preston
bd7cee2252 Improve accent color choose design. 2019-08-29 10:01:28 +03:00
John Preston
66d0d6e8fe Use HSV color space for colorizing. 2019-08-29 10:01:28 +03:00
John Preston
117d6192fa Ensure contrast in colorized themes. 2019-08-29 10:01:28 +03:00
John Preston
763bdf8798 Apply lightness limits in accent colors. 2019-08-29 10:01:28 +03:00
John Preston
56a82600f8 Add HSL color picker box for theming. 2019-08-29 10:01:28 +03:00
John Preston
a3e993253c Keep colorized theme in editor. 2019-08-29 10:01:28 +03:00
John Preston
04d5158ae3 Remove unused LeftOutlineButton type. 2019-08-29 10:01:28 +03:00
John Preston
38e4daacd4 Use HSL color space for accent colors. 2019-08-29 10:01:28 +03:00
John Preston
44d156760e Fix build in Xcode. 2019-08-27 19:10:37 +03:00
John Preston
d66541989e Improve first socket message. 2019-08-27 19:10:37 +03:00
John Preston
56c4d164f3 Fix crash in group creation. 2019-08-27 19:10:37 +03:00
John Preston
e2c1c4c8de Fix jump to first chat with archive. 2019-08-27 19:10:37 +03:00
John Preston
a465117689 Allow choosing accent colors from palette. 2019-08-27 19:10:37 +03:00
John Preston
c2117e7722 Save embedded themes accent colors. 2019-08-27 19:10:37 +03:00
John Preston
7de28fc4bd Apply saturation and value in colorizer. 2019-08-27 19:10:37 +03:00
John Preston
529ef64257 Sort colors by hue distance. 2019-08-27 19:10:37 +03:00
John Preston
9cb5423d40 Allow changing accent color in default themes. 2019-08-27 19:10:37 +03:00
John Preston
dd136350fb Fix save color in theme editor. 2019-08-27 19:10:37 +03:00
John Preston
ef7087348a Allow to schedule created polls. 2019-08-27 19:10:37 +03:00
John Preston
8eac2dcb78 Correctly show scheduled polls. 2019-08-27 19:10:37 +03:00
John Preston
f690f93f32 Allow schedule of files, stickers, GIFs. 2019-08-27 19:10:37 +03:00
John Preston
77ebdd3576 Send from scheduled messages section. 2019-08-27 19:10:37 +03:00
John Preston
3e895d0e85 Make tabbed selector working in scheduled section. 2019-08-27 19:10:37 +03:00
John Preston
385a7eb00d Start scheduled compose controls. 2019-08-27 19:10:37 +03:00
John Preston
1c9775baf9 Improve scheduled messages icon design. 2019-08-27 19:10:37 +03:00
John Preston
fb96d2eef8 Improve schedule box design. 2019-08-27 19:10:37 +03:00
John Preston
debeb61540 Start schedule message box. 2019-08-27 19:10:37 +03:00
John Preston
03cdddfe18 Allow sending scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
caef7dde24 Bundle silent and scheduled to Api::SendOptions. 2019-08-27 19:10:37 +03:00
John Preston
0b08810d5a Update hash counting for scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
694f771131 Allow to send scheduled messages instantly. 2019-08-27 19:10:37 +03:00
John Preston
956bb876f6 Sort scheduled messages on an update. 2019-08-27 19:10:37 +03:00
John Preston
99037d3d46 Improve scheduled messages top bar. 2019-08-27 19:10:37 +03:00
John Preston
ea0a616453 Allow deleting scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
815a18be94 Add initial scheduled list implementation. 2019-08-27 19:10:37 +03:00
John Preston
3814b0833d Keep track of scheduled messages. 2019-08-27 19:10:37 +03:00
John Preston
549789bfb7 Update API scheme to layer 105. 2019-08-27 19:10:37 +03:00
John Preston
a539fad3e2 Version 1.8.2: Fix passcode unlock. 2019-08-20 16:03:21 +03:00
John Preston
ee96d78656 Version 1.8.2: Fix build for Qt 5.3.2. 2019-08-20 14:29:21 +03:00
John Preston
288c1130b9 Version 1.8.2: Fix build. 2019-08-20 14:28:40 +03:00
John Preston
d1083a1fb4 Version 1.8.2.
- Bug fixes and other minor improvements.
2019-08-20 12:49:51 +03:00
John Preston
e1fe373504 Fix localtime-related slowmode errors. 2019-08-20 12:42:37 +03:00
23rd
1a06714f3a Added ability to apply formatting from Mac menu. 2019-08-20 12:02:37 +03:00
John Preston
7316d24ca4 Quick fix for 'Cant forward here' error. 2019-08-19 15:26:12 +03:00
John Preston
b814c6307a Check that sticker drag point is inside. 2019-08-19 15:26:12 +03:00
23rd
06fbb2edc4 Added permanent date display for sticker when fast action is enabled. 2019-08-19 15:26:12 +03:00
23rd
0ee47bb10f Fixed fast action button and date position for stickers. 2019-08-19 15:26:12 +03:00
23rd
9f228d8146 Fixed fast share button in messages with big emoji and reply. 2019-08-19 15:26:12 +03:00
23rd
de270d5283 Fixed right action click handler on stickers without stickerpack. 2019-08-19 15:26:12 +03:00
John Preston
3f041545bf Fix crash in local passcode reset. 2019-08-19 15:26:12 +03:00
John Preston
1139a59818 Fix crash in editing message to empty. 2019-08-19 15:26:12 +03:00
John Preston
1e64ba8f29 Fix app config refresh timeout. 2019-08-19 15:26:12 +03:00
John Preston
65342559c7 Use specific tag for libxkbcommon in docs. 2019-08-19 15:23:37 +03:00
John Preston
e150db1d0b Use specific tag for libkxbcommon in snap build. 2019-08-19 13:34:24 +03:00
John Preston
4548b14b45 Fix libvdpau repository link in snap build. 2019-08-19 13:15:32 +03:00
John Preston
dac1128dc9 Version 1.8.1.
- Bug fixes and other minor improvements.
2019-08-09 20:36:21 +01:00
John Preston
c3944d95b4 Fix local caching.
Regression was introduced in 9cf4cf6dca.

Fixes #6377.
2019-08-09 20:33:05 +01:00
John Preston
02b65a42f7 Move message client flags to a separate field. 2019-08-09 20:19:23 +01:00
John Preston
4869ce2247 Version 1.8.
- Right click the Send button to send any message
without sound - in case the recipient is sleeping.
- Enable Slow Mode in Group Permissions to control
how frequently members can post.
- Set custom titles for group admins - like 'Founder',
'CFO' or 'Spam Fighter'.
- Toggle looped playback for animated stickers in Chat Settings.
- Send a single ❤️, :like:, 😒, 😳 or :party:
to add a mighty animated emoji to the chat.
2019-08-09 11:51:36 +01:00
John Preston
e40267f45b Add :party: emoji replacement. 2019-08-09 11:51:36 +01:00
John Preston
e9ab8df737 Use QLocale::uiLanguages for system language. 2019-08-09 11:51:36 +01:00
Vitaly Lipatov
9276101809 Get language name and country name from QLocale (Linux) 2019-08-09 11:51:36 +01:00
John Zimmermann
0c3773486e linux/specific_linux.h: remove unnecessary include of execinfo 2019-08-09 11:51:35 +01:00
Konstantin Popov
b831766375 Make .desktop file search respect TDESKTOP_LAUNCHER_FILENAME 2019-08-09 11:51:35 +01:00
Nicholas Guriev
325989ed47 Fix small typo 2019-08-09 11:51:35 +01:00
John Preston
63203ecc00 Fix int32 overflow in local storage stats. 2019-08-09 11:51:35 +01:00
John Preston
93793d8bdd Remove thumbnail for colored animated emoji. 2019-08-09 11:51:35 +01:00
John Preston
6710372d27 Fix build in Xcode. 2019-08-09 11:51:35 +01:00
John Preston
a8c94deca8 Retry signing if failed. 2019-08-09 11:51:35 +01:00
John Preston
e97d014a01 Closed alpha version 1.7.15.7. 2019-08-09 11:51:35 +01:00
John Preston
7ffa348e43 Replace 'Telegram Messenger LLP' with 'Telegram FZ-LLC'. 2019-08-09 11:51:35 +01:00
John Preston
b999d87388 Divide scheme.tl to mtproto.tl and api.tl. 2019-08-09 11:51:35 +01:00
John Preston
fb00d523c3 Add theme names to langpack. 2019-08-09 11:51:35 +01:00
John Preston
d7f7a03eb4 Don't refresh large emoji messages when sent. 2019-08-09 11:51:35 +01:00
John Preston
bc83df9d7f Repaint skin-toned animated emoji. 2019-08-09 11:51:33 +01:00
John Preston
61c1c10ed9 Closed alpha version 1.7.15.6. 2019-08-09 11:50:49 +01:00
John Preston
4bad642190 Remove some more Auth() calls. 2019-08-09 11:50:49 +01:00
John Preston
f48732f813 Extract username from t.me/username searches. 2019-08-09 11:50:49 +01:00
John Preston
10e28913ca Search single messages by message link. 2019-08-09 11:50:49 +01:00
John Preston
230dd29af5 More large emoji layout improvements. 2019-08-09 11:50:49 +01:00
John Preston
169db40e9f Closed alpha version 1.7.15.5. 2019-08-09 11:50:49 +01:00
John Preston
116b483a88 Improve layout of large emoji. 2019-08-09 11:50:49 +01:00
John Preston
57cdef4e6b Improve large emoji outline. 2019-08-09 11:50:49 +01:00
John Preston
1b1b1780db Reuse global emoji large images. 2019-08-09 11:50:49 +01:00
John Preston
e479daca03 Use outlined large emoji. 2019-08-09 11:50:49 +01:00
John Preston
51d350c356 Fix stickers and emoji render. 2019-08-09 11:50:49 +01:00
John Preston
9da4bd671e Closed alpha version 1.7.15.4. 2019-08-09 11:50:49 +01:00
John Preston
d298953653 Add large emoji implementation. 2019-08-09 11:50:49 +01:00
John Preston
1d52ba7a42 Extract sticker-specific HistoryView code. 2019-08-09 11:50:49 +01:00
John Preston
850940116d Move HistoryMedia to HistoryView namespace. 2019-08-09 11:50:49 +01:00
John Preston
fd59147b8a Allow disabling animated emoji. 2019-08-09 11:50:49 +01:00
John Preston
93a52bb66e Move some settings from global to Session. 2019-08-09 11:50:49 +01:00
John Preston
7e4c9f98a6 Track all single-emoji messages. 2019-08-09 11:50:49 +01:00
John Preston
7d2896dd42 Scale animated emoji by server config. 2019-08-09 11:50:49 +01:00
John Preston
f7f797dd78 Initial animated emoji implementation. 2019-08-09 11:50:49 +01:00
John Preston
4b7b1c35e1 Improve storing of played animated stickers. 2019-08-09 11:50:49 +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
052e4bc508 Fix complex box closing.
~BoxContent should be called when _layers is already in valid state.
2019-08-09 11:50:49 +01:00
John Preston
80fedcbbae Improve slowmode error phrases. 2019-08-09 11:50:49 +01:00
John Preston
787b5f549a Update slowmode intervals. 2019-08-09 11:50:49 +01:00
John Preston
e8a28a57df Fix adding contacts.
Regression was introduced in 06982fdf04.
2019-08-09 11:50:49 +01:00
John Preston
b05ea9fc25 Fix some problems in working with rlottie. 2019-08-09 11:50:49 +01:00
John Preston
8d94cfb61b Fix support mode sending. 2019-08-09 11:50:49 +01:00
John Preston
d8a58991c4 Closed alpha version 1.7.15.3. 2019-07-28 18:01:13 +02:00
John Preston
03cf8b6ac2 Improve transport nonce generation. 2019-07-28 18:01:13 +02:00
John Preston
32e8ae2b9e Fix sticker suggestions by emoji.
Regression was introduced in 27f248645c.
2019-07-28 15:45:46 +02:00
John Preston
27d84befa8 Remove emoji from custom admin ranks. 2019-07-28 15:39:06 +02:00
John Preston
3bf709d459 Add Ui::Text::Italic modifier. 2019-07-27 23:09:15 +02:00
John Preston
2a8b6f05c8 Fix build for GCC. 2019-07-27 17:19:04 +02:00
John Preston
f29b331470 Fix build for Xcode. 2019-07-27 17:19:04 +02:00
John Preston
a8b74d4b6b Closed alpha version 1.7.15.2. 2019-07-27 17:19:04 +02:00
John Preston
415d817034 Show notification without sound for silent message. 2019-07-27 17:19:04 +02:00
John Preston
3f2cc01f48 Allow sending silent messages. 2019-07-27 17:19:04 +02:00
John Preston
f1cd70d8a8 Fix some instructions and build process. 2019-07-27 17:19:04 +02:00
John Preston
bacaf805b5 Pass SessionNavigation to some boxes. 2019-07-25 20:55:11 +02:00
John Preston
137fa0378c Remove some more Auth() calls. 2019-07-24 16:00:30 +02:00
John Preston
ff44094ded Rename AuthSession to Main::Session. 2019-07-24 13:45:24 +02:00
John Preston
06982fdf04 Remove some calls to Auth(). 2019-07-24 13:13:51 +02:00
John Preston
9cf4cf6dca Move MTP::Instance to Main::Account. 2019-07-24 10:46:23 +02:00
John Preston
db2018c765 Fix owner badges in groups. 2019-07-24 08:37:10 +02:00
John Preston
020e62fb7a Closed alpha version 1.7.15.1. 2019-07-24 08:02:58 +02:00
John Preston
2ed5552279 Improve custom badge input phrases. 2019-07-24 08:02:20 +02:00
John Preston
4d92d74de0 Add python extensions to the list of executables. 2019-07-24 08:02:20 +02:00
John Preston
4fd50cfb70 Fix build in Xcode. 2019-07-24 08:02:20 +02:00
John Preston
27f248645c Use correct animated sticker thumbnails size. 2019-07-24 08:02:20 +02:00
John Preston
3f1a2d0b58 Support emoji in custom admin badges. 2019-07-24 08:02:20 +02:00
John Preston
6fe36e6534 Improve custom rank input UI. 2019-07-24 08:02:20 +02:00
John Preston
f36e2981ca Display custom admin ranks in messages. 2019-07-24 08:02:20 +02:00
John Preston
22f210ea8e Support sending albums to slowmode groups. 2019-07-24 08:02:20 +02:00
John Preston
b23bfe8b02 crl: std::terminate instead of exceptions. 2019-07-24 08:02:20 +02:00
John Preston
6aa930d510 Remove exceptions in TL parsing. 2019-07-24 08:02:20 +02:00
John Preston
4a10a88ecf Show error when forwarding to slowmode group. 2019-07-24 08:02:20 +02:00
John Preston
f4754f210c Update full channel on updateChannel. 2019-07-24 08:02:20 +02:00
John Preston
873b77cf40 Use UserData::isBot where applicable. 2019-07-24 08:02:20 +02:00
John Preston
a7d9aa947b Don't allow in-notification reply with slowmode. 2019-07-24 08:02:20 +02:00
John Preston
234b0ffcf0 Disallow accidental failing forwarding. 2019-07-24 08:02:20 +02:00
John Preston
c50ade565a Track sending and failed messages. 2019-07-24 08:02:20 +02:00
John Preston
0005e0a3ce Track local messages, restore on history jump. 2019-07-24 08:02:20 +02:00
John Preston
04bf24288a Show slowmode error messages. 2019-07-24 08:02:20 +02:00
John Preston
01d0479335 Show slowmode button in chat. 2019-07-24 08:02:20 +02:00
John Preston
055c145af5 Fix manage group box after migration. 2019-07-24 08:02:20 +02:00
John Preston
328b090877 Save slowmode settings in groups. 2019-07-24 08:02:20 +02:00
John Preston
1d2c86839b Add slowmode slider to EditPeerPermissionsBox. 2019-07-24 08:02:20 +02:00
John Preston
59574532c6 Add slowmode send message button state. 2019-07-24 08:02:20 +02:00
John Preston
4544a2e331 Update API scheme to layer 104. 2019-07-24 08:02:20 +02:00
John Preston
c0f8ab8da0 Fix build for old Qt version. 2019-07-18 21:52:13 +02:00
John Preston
d02617867c Beta version 1.7.15.
- Bug fixes and other minor improvements.
2019-07-18 18:18:05 +02:00
John Preston
78c99a1583 Revert "Change macOS sign certificate name."
This reverts commit 4757ad6c97.
2019-07-18 18:18:05 +02:00
John Preston
9ec797857d rlottie: Return thread support. 2019-07-18 18:18:05 +02:00
John Preston
b310011dee rlottie: Disable image loader code. 2019-07-18 12:12:02 +02:00
23rd
633084ed9c Fixed position of already shown tabbed panel.
- Fixed #6301.
2019-07-18 12:09:53 +02:00
23rd
ab8889b2fa Fixed position of emoji panel in SendFilesBox when new file is added. 2019-07-18 12:09:53 +02:00
23rd
d563e746ab Added ability to go to bot from "via @bot" header with Ctrl.
- Fixed #2074.
2019-07-18 12:09:53 +02:00
John Preston
7c6ede0908 Save domain in different localstorage key. 2019-07-15 16:00:30 +02:00
John Preston
c22aeb8b40 Fix crash in proxy list. 2019-07-15 16:00:30 +02:00
John Preston
cabe06256b Validate dcOption secrets. 2019-07-15 16:00:30 +02:00
John Preston
2fad4e9956 Closed alpha version 1.7.14.2. 2019-07-15 16:00:30 +02:00
John Preston
c5df4db621 Fix possible race conditions in msgid(). 2019-07-15 16:00:30 +02:00
John Preston
68b1024dd4 Sync local time with HTTP 'Date' header value. 2019-07-15 16:00:29 +02:00
John Preston
c894ce30c4 Fix socket packet reading. 2019-07-15 15:59:20 +02:00
John Preston
33fce38f90 Fix build in Xcode and GCC. 2019-07-15 15:59:20 +02:00
John Preston
e123399f7c Closed alpha version 1.7.14.1. 2019-07-15 15:59:20 +02:00
John Preston
0805c09446 Allow one or two '=' at the end of base64. 2019-07-15 15:59:20 +02:00
John Preston
8135f4b427 Support base64 encoding of the secret. 2019-07-15 15:59:20 +02:00
John Preston
2f0331b2e0 Implement send/receive for the new type. 2019-07-15 15:59:20 +02:00
John Preston
69b6b48738 Add new socket type. 2019-07-15 15:59:20 +02:00
John Preston
3cda267787 Abstract out tcp socket from tcp connection. 2019-07-15 15:59:20 +02:00
John Preston
ffba901620 Add a confirmation when blocking a user. 2019-07-15 15:47:40 +02:00
John Preston
2351865961 Update libtgvoip submodule. 2019-07-15 15:00:15 +02:00
John Preston
7a11d1e31f Fix stickers on Linux 32 bit. 2019-07-15 14:17:22 +02:00
John Preston
f2b3d9714f Fix sticker sending from clipboard. 2019-07-15 14:12:28 +02:00
John Preston
8477956117 Fix emoji button.
Fixes #6264.
2019-07-15 14:12:28 +02:00
John Preston
77b8d56c03 Show 'None' if no users are blocked. 2019-07-15 14:12:27 +02:00
John Preston
90fb9eccd4 Optimize InvokeQueued(). 2019-07-10 19:37:00 +02:00
John Preston
c3c6571835 Add checks for incorrect sticker cache bytes. 2019-07-10 19:36:27 +02:00
John Preston
b9d3ba621e Change some private header includes. 2019-07-10 19:36:27 +02:00
John Preston
4757ad6c97 Change macOS sign certificate name. 2019-07-10 19:36:26 +02:00
John Preston
9c909c8992 Lower the animated sticker requirements.
Fixes #6237.
2019-07-09 14:53:23 +02:00
John Preston
0710dde4d5 Use private Qt color API only in official build.
Fixes #6219.
2019-07-09 13:43:57 +02:00
John Preston
8008d8a3d4 Fix build for Xcode. 2019-07-07 17:11:45 +02:00
John Preston
5c5eead0f5 Version 1.7.14.
- Bug fixes and other minor improvements.
2019-07-07 15:34:35 +02:00
John Preston
696c70e34a Update rlottie, remove asserts in debug build. 2019-07-07 13:14:19 +02:00
John Preston
75fd2d0257 Version 1.7.13.
- Send ultra-lightweight high-quality animated stickers
to express emotion with motion.
- Receive animated stickers instantly on any connection
at just 20-30 KB per sticker.
- Enjoy smooth animations at 60 frames per second.
- Create new animated sets and upload them to @stickers
for everybody to use.
- Try out these sample stickers: t.me/addstickers/hotcherry
- Use strikethrough and underline formatting.
2019-07-06 15:27:31 +02:00
John Preston
4e595d5cef Fix GIFs preview. 2019-07-06 15:24:23 +02:00
23rd
8486ad368e Fixed restrictions for channels.
- Regression was introduced in 567bf60644.
2019-07-06 10:58:10 +03:00
John Preston
ae075e9b90 Beta version 1.7.12: Fix build for old OS X. 2019-07-05 23:13:31 +02:00
John Preston
86d7143d94 Beta version 1.7.12.
- Bug fixes and other minor improvements.
2019-07-05 22:55:09 +02:00
John Preston
4e52da91c7 Fix animation stopping in chat. 2019-07-05 19:47:40 +02:00
John Preston
198de85ce5 Limit to 30 FPS in small stickers. 2019-07-05 19:15:25 +02:00
John Preston
72a9d61b97 Fix glitches on macOS stickers. 2019-07-05 18:13:27 +02:00
John Preston
96a26b44a9 Fix build for Xcode. 2019-07-05 17:08:33 +02:00
John Preston
f19ff1f9b2 Correctly start lottie animations. 2019-07-05 16:43:21 +02:00
John Preston
4bd0683e91 Guard UpdateRequest handling. 2019-07-05 16:29:02 +02:00
John Preston
567bf60644 Use getters in MTP classes. 2019-07-05 16:23:07 +02:00
John Preston
3ca28c0cf9 Fix crash in unsupported message with buttons.
Fixes #6212.
2019-07-05 09:42:51 +02:00
John Preston
4a12e9798a Beta version 1.7.11.
- Use strikethrough and underline formatting.
- Bug fixes and other minor improvements.
2019-07-04 17:27:30 +02:00
John Preston
5c6515febb Fix strike-through text font selection. 2019-07-04 17:27:18 +02:00
23rd
ca5fee6db9 Added issue templates for feature requests and questions. 2019-07-04 16:41:46 +02:00
23rd
4ac3aef600 Added ability to cancel reply with Ctrl + Arrow Down.
- Fixed #4636.
2019-07-04 16:41:46 +02:00
23rd
1963fca7d3 Fixed media overlay closing with Back mouse button.
- Fixed #2998.
2019-07-04 16:41:46 +02:00
23rd
5e233dab47 Fixed height of thumb in EditCaptionBox when media changes to photo. 2019-07-04 16:41:46 +02:00
23rd
cf8a06302f Fixed position of unread mentions button when field changes height. 2019-07-04 16:41:46 +02:00
23rd
9c9ea8c2c0 Added ability to change order of pinned dialogs from touchbar. 2019-07-04 16:41:03 +02:00
23rd
bb9e6e7b5f Added ability to display media preview from touchbar. 2019-07-04 16:28:58 +02:00
23rd
7c98f64cdb Slightly refactored display of media preview.
- Removed showMediaPreview from facades.
2019-07-04 16:28:58 +02:00
23rd
da6baeb1a7 Added notifier of archiving pinned dialog to update touchbar. 2019-07-04 16:27:33 +02:00
23rd
26569683ca Refactored pinned buttons in touchbar. 2019-07-04 16:27:33 +02:00
23rd
821bd3c65b Added buttons for Underline and Strike-through text to touchbar. 2019-07-04 16:27:33 +02:00
John Preston
2d62c9b083 Prefer animated stickers in suggestion by emoji. 2019-07-04 16:26:53 +02:00
John Preston
9d09cee1cc Unblock bots without restarting from Settings. 2019-07-04 16:26:53 +02:00
John Preston
0e964b06dc Hook main queue processing to update requests. 2019-07-04 16:26:13 +02:00
John Preston
b1807938ad Remove legacy langpacks. 2019-07-04 14:25:16 +02:00
John Preston
b96b801b22 Disable ownership transfer to myself. 2019-07-04 14:02:25 +02:00
John Preston
58d4b763b6 Allow 6-digit support phone numbers. 2019-07-04 14:00:40 +02:00
John Preston
f1518af8b3 Mark mentions as read on reply-from-notification. 2019-07-04 13:56:28 +02:00
John Preston
d228495550 Allow replacing emoji by Tab in support mode. 2019-07-04 13:26:39 +02:00
John Preston
226ca6d117 Clear 'Cancelled' flag on download start.
Fixes #6123.
2019-07-04 13:21:43 +02:00
John Preston
556f36ba7e Fix transparent animated GIFs. 2019-07-04 13:12:58 +02:00
John Preston
c8b61366d3 Fix blurred document thumbnails. 2019-07-04 12:22:07 +02:00
John Preston
729da4a6b4 Move 'Add to contacts' button up in Info. 2019-07-04 12:21:52 +02:00
John Preston
dd38da7737 Allow markdown to intersect with previewed links. 2019-07-04 11:51:41 +02:00
John Preston
306b87dd39 Disable double click reply in a created group. 2019-07-04 11:37:05 +02:00
John Preston
826d229c1a Clear 'Find in Files' search by lang key results. 2019-07-04 11:36:27 +02:00
John Preston
89fb121caf Show URL tooltip in inline bot results. 2019-07-04 11:23:39 +02:00
John Preston
d479442a63 Fix local thumbnail saving for stickers. 2019-07-04 11:04:12 +02:00
John Preston
10ee81f466 Copy shared contact number from the context menu.
Fixes #6147.
2019-07-04 10:36:48 +02:00
John Preston
0a63eac4f6 Generate good thumbnail for animated stickers. 2019-07-04 10:20:36 +02:00
John Preston
7034df49e9 Fix sending of .tgs stickers. 2019-07-03 13:03:01 +02:00
John Preston
da48a78f7c Revert "Hide new formatting for now."
This reverts commit 99aa1fc556.
2019-07-03 12:08:28 +02:00
John Preston
0109ee2758 Fix build for Linux. 2019-07-03 00:20:59 +02:00
John Preston
ae152d28be Closed alpha version 1.7.10.1. 2019-07-02 22:42:00 +02:00
John Preston
dd1bca1769 Remove profiling logs. 2019-07-02 22:40:10 +02:00
John Preston
a4fbbc06d1 Use Lottie::MultiPlayer in StickerSetBox. 2019-07-02 22:38:23 +02:00
John Preston
0dd1b4eae6 Support animated stickers in suggestions. 2019-07-02 17:21:52 +02:00
John Preston
848ea16eef Support animated stickers in inline results. 2019-07-02 15:46:26 +02:00
John Preston
76630528f7 Show animated thumbnails in sets box. 2019-07-02 15:20:04 +02:00
John Preston
3b645422ff Implement animated stickerset thumbnails. 2019-07-02 14:43:17 +02:00
John Preston
db2d24ff32 Clear lottie on panel hide. 2019-07-01 17:57:40 +02:00
John Preston
a10b91fe1a Don't load bad image infinitely. 2019-07-01 17:57:40 +02:00
John Preston
ead212f31b Fix lottie caching. 2019-07-01 17:57:40 +02:00
John Preston
37689affc5 Clear far enough animated sticker sets. 2019-07-01 17:57:39 +02:00
John Preston
5375e7958c Implement pause/unpause for Lottie::MultiPlayer. 2019-07-01 17:57:39 +02:00
John Preston
1da5d1c64f Fix multi player with same frame rates. 2019-07-01 17:57:39 +02:00
John Preston
f6bfbbb805 Add some profiling logs to lottie player. 2019-07-01 17:57:39 +02:00
John Preston
2c461b9df3 Remove profiling logs. 2019-07-01 17:57:39 +02:00
John Preston
53a3d0038c Fix build for Xcode. 2019-07-01 17:57:38 +02:00
John Preston
ad1816cb7c Use Lottie::MultiPlayer in StickersListWidget. 2019-07-01 17:57:38 +02:00
John Preston
09c9f4ef9a Implement Lottie::MultiPlayer. 2019-07-01 17:57:38 +02:00
John Preston
cbffeca8d5 Extract some Lottie::Animation code to Lottie::Player. 2019-07-01 17:57:37 +02:00
John Preston
4a7b5a8e01 Fix caching for large sticker area. 2019-07-01 17:57:37 +02:00
John Preston
808583c5ae Store cached frames in media local cache. 2019-07-01 17:57:37 +02:00
John Preston
5628c1eee6 Encode cached frames to YUV420P. 2019-07-01 17:57:36 +02:00
John Preston
0b8aa880e5 Decide if we XOR frames for each frame. 2019-07-01 17:57:36 +02:00
John Preston
059a24bcdf Use lz4 compression for cached frames. 2019-07-01 17:57:36 +02:00
John Preston
df8625345b Add lz4 as a submodule. 2019-07-01 17:57:35 +02:00
John Preston
a026aec786 Trivial in-memory frame caching. 2019-07-01 17:57:35 +02:00
John Preston
56e137b20f Move some common code to lib_ffmpeg. 2019-07-01 17:57:35 +02:00
John Preston
10772f4ac5 Started Lottie::CacheState class. 2019-07-01 17:57:34 +02:00
John Preston
35bc2cc2a5 Prepare lottie animations caching. 2019-07-01 17:57:34 +02:00
John Preston
f20d9395d1 Unpack lottie gzip to std::string for rlottie. 2019-07-01 17:57:34 +02:00
John Preston
aa3a079853 Remove QtLottie and rapidjson. 2019-07-01 17:57:34 +02:00
John Preston
e43fcc0e5f rlottie: Fix build for macOS with static Qt. 2019-07-01 17:57:33 +02:00
John Preston
b10e6b3508 Render animated stickers using rlottie. 2019-07-01 17:57:33 +02:00
John Preston
b36f7dfdb1 Build rlottie as a dependency. 2019-07-01 17:57:33 +02:00
John Preston
f08d913175 Add rlottie submodule. 2019-07-01 17:57:33 +02:00
John Preston
21dfb310f3 Optimize animated sticker preview. 2019-07-01 17:57:32 +02:00
John Preston
0d6ee3929d Show animated stickers in the panel. 2019-07-01 17:57:32 +02:00
John Preston
040cae6a9a Show animated sticker preview. 2019-07-01 17:57:32 +02:00
John Preston
8f3f898c47 Show animated stickers in StickerSetBox. 2019-07-01 17:57:32 +02:00
John Preston
10910588a0 Update API scheme to layer 103. 2019-07-01 17:57:31 +02:00
John Preston
adf5c8ec71 Version 1.7.10: Fix group location display. 2019-06-24 15:31:23 +02:00
John Preston
f77b11975b Version 1.7.10: Ownership transfer flood errors. 2019-06-24 15:14:32 +02:00
John Preston
84aaec30a1 Version 1.7.10: Ownership transfer in admin log. 2019-06-24 15:08:19 +02:00
John Preston
764490b4a9 Version 1.7.10: Add share phone confirmation. 2019-06-24 14:49:53 +02:00
John Preston
022fb0c81b Version 1.7.10: Fix sticker set title.
Fixes #6169.
2019-06-24 14:32:43 +02:00
John Preston
d5497c3105 Version 1.7.10: Don't load OpenSSL config on Win. 2019-06-24 14:23:08 +02:00
John Preston
09162e6f19 Version 1.7.10.
- Bug fixes and other minor improvements.
2019-06-24 14:16:19 +02:00
John Preston
f46189041c Use non-installed OpenSSL in Windows. 2019-06-24 13:43:42 +02:00
John Preston
7c2f114330 Force OpenSSL not loading local config. 2019-06-24 12:49:37 +02:00
John Preston
a04247a893 Show archive2mainmenu tooltip for 5 seconds. 2019-06-24 11:14:19 +02:00
John Preston
3a8a74f063 QtLottie: Fix easing curve segment selection. 2019-06-24 11:09:00 +02:00
John Preston
9c85d58235 Fix crash in closing export panel. 2019-06-24 10:59:21 +02:00
John Preston
e5cfa3fdc9 Fix adding to contacts + closing box crash.
Regression was introduced in b9d1d8519c.
2019-06-24 10:07:32 +02:00
John Preston
5c49701603 Fix 2SV setup.
Regression was introduced in 0dddb7694f.
2019-06-24 09:55:12 +02:00
John Preston
978a4ac0ad Version 1.7.9.
- You can now add any users to your contacts,
even if their phone numbers are not visible.
- Transfer ownership of group chats and channels
by granting full rights to another admin.
Useful when switching jobs or if you just want to retire as creator.
- Hide archived chats to the main menu.
- See who is online straight from the chat list.
- Use the MacBook Pro TouchBar to apply formatting to selected text,
insert emoji, and send stickers.
2019-06-23 16:49:31 +02:00
John Preston
8a7980ca7b Fix build for old OS X versions. 2019-06-23 16:49:21 +02:00
John Preston
29532f8232 Remove GPL and GitHub from translations. 2019-06-23 16:43:43 +02:00
23rd
ee4501810c Added restriction info of posting stickers to touchbar. 2019-06-23 16:36:22 +02:00
John Preston
99aa1fc556 Hide new formatting for now. 2019-06-23 16:10:53 +02:00
John Preston
8741266819 Add support for Underline and Strike-through text. 2019-06-23 15:40:59 +02:00
John Preston
d864ebd695 Fix private channel phrase in Discuss. 2019-06-23 14:34:48 +02:00
John Preston
352839337d Add SCAM badge for users and channels. 2019-06-23 14:18:33 +02:00
John Preston
88b7387a40 Closed alpha version 1.7.8.1: Fix build for Xcode. 2019-06-22 22:42:30 +02:00
John Preston
d0cf39f8ed Closed alpha version 1.7.8.1. 2019-06-22 22:13:06 +02:00
23rd
d57b8d2ec7 Added preload of stickers in touchbar. 2019-06-22 22:13:06 +02:00
23rd
8de3826c9e Disabled posting stickers with touchbar in groups with restrictions. 2019-06-22 22:13:06 +02:00
23rd
3ea0247a3e Slightly refactored touchbar. 2019-06-22 22:13:06 +02:00
23rd
bebf58ea8d Fixed display of online badge in pinned Saved Messages in touchbar.
- Fixed #6162.
2019-06-22 22:13:06 +02:00
23rd
7489f2297f Fixed title of favorite stickers in touchbar. 2019-06-22 22:13:06 +02:00
23rd
c7526ae1cd Fixed title of recently used emoji in touchbar.
- Added "No found" title if sticker list is empty.
2019-06-22 22:13:06 +02:00
23rd
07a063e19e Refactored formatter buttons in touchbar. 2019-06-22 22:13:06 +02:00
23rd
3727c8c865 Grouped sticker and emoji buttons in touchbar. 2019-06-22 22:13:06 +02:00
23rd
662d0d0764 Added emoji picker to touchbar.
- Added independent size of emoji for touchbar.
 - Added rpl::event_stream for recent emoji updates.
2019-06-22 22:13:06 +02:00
23rd
dcba07b9b7 Added sticker picker to touchbar. 2019-06-22 22:13:06 +02:00
John Preston
a4d83b679a Allow searching USA by 'United States'. 2019-06-22 22:12:47 +02:00
John Preston
dc102bd9e8 Finish working with localstorage before ~AuthSession. 2019-06-22 12:36:35 +02:00
23rd
f877bf7a46 Fixed display of views count. 2019-06-22 11:53:23 +02:00
John Preston
a0171cb144 Fix crash in MainWindow destruction. 2019-06-22 11:52:41 +02:00
John Preston
7d585ab72f Handle located groups as public. 2019-06-21 14:27:46 +02:00
John Preston
6537e524b8 Fix build for GCC. 2019-06-21 11:06:52 +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
d3ca6b96a1 Use tr:: instead of __generic. 2019-06-21 11:06:50 +02:00
John Preston
52e40cbc6e Improve non-authed language switch. 2019-06-21 11:06:50 +02:00
John Preston
a7c8feaecb Use tr:: instead of langFactory and __rich. 2019-06-21 11:06:50 +02:00
John Preston
d1d98c3bb1 Use tr:: instead of langFactory in box titles. 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
7af0dd105e Use tr:: instead of Lang::Viewer. 2019-06-21 11:06:49 +02:00
John Preston
f35085800a Fix build in GCC. 2019-06-21 11:06:49 +02:00
John Preston
366413a0a6 Fix build in Xcode. 2019-06-21 11:06:48 +02:00
John Preston
faa42110ac Remove Info::Profile::ToUpperValue. 2019-06-21 11:06:48 +02:00
John Preston
87cb0ada98 Allow skipping archive results in messages search. 2019-06-21 11:06:48 +02:00
John Preston
6a1abe8767 Add transfer ownership description box. 2019-06-21 11:06:48 +02:00
John Preston
7f96a185cf Add rpl interface for Lang in tr:: namespace. 2019-06-21 11:06:48 +02:00
John Preston
91c57f2035 Support intersecting links with entities. 2019-06-21 11:06:48 +02:00
John Preston
522e66b2db Make Ui::Text::Parser methods non-inclass. 2019-06-21 11:06:48 +02:00
John Preston
2d10e3e432 Show toast notification on ownership transfer. 2019-06-21 11:06:47 +02:00
John Preston
d23fd3559a Refresh participants after transfer. 2019-06-21 11:06:47 +02:00
John Preston
3c11eda611 Allow transfer of legacy groups. 2019-06-21 11:06:47 +02:00
John Preston
b9d1d8519c Use need_contacts_exception flag in add contact. 2019-06-21 11:06:47 +02:00
John Preston
8f3f072b50 Implement channel ownership transfer. 2019-06-21 11:06:47 +02:00
John Preston
a68a53d768 Prepare PasscodeBox for generic 2sv checking. 2019-06-21 11:06:47 +02:00
John Preston
0dddb7694f Show transfer community button, set 2sv password. 2019-06-21 11:06:47 +02:00
John Preston
ca7c50fbcd Remove pseudo-HTML from langpacks and Ui::Text::String. 2019-06-21 11:06:46 +02:00
John Preston
9066acd2dd Use new box for editing contact name. 2019-06-21 11:06:46 +02:00
John Preston
2162aa8df0 Rename Text to Ui::Text::String. 2019-06-21 11:06:46 +02:00
John Preston
e9677779b8 Show phone number only in the chat top bar. 2019-06-21 11:06:46 +02:00
John Preston
aca3ec0ab8 Implement block + clear from ContactStatus bar. 2019-06-21 11:06:46 +02:00
John Preston
3a34b15841 Add 'Share my phone number' click handler. 2019-06-21 11:06:45 +02:00
John Preston
08d4715ad6 Implement a new AddToContactBox. 2019-06-21 11:06:45 +02:00
John Preston
213a8d888a Implement report spam from ContactStatus bar. 2019-06-21 11:06:45 +02:00
John Preston
f49c7ba7ee Allow hiding contact status bar. 2019-06-21 11:06:45 +02:00
John Preston
984f19b1e9 Implement adaptive ContactStatus buttons. 2019-06-21 11:06:45 +02:00
John Preston
5e3734d7bf ReportSpamPanel -> HistoryView::ContactStatus. 2019-06-21 11:06:45 +02:00
John Preston
30dea3a2e7 Use isConstant bool instead of ContactStatus enum. 2019-06-21 11:06:45 +02:00
John Preston
14b82698f8 Update API scheme to layer 102. 2019-06-21 11:06:44 +02:00
John Preston
37df26fc34 QtLottie: Fix easing curve segment selection. 2019-06-19 15:16:59 +02:00
John Preston
42798d466f Fix crash in theme changing. 2019-06-19 15:16:59 +02:00
John Preston
9ca4f0975a Use 'ms' restriction tag for Windows Store build. 2019-06-18 15:45:09 +02:00
John Preston
26da5c5339 Beta version 1.7.8.
- Hide archived chats in the main menu.
- See who is online straight from the chat list.
- Apply formatting to selected text parts
from the MacBook Pro TouchBar.
2019-06-17 18:35:03 +02:00
John Preston
d0b86e1229 Optimize online dots + add animations. 2019-06-17 18:13:05 +02:00
John Preston
61c66994a2 Optimize online dot painting. 2019-06-17 16:33:28 +02:00
John Preston
034bee8fc3 Optimize Folder::paintUserpic. 2019-06-17 15:30:46 +02:00
23rd
734ecc070b Refactored skipping of rows in Dialogs::InnerWidget. 2019-06-17 15:30:46 +02:00
23rd
ece315f3c5 Added ability to move archive in main menu.
- Added Folder::paintUserpic overload for custom color.
 - Reduced size of _cloudButton.
2019-06-17 15:30:46 +02:00
23rd
484ecffb66 Slightly refactored touchbar. 2019-06-17 14:36:25 +02:00
23rd
77a216cbca Added online badges to touchbar. 2019-06-17 14:36:19 +02:00
23rd
d9426413dd Added online badges to chats list. 2019-06-17 14:36:14 +02:00
23rd
859cfe4cbb Added formatting buttons to touchbar. 2019-06-17 14:35:51 +02:00
23rd
d4976dda6c Migrated Appveyor CI build to VS2019. 2019-06-17 14:32:12 +02:00
John Preston
e7c40ff2a8 Return 'View info' to right-click menu. 2019-06-17 14:28:16 +02:00
John Preston
90ecec1d2e Add more assertions in online update. 2019-06-17 14:23:50 +02:00
John Preston
d9e93fb5cc Fix possible crash in auth session destruction. 2019-06-17 14:23:50 +02:00
John Preston
e7bdcc4155 Add more assertions to animations engine. 2019-06-17 14:23:50 +02:00
John Preston
fa3bf11a7f Fix possible crash in corrupt media files. 2019-06-17 14:23:50 +02:00
John Preston
3013301a91 Version 1.7.7.
- Download video files while watching them using streaming.
- Set EOL for Windows XP / Vista and OS X 10.6 to 10.9 at September 1.
2019-06-10 10:21:15 +02:00
John Preston
96acecc35b Remove newline in support mode message edit. 2019-06-08 18:19:20 +03:00
John Preston
f8d900d7fb Fix freezes in support mode message edit. 2019-06-08 18:19:20 +03:00
John Preston
ce760f0534 Comment out App type in SpecialConfigRequest. 2019-06-07 18:43:06 +03:00
John Preston
1225c9194a Fix window title on Windows 7.
Regression was introduced in dd68c7e90.

Fixes #6106.
2019-06-07 14:46:07 +03:00
John Preston
abfe685697 Beta version 1.7.6.
- Bug fixes and other minor improvements.
2019-06-06 16:08:46 +03:00
John Preston
37ff1bde31 QtLottie: Fix spatial property interpolation. 2019-06-06 16:04:10 +03:00
John Preston
b674003868 Fix build for Xcode. 2019-06-06 15:07:34 +03:00
John Preston
0868a9f7b9 Use Controller::account in MainWindow. 2019-06-06 14:59:00 +03:00
John Preston
1e861f79f0 Use range-v3 0.5.0 in instructions.
Fixes #6097.
2019-06-06 14:48:20 +03:00
23rd
ae3fae44b2 Fix build on macOS. 2019-06-06 14:21:31 +03:00
John Preston
dd68c7e90d Use Window::Controller to manage MainWindow. 2019-06-06 14:20:21 +03:00
John Preston
a547f80ae9 Rename Window::Controller to Window::SessionController. 2019-06-06 13:21:40 +03:00
John Preston
263bbf1788 Move _authSession to Main::Account. 2019-06-06 12:37:12 +03:00
John Preston
94c4ea6174 Access _authSession through activeAccount(). 2019-06-05 23:41:51 +03:00
John Preston
bd2e1ceb02 Wrap AuthSession in a new Main::Account object. 2019-06-05 22:47:54 +03:00
John Preston
8c67a4b991 Strip auto-hashtag in support mode message editing. 2019-06-05 21:40:21 +03:00
John Preston
126ffc8769 Show user profile from Removed Users. 2019-06-05 21:30:34 +03:00
John Preston
4379fa2297 Handle PHONE_NUMBER_BANNED in ChangePhoneBox. 2019-06-05 20:43:33 +03:00
John Preston
b9bd937aaa Treat url auth button as an url button. 2019-06-05 20:42:10 +03:00
John Preston
351ba3a912 Allow adding bots as admins when creating a channel. 2019-06-05 20:15:17 +03:00
John Preston
c2b2236e64 Show error-by-privacy in adding user as admin. 2019-06-05 19:47:08 +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
1290cda830 Fix theme preview layout. 2019-06-05 18:42:46 +03:00
John Preston
a27a80351a Fix clearing history with local messages. 2019-06-05 18:15:49 +03:00
John Preston
e53f4a5450 Close streamed video on Escape. 2019-06-05 17:54:12 +03:00
John Preston
65b949d36b Fix crash in lottie animations. 2019-06-05 17:49:12 +03:00
1172 changed files with 47335 additions and 113477 deletions

View File

@@ -25,10 +25,10 @@ GOTO:EOF
:getDependencies
call:logInfo "Clone dependencies repository"
git clone -q --depth 1 --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
git clone -q --depth 1 --branch master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
cd %LIB_DIR%
git clone --depth 1 --branch 0.5.0 https://github.com/ericniebler/range-v3
git clone --depth 1 --branch 0.9.1 https://github.com/ericniebler/range-v3
if exist prepare.bat (
call prepare.bat
@@ -42,9 +42,9 @@ GOTO:EOF
:setupGYP
call:logInfo "Setup GYP/Ninja and generate VS solution"
cd %LIB_DIR%
git clone https://chromium.googlesource.com/external/gyp
git clone https://github.com/telegramdesktop/gyp.git
cd gyp
git checkout a478c1ab51
git checkout tdesktop
SET PATH=%PATH%;%BUILD_DIR%\Libraries\gyp;%BUILD_DIR%\Libraries\ninja;
cd %SRC_DIR%
git submodule init

View File

@@ -1,3 +1,9 @@
---
name: Bug report
about: Report errors or unexpected behavior.
---
<!--
Thanks for reporting issues of Telegram Desktop!

View File

@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea.
title: "[Feature Request] "
---
### Is your feature request related to a problem?
A clear and concise description of what the problem is.
### Describe the solution you'd like
A clear and concise description of what you want to happen.
### Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
### Additional context
Add any other context or screenshots about the feature request here.

8
.github/ISSUE_TEMPLATE/QUESTION.md vendored Normal file
View File

@@ -0,0 +1,8 @@
---
name: Question
about: Ask a question.
title: "[Question] "
labels: 'question'
assignees: ''
---

21
.gitignore vendored
View File

@@ -1,24 +1,8 @@
/out/
/Debug/
/Release/
/Deploy/
Debug/
Release/
/ThirdParty/
/Telegram/build/target
/Telegram/GeneratedFiles/
/Telegram/SourceFiles/art/grid.png
/Telegram/SourceFiles/art/grid_125x.png
/Telegram/SourceFiles/art/grid_150x.png
/Telegram/SourceFiles/art/grid_200x.png
/Telegram/SourceFiles/art/sprite_125x.png
/Telegram/SourceFiles/art/sprite_150x.png
/Telegram/Resources/art/grid.png
/Telegram/Resources/art/grid_125x.png
/Telegram/Resources/art/grid_150x.png
/Telegram/Resources/art/grid_200x.png
/Telegram/Resources/art/sprite_125x.png
/Telegram/Resources/art/sprite_150x.png
/Telegram/Debug/
/Telegram/Release/
/Telegram/tests/
/Telegram/gyp/tests/*.test
/Telegram/out/
@@ -32,7 +16,6 @@
*.VC.db
*.aps
*.xcodeproj
/Win32/
ipch/
.vs/

45
.gitmodules vendored
View File

@@ -10,15 +10,42 @@
[submodule "Telegram/ThirdParty/Catch"]
path = Telegram/ThirdParty/Catch
url = https://github.com/philsquared/Catch
[submodule "Telegram/ThirdParty/crl"]
path = Telegram/ThirdParty/crl
url = https://github.com/telegramdesktop/crl.git
[submodule "Telegram/ThirdParty/xxHash"]
path = Telegram/ThirdParty/xxHash
url = https://github.com/Cyan4973/xxHash.git
[submodule "Telegram/ThirdParty/qtlottie"]
path = Telegram/ThirdParty/qtlottie
url = https://github.com/telegramdesktop/qtlottie.git
[submodule "Telegram/ThirdParty/rapidjson"]
path = Telegram/ThirdParty/rapidjson
url = https://github.com/Tencent/rapidjson.git
[submodule "Telegram/ThirdParty/rlottie"]
path = Telegram/ThirdParty/rlottie
url = https://github.com/desktop-app/rlottie.git
[submodule "Telegram/ThirdParty/lz4"]
path = Telegram/ThirdParty/lz4
url = https://github.com/lz4/lz4.git
[submodule "Telegram/lib_crl"]
path = Telegram/lib_crl
url = https://github.com/desktop-app/lib_crl.git
[submodule "Telegram/lib_rpl"]
path = Telegram/lib_rpl
url = https://github.com/desktop-app/lib_rpl.git
[submodule "Telegram/lib_base"]
path = Telegram/lib_base
url = https://github.com/desktop-app/lib_base.git
[submodule "Telegram/gyp/helpers"]
path = Telegram/gyp/helpers
url = https://github.com/desktop-app/gyp_helpers.git
[submodule "Telegram/codegen"]
path = Telegram/codegen
url = https://github.com/desktop-app/codegen.git
[submodule "Telegram/lib_ui"]
path = Telegram/lib_ui
url = https://github.com/desktop-app/lib_ui.git
[submodule "Telegram/lib_rlottie"]
path = Telegram/lib_rlottie
url = https://github.com/desktop-app/lib_rlottie.git
[submodule "Telegram/lib_lottie"]
path = Telegram/lib_lottie
url = https://github.com/desktop-app/lib_lottie.git
[submodule "Telegram/lib_tl"]
path = Telegram/lib_tl
url = https://github.com/desktop-app/lib_tl.git
[submodule "Telegram/lib_spellcheck"]
path = Telegram/lib_spellcheck
url = https://github.com/desktop-app/lib_spellcheck

View File

@@ -28,7 +28,7 @@ GYP_CACHE_VERSION="3"
GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff"
RANGE_PATH="$BUILD/range-v3"
RANGE_CACHE_VERSION="4"
RANGE_CACHE_VERSION="3"
VA_PATH="$BUILD/libva"
VA_CACHE_VERSION="3"
@@ -170,6 +170,7 @@ buildXkbCommon() {
git clone https://github.com/xkbcommon/libxkbcommon.git
cd "$EXTERNAL/libxkbcommon"
git checkout xkbcommon-0.8.4
./autogen.sh --prefix=$XKB_PATH
make $MAKE_ARGS
sudo make install
@@ -216,7 +217,7 @@ buildRange() {
rm -rf *
cd "$EXTERNAL"
git clone --depth 1 --branch 0.5.0 https://github.com/ericniebler/range-v3
git clone --depth 1 --branch 0.9.1 https://github.com/ericniebler/range-v3
cd "$EXTERNAL/range-v3"
cp -r * "$RANGE_PATH/"

View File

@@ -13,7 +13,7 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
## Supported systems
* Windows XP - Windows 10 (**not** RT)
* Mac OS X 10.8 - Mac OS X 10.11
* Mac OS X 10.8 - Mac OS X 10.15
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
* Ubuntu 12.04 - Ubuntu 19.04
* Fedora 22 - Fedora 30

View File

@@ -92,6 +92,67 @@ index bcd29b6fe1..bcb0672f69 100644
if (QPlatformCursor *platformCursor = q->screen()->handle()->cursor()) {
QCursor *c = QGuiApplication::overrideCursor();
if (!c && hasCursor)
diff --git a/src/gui/painting/qbezier.cpp b/src/gui/painting/qbezier.cpp
index 8e0e76f787..a61bd62834 100644
--- a/src/gui/painting/qbezier.cpp
+++ b/src/gui/painting/qbezier.cpp
@@ -45,6 +45,34 @@ QT_BEGIN_NAMESPACE
//#define QDEBUG_BEZIER
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#ifdef Q_OS_WIN
+Q_NEVER_INLINE void QBezier::split(QBezier *firstHalf, QBezier *secondHalf) const
+{
+ Q_ASSERT(firstHalf);
+ Q_ASSERT(secondHalf);
+
+ qreal c = (x2 + x3)*.5;
+ firstHalf->x2 = (x1 + x2)*.5;
+ secondHalf->x3 = (x3 + x4)*.5;
+ firstHalf->x1 = x1;
+ secondHalf->x4 = x4;
+ firstHalf->x3 = (firstHalf->x2 + c)*.5;
+ secondHalf->x2 = (secondHalf->x3 + c)*.5;
+ firstHalf->x4 = secondHalf->x1 = (firstHalf->x3 + secondHalf->x2)*.5;
+
+ c = (y2 + y3)/2;
+ firstHalf->y2 = (y1 + y2)*.5;
+ secondHalf->y3 = (y3 + y4)*.5;
+ firstHalf->y1 = y1;
+ secondHalf->y4 = y4;
+ firstHalf->y3 = (firstHalf->y2 + c)*.5;
+ secondHalf->y2 = (secondHalf->y3 + c)*.5;
+ firstHalf->y4 = secondHalf->y1 = (firstHalf->y3 + secondHalf->y2)*.5;
+}
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#endif // Q_OS_WIN
+
/*!
\internal
*/
diff --git a/src/gui/painting/qbezier_p.h b/src/gui/painting/qbezier_p.h
index dd1cd94acf..aedc8b6a4b 100644
--- a/src/gui/painting/qbezier_p.h
+++ b/src/gui/painting/qbezier_p.h
@@ -215,6 +215,8 @@ inline QPointF QBezier::secondDerivedAt(qreal t) const
a * y1 + b * y2 + c * y3 + d * y4);
}
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#ifndef Q_OS_WIN
inline void QBezier::split(QBezier *firstHalf, QBezier *secondHalf) const
{
Q_ASSERT(firstHalf);
@@ -238,6 +240,8 @@ inline void QBezier::split(QBezier *firstHalf, QBezier *secondHalf) const
secondHalf->y2 = (secondHalf->y3 + c)*.5;
firstHalf->y4 = secondHalf->y1 = (firstHalf->y3 + secondHalf->y2)*.5;
}
+// Patch: Workaround VS2019 compiler bug, see QTBUG-75280.
+#endif // Q_OS_WIN
inline void QBezier::parameterSplitLeft(qreal t, QBezier *left)
{
diff --git a/src/gui/painting/qpaintengine_p.h b/src/gui/painting/qpaintengine_p.h
index 918c98997b..4158259743 100644
--- a/src/gui/painting/qpaintengine_p.h
@@ -234,6 +295,40 @@ index c4cb8e65c0..45793e364f 100644
channels[i].socket->close();
delete channels[i].socket;
}
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index 94235a48dd..9abd2cc0a1 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -2045,6 +2045,9 @@ void QNetworkReplyHttpImplPrivate::finished()
{
Q_Q(QNetworkReplyHttpImpl);
+ // Patch: Fix crash in Linux (by crashreports).
+ QPointer<QNetworkReplyHttpImpl> guard = q;
+
if (state == Finished || state == Aborted || state == WaitingForSession)
return;
@@ -2075,6 +2078,9 @@ void QNetworkReplyHttpImplPrivate::finished()
#endif
}
+ // Patch: Fix crash in Linux (by crashreports).
+ if (!guard) return;
+
// if we don't know the total size of or we received everything save the cache
if (totalSize.isNull() || totalSize == -1 || bytesDownloaded == totalSize)
completeCacheSave();
@@ -2084,6 +2090,9 @@ void QNetworkReplyHttpImplPrivate::finished()
if (isHttpRedirectResponse() && errorCode == QNetworkReply::NoError)
return;
+ // Patch: Fix crash in Linux (by crashreports).
+ if (!guard) return;
+
state = Finished;
q->setFinished(true);
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index 41834b21ae..8cdf4ab145 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
@@ -253,7 +348,7 @@ index 41834b21ae..8cdf4ab145 100644
setError(QAbstractSocket::NetworkError, AddressNotAvailableErrorString);
socketState = QAbstractSocket::UnconnectedState;
diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm
index fb609ae485..7cca45ded4 100644
index fb609ae485..ef1c638d91 100644
--- a/src/platformsupport/cglconvenience/cglconvenience.mm
+++ b/src/platformsupport/cglconvenience/cglconvenience.mm
@@ -128,7 +128,12 @@ void *qcgl_createNSOpenGLPixelFormat(const QSurfaceFormat &format)

View File

@@ -1,300 +0,0 @@
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
using "colors.palette";
TextPalette {
linkFg: color;
monoFg: color;
selectBg: color;
selectFg: color;
selectLinkFg: color;
selectMonoFg: color;
selectOverlay: color;
}
TextStyle {
font: font;
linkFont: font;
linkFontOver: font;
lineHeight: pixels;
}
semibold: "Open Sans Semibold";
fsize: 13px;
normalFont: font(fsize);
semiboldFont: font(fsize semibold);
boxFontSize: 14px;
boxTextFont: font(boxFontSize);
emojiImgSize: 18px; // exceptional value for retina
emojiSize: 18px;
emojiPadding: 1px;
lineWidth: 1px;
defaultTextPalette: TextPalette {
linkFg: windowActiveTextFg;
monoFg: msgInMonoFg;
selectBg: msgInBgSelected;
selectFg: transparent; // use painter current pen instead
selectLinkFg: historyLinkInFgSelected;
selectMonoFg: msgInMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
defaultTextStyle: TextStyle {
font: normalFont;
linkFont: normalFont;
linkFontOver: font(fsize underline);
lineHeight: 0px;
}
semiboldTextStyle: TextStyle(defaultTextStyle) {
font: semiboldFont;
linkFont: semiboldFont;
linkFontOver: font(fsize semibold underline);
}
shadowToggleDuration: 200;
slideDuration: 240;
slideShift: 100px;
slideShadow: icon {{ "slide_shadow", slideFadeOutShadowFg }};
slideWrapDuration: 150;
fadeWrapDuration: 200;
linkCropLimit: 360px;
linkFont: normalFont;
linkOverFont: font(fsize underline);
dateRadius: 6px;
buttonRadius: 3px;
setLittleSkip: 9px;
noContactsHeight: 100px;
noContactsFont: font(fsize);
noContactsColor: windowSubTextFg;
activeFadeInDuration: 500;
activeFadeOutDuration: 3000;
msgMaxWidth: 430px;
msgFont: font(fsize);
msgNameFont: semiboldFont;
msgNameStyle: semiboldTextStyle;
msgServiceFont: semiboldFont;
msgServiceNameFont: semiboldFont;
msgServicePhotoWidth: 100px;
msgDateFont: font(13px);
msgMinWidth: 160px;
msgPhotoSize: 33px;
msgPhotoSkip: 40px;
msgPadding: margins(13px, 7px, 13px, 8px);
msgMargin: margins(16px, 6px, 56px, 2px);
msgMarginTopAttached: 1px;
msgLnkPadding: 2px; // for media open / save links
msgShadow: 2px;
msgReplyPadding: margins(6px, 6px, 11px, 6px);
msgReplyBarPos: point(1px, 0px);
msgReplyBarSize: size(2px, 36px);
msgReplyBarSkip: 10px;
msgServicePadding: margins(12px, 3px, 12px, 4px);
msgServiceMargin: margins(10px, 10px, 10px, 2px);
msgDateSpace: 12px;
msgDateDelta: point(2px, 5px);
msgDateImgDelta: 4px;
msgDateImgPadding: point(8px, 2px);
msgDateImgCheckSpace: 4px;
messageTextStyle: defaultTextStyle;
msgDateTextStyle: defaultTextStyle;
serviceTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgServiceFg;
monoFg: msgServiceFg;
selectBg: msgServiceBgSelected;
selectFg: msgServiceFg;
selectLinkFg: msgServiceFg;
selectMonoFg: msgServiceFg;
selectOverlay: msgServiceBgSelected;
}
serviceTextStyle: TextStyle(defaultTextStyle) {
font: msgServiceFont;
linkFont: msgServiceFont;
linkFontOver: font(fsize semibold underline);
}
inTextPalette: TextPalette(defaultTextPalette) {
linkFg: historyLinkInFg;
monoFg: msgInMonoFg;
selectBg: msgInBgSelected;
selectFg: historyTextInFgSelected;
selectLinkFg: historyLinkInFgSelected;
selectMonoFg: msgInMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
inTextPaletteSelected: TextPalette(inTextPalette) {
linkFg: historyLinkInFgSelected;
monoFg: msgInMonoFgSelected;
}
outTextPalette: TextPalette(defaultTextPalette) {
linkFg: historyLinkOutFg;
monoFg: msgOutMonoFg;
selectBg: msgOutBgSelected;
selectFg: historyTextOutFgSelected;
selectLinkFg: historyLinkOutFgSelected;
selectMonoFg: msgOutMonoFgSelected;
selectOverlay: msgSelectOverlay;
}
outTextPaletteSelected: TextPalette(outTextPalette) {
linkFg: historyLinkOutFgSelected;
monoFg: msgOutMonoFgSelected;
}
fwdTextStyle: TextStyle(semiboldTextStyle) {
linkFontOver: semiboldFont;
}
inFwdTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgInServiceFg;
}
outFwdTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgOutServiceFg;
}
inFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
linkFg: msgInServiceFgSelected;
}
outFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
linkFg: msgOutServiceFgSelected;
}
inReplyTextPalette: TextPalette(inTextPalette) {
linkFg: msgInDateFg;
}
inReplyTextPaletteSelected: TextPalette(inTextPaletteSelected) {
linkFg: msgInDateFgSelected;
}
outReplyTextPalette: TextPalette(outTextPalette) {
linkFg: msgOutDateFg;
}
outReplyTextPaletteSelected: TextPalette(outTextPaletteSelected) {
linkFg: msgOutDateFgSelected;
}
imgReplyTextPalette: TextPalette(defaultTextPalette) {
linkFg: msgImgReplyBarColor;
}
inSemiboldPalette: TextPalette(inTextPalette) {
linkFg: msgInServiceFg;
selectFg: msgInServiceFgSelected;
selectLinkFg: msgInServiceFgSelected;
}
outSemiboldPalette: TextPalette(outTextPalette) {
linkFg: msgOutServiceFg;
selectFg: msgOutServiceFgSelected;
selectLinkFg: msgOutServiceFgSelected;
}
historyComposeAreaPalette: TextPalette(defaultTextPalette) {
linkFg: historyComposeAreaFgService;
}
mediaCaptionSkip: 5px;
mediaInBubbleSkip: 5px;
mediaThumbSize: 48px;
mediaNameTop: 3px;
mediaDetailsShift: 3px;
mediaUnreadSize: 7px;
mediaUnreadSkip: 5px;
mediaUnreadTop: 6px;
mediaInPalette: TextPalette(defaultTextPalette) {
linkFg: mediaInFg;
}
mediaInPaletteSelected: TextPalette(defaultTextPalette) {
linkFg: mediaInFgSelected;
}
textRectMargins: margins(-2px, -1px, -2px, -1px);
searchedBarHeight: 32px;
searchedBarFont: normalFont;
searchedBarPosition: point(17px, 7px);
smallCloseIcon: icon {{ "simple_close", smallCloseIconFg }};
smallCloseIconOver: icon {{ "simple_close", smallCloseIconFgOver }};
dialogsForwardCancelIcon: icon {{ "simple_close", dialogsForwardFg }};
emojiTextFont: font(15px);
emojiReplaceWidth: 52px;
emojiReplaceHeight: 56px;
emojiReplaceInnerHeight: 42px;
emojiReplacePadding: 14px;
dragFont: font(28px semibold);
dragSubfont: font(20px semibold);
dragColor: windowSubTextFg;
dragDropColor: windowActiveTextFg;
dragMargin: margins(0px, 10px, 0px, 10px);
dragPadding: margins(20px, 10px, 20px, 10px);
dragHeight: 72px;
radialSize: size(50px, 50px);
radialLine: 3px;
radialDuration: 350;
radialPeriod: 3000;
youtubeIcon: icon {
{ "media_youtube_play_bg", youtubePlayIconBg },
{ "media_youtube_play", youtubePlayIconFg, point(24px, 12px) },
};
videoIcon: icon {
{ "media_video_play_bg", videoPlayIconBg },
{ "media_video_play", videoPlayIconFg, point(12px, 12px) },
};
locationSize: size(320px, 240px);
mediaPlayerSuppressDuration: 150;
botDescSkip: 8px;
inlineResultsLeft: 11px;
inlineResultsSkip: 3px;
inlineMediaHeight: 96px;
inlineThumbSize: 64px;
inlineThumbSkip: 10px;
inlineTitleFg: windowFg;
inlineDescriptionFg: windowSubTextFg;
inlineRowMargin: 6px;
inlineRowBorder: 1px;
inlineRowBorderFg: shadowFg;
inlineRowFileNameTop: 2px;
inlineRowFileDescriptionTop: 23px;
inlineResultsMinWidth: 48px;
inlineDurationMargin: 3px;
toastTextStyle: defaultTextStyle;
toastMaxWidth: 480px;
toastMinMargin: 13px;
toastPadding: margins(19px, 13px, 19px, 12px);
toastFadeInDuration: 200;
toastFadeOutDuration: 1000;
historyReplyCancelIcon: icon {{ "box_button_close", historyReplyCancelFg }};
historyReplyCancelIconOver: icon {{ "box_button_close", historyReplyCancelFgOver }};
boxTitleCloseIcon: icon {{ "box_button_close", boxTitleCloseFg }};
boxTitleCloseIconOver: icon {{ "box_button_close", boxTitleCloseFgOver }};
notifyFadeRight: icon {{ "fade_horizontal", notificationBg }};
stickerIconLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
stickerIconRight: icon {{ "fade_horizontal", emojiPanCategories }};
emojiSuggestionsFadeLeft: icon {{ "fade_horizontal-flip_horizontal", boxBg }};
emojiSuggestionsFadeRight: icon {{ "fade_horizontal", boxBg }};
transparentPlaceholderSize: 4px;

View File

@@ -1,559 +0,0 @@
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
// basic
windowBg: #ffffff; // white: fallback for background
windowFg: #000000; // black: fallback for text
windowBgOver: #f1f1f1; // light gray: fallback for background with mouse over
windowBgRipple: #e5e5e5; // darker gray: fallback for ripple effect
windowFgOver: windowFg; // black: fallback for text with mouse over
windowSubTextFg: #999999; // gray: fallback for additional text
windowSubTextFgOver: #919191; // darker gray: fallback for additional text with mouse over
windowBoldFg: #222222; // dark gray: fallback for bold text
windowBoldFgOver: #222222; // dark gray: fallback for bold text with mouse over
windowBgActive: #40a7e3; // bright blue: fallback for blue filled active areas
windowFgActive: #ffffff; // white: fallback for text on active areas
windowActiveTextFg: #168acd; // online blue: fallback for active text like online status
windowShadowFg: #000000; // black: fallback for shadow
windowShadowFgFallback: #f1f1f1; // gray: fallback for shadow without opacity
shadowFg: #00000018; // most shadows (including opacity)
slideFadeOutBg: #0000003c; // slide animation (chat to profile) fade out filling
slideFadeOutShadowFg: windowShadowFg; // slide animation (chat to profile) fade out right section shadow
imageBg: #000000; // image background fallback (when photo size is less than minimum allowed)
imageBgTransparent: #ffffff; // image background when displaying an image with opacity where no opacity is needed
// widgets
activeButtonBg: windowBgActive; // default active button background
activeButtonBgOver: #39a5db; // default active button background with mouse over
activeButtonBgRipple: #2095d0; // default active button ripple effect
activeButtonFg: windowFgActive; // default active button text
activeButtonFgOver: activeButtonFg; // default active button text with mouse over
activeButtonSecondaryFg: #cceeff; // default active button additional text (selected messages counter in forward / delete buttons)
activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over
activeLineFg: #37a1de; // default active line (like code input field bottom border when you log in and field is focused)
activeLineFgError: #e48383; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code)
lightButtonBg: windowBg; // default light button background (like buttons in boxes)
lightButtonBgOver: #e3f1fa; // default light button background with mouse over
lightButtonBgRipple: #c9e4f6; // default light button ripple effect
lightButtonFg: windowActiveTextFg; // default light button text
lightButtonFgOver: lightButtonFg; // default light button text with mouse over
attentionButtonFg: #d14e4e; // default attention button text (like confirm button on log out)
attentionButtonFgOver: #d14e4e; // default attention button text with mouse over
attentionButtonBgOver: #fcdfde; // default attention button background with mouse over
attentionButtonBgRipple: #f4c3c2; // default attention button ripple effect
outlineButtonBg: windowBg; // default left outlined button background (like shared media links in profiles)
outlineButtonBgOver: lightButtonBgOver; // default left outlined button background with mouse over
outlineButtonOutlineFg: windowBgActive; // default left outlined button left outline border
outlineButtonBgRipple: lightButtonBgRipple; // default left outlined button ripple effect
menuBg: windowBg; // default popup menu background
menuBgOver: windowBgOver; // default popup menu item background with mouse over
menuBgRipple: windowBgRipple; // default popup menu item ripple effect
menuIconFg: #a8a8a8; // default popup menu item icon (like main menu)
menuIconFgOver: #999999; // default popup menu item icon with mouse over
menuSubmenuArrowFg: #373737; // default popup menu submenu arrow icon (like in message field context menu in case of RTL system language)
menuFgDisabled: #cccccc; // default popup menu item disabled text (like unavailable items in message field context menu)
menuSeparatorFg: #f1f1f1; // default popup menu separator (like in message field context menu)
scrollBarBg: #00000053; // default scroll bar current rectangle, the bar itself (like in chats list)
scrollBarBgOver: #0000007a; // default scroll bar current rectangle with mouse over it
scrollBg: #0000001a; // default scroll bar background
scrollBgOver: #0000002c; // default scroll bar background with mouse over the scroll bar
smallCloseIconFg: #c7c7c7; // small X icon (like in Show all sessions box to the right for sessions termination)
smallCloseIconFgOver: #a3a3a3; // small X icon with mouse over
radialFg: windowFgActive; // default radial loader line (like in Media Viewer when loading a photo)
radialBg: #00000056; // default radial loader background (like in Media Viewer when loading a photo)
placeholderFg: windowSubTextFg; // default input field placeholder when field is not focused (like in phone input field when you log in)
placeholderFgActive: #aaaaaa; // default input field placeholder when field is focused
inputBorderFg: #e0e0e0; // default input field bottom border (like in code input field when you log in and field is not focused)
filterInputBorderFg: #54c3f3; // default rounded input field border (like in chats list search field when field is focused)
filterInputActiveBg: windowBg; // default rounded input field active background (like in chats list search field when field is focused)
filterInputInactiveBg: windowBgOver; // default rounded input field inactive background (like in chats list search field when field is inactive)
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle
botKbBg: menuBgOver; // bot keyboard button background
botKbDownBg: menuBgRipple; // bot keyboard button ripple effect
botKbColor: windowBoldFgOver; // bot keyboard button text
sliderBgInactive: #e1eaef; // default slider not active bar (like in Settings when you choose interface scale or custom notifications count)
sliderBgActive: windowBgActive; // default slider active bar (like in Settings when you choose interface scale or custom notifications count)
tooltipBg: #eef2f5; // tooltip background (like when you put mouse over the message timestamp and wait)
tooltipFg: #5d6c80; // tooltip text
tooltipBorderFg: #c9d1db; // tooltip border
// custom title bar for Windows and macOS
titleShadow: #00000003; // one pixel line shadow at the bottom of custom window title
titleBg: windowBgOver; // custom window title background when window is inactive
titleBgActive: titleBg; // custom window title background when window is active
titleButtonBg: titleBg; // custom window title minimize/maximize/restore button background when window is inactive (Windows only)
titleButtonFg: #ababab; // custom window title minimize/maximize/restore button icon when window is inactive (Windows only)
titleButtonBgOver: #e5e5e5; // custom window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only)
titleButtonFgOver: #9a9a9a; // custom window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only)
titleButtonBgActive: titleButtonBg; // custom window title minimize/maximize/restore button background when window is active (Windows only)
titleButtonFgActive: titleButtonFg; // custom window title minimize/maximize/restore button icon when window is active (Windows only)
titleButtonBgActiveOver: titleButtonBgOver; // custom window title minimize/maximize/restore button background with mouse over when window is active (Windows only)
titleButtonFgActiveOver: titleButtonFgOver; // custom window title minimize/maximize/restore button icon with mouse over when window is active (Windows only)
titleButtonCloseBg: titleButtonBg; // custom window title close button background when window is inactive (Windows only)
titleButtonCloseFg: titleButtonFg; // custom window title close button icon when window is inactive (Windows only)
titleButtonCloseBgOver: #e81123; // custom window title close button background with mouse over when window is inactive (Windows only)
titleButtonCloseFgOver: windowFgActive; // custom window title close button icon with mouse over when window is inactive (Windows only)
titleButtonCloseBgActive: titleButtonCloseBg; // custom window title close button background when window is active (Windows only)
titleButtonCloseFgActive: titleButtonCloseFg; // custom window title close button icon when window is active (Windows only)
titleButtonCloseBgActiveOver: titleButtonCloseBgOver; // custom window title close button background with mouse over when window is active (Windows only)
titleButtonCloseFgActiveOver: titleButtonCloseFgOver; // custom window title close button icon with mouse over when window is active (Windows only)
titleFg: #acacac; // custom window title text when window is inactive (macOS only)
titleFgActive: #3e3c3e; // custom window title text when window is active (macOS only)
// tray icon
trayCounterBg: #f23c34; // tray icon counter background
trayCounterBgMute: #888888; // tray icon counter background if all unread messages are muted
trayCounterFg: #ffffff; // tray icon counter text
trayCounterBgMacInvert: #ffffff; // tray icon counter background when tray icon is pressed or when dark theme of macOS is used (macOS only)
trayCounterFgMacInvert: #ffffff01; // tray icon counter text when tray icon is pressed or when dark theme of macOS is used (macOS only)
// layers
layerBg: #0000007f; // box and main menu background layer fade
cancelIconFg: menuIconFg; // default for settings close icon and box search cancel icon
cancelIconFgOver: menuIconFgOver; // default for settings close icon and box search cancel icon with mouse over
// boxes
boxBg: windowBg; // box background
boxTextFg: windowFg; // box text
boxTextFgGood: #4ab44a; // accepted box text (like when choosing username that is not occupied)
boxTextFgError: #d84d4d; // rejecting box text (like when choosing username that is occupied)
boxTitleFg: #404040; // box title text
boxSearchBg: boxBg; // box search field background (like in contacts box)
boxTitleAdditionalFg: #808080; // box title additional text (like in create group box when you see chosen members count)
boxTitleCloseFg: cancelIconFg; // settings close icon and box search cancel icon (like in contacts box)
boxTitleCloseFgOver: cancelIconFgOver; // settings close icon and box search cancel icon (like in contacts box) with mouse over
//boxSearchCancelIconFg: cancelIconFg; // search cancel X button icon (like in contacts box) (not implemented yet)
//boxSearchCancelIconFgOver: cancelIconFgOver; // search cancel X button icon with mouse over (not implemented yet)
membersAboutLimitFg: windowSubTextFgOver; // text in channel members box about the limit (max 200 last members are shown)
contactsBg: windowBg; // contacts (and some other) box row background
contactsBgOver: windowBgOver; // contacts (and some other) box row background with mouse over
contactsNameFg: boxTextFg; // contacts (and some other) box row name text
contactsStatusFg: windowSubTextFg; // contacts (and some other) box row additional text (like last seen stamp)
contactsStatusFgOver: windowSubTextFgOver; // contacts (and some other) box row additional text (like last seen stamp) with mouse over
contactsStatusFgOnline: windowActiveTextFg; // contacts (and some other) box row active additional text (like online status)
photoCropFadeBg: layerBg; // avatar crop box fade background (when choosing a new photo in Settings or for a group)
photoCropPointFg: #ffffff7f; // avatar crop box corner rectangles (when choosing a new photo in Settings or for a group)
callArrowFg: #2ab32a | boxTextFgGood; // received phone call arrow (in calls list box)
callArrowMissedFg: #dd5b4a | boxTextFgError; // missed phone call arrow (in calls list box)
// intro
introBg: windowBg; // login background
introTitleFg: windowBoldFg; // login title text
introDescriptionFg: windowSubTextFg; // login description text
introErrorFg: windowSubTextFg; // login error text (like when providing a wrong log in code)
introCoverTopBg: #0f89d0; // intro gradient top (from)
introCoverBottomBg: #39b0f0; // intro gradient bottom (to)
introCoverIconsFg: #5ec6ff; // intro cloud graphics
introCoverPlaneTrace: #5ec6ff69; // intro plane traces
introCoverPlaneInner: #c6d8e8; // intro plane part
introCoverPlaneOuter: #a1bed4; // intro plane part
introCoverPlaneTop: #ffffff; // intro plane part
// dialogs
dialogsMenuIconFg: menuIconFg; // main menu and lock telegram icon
dialogsMenuIconFgOver: menuIconFgOver; // main menu and lock telegram icon with mouse over
dialogsBg: windowBg; // chat list background
dialogsNameFg: windowBoldFg; // chat list name text
dialogsChatIconFg: dialogsNameFg; // chat list group or channel icon
dialogsDateFg: windowSubTextFg; // chat list date text
dialogsTextFg: windowSubTextFg; // chat list message text
dialogsTextFgService: windowActiveTextFg; // chat list group sender name text (or media message type text)
dialogsDraftFg: #dd4b39; // chat list draft label
dialogsVerifiedIconBg: windowBgActive; // chat list verified icon background
dialogsVerifiedIconFg: windowFgActive; // chat list verified icon check
dialogsSendingIconFg: #c1c1c1; // chat list sending message icon (clock)
dialogsSentIconFg: #5dc452; // chat list sent message tick / double tick icon
dialogsUnreadBg: windowBgActive; // chat list unread badge background for not muted chat
dialogsUnreadBgMuted: #bbbbbb; // chat list unread badge background for muted chat
dialogsUnreadFg: windowFgActive; // chat list unread badge text
dialogsArchiveFg: #525252 | dialogsNameFg; // chat list archive name text
dialogsBgOver: windowBgOver; // chat list background with mouse over
dialogsNameFgOver: windowBoldFgOver; // chat list name text with mouse over
dialogsChatIconFgOver: dialogsNameFgOver; // chat list group or channel icon with mouse over
dialogsDateFgOver: windowSubTextFgOver; // chat list date text with mouse over
dialogsTextFgOver: windowSubTextFgOver; // chat list message text with mouse over
dialogsTextFgServiceOver: dialogsTextFgService; // chat list group sender name text with mouse over
dialogsDraftFgOver: dialogsDraftFg; // chat list draft label with mouse over
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg; // chat list verified icon background with mouse over
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg; // chat list verified icon check with mouse over
dialogsSendingIconFgOver: dialogsSendingIconFg; // chat list sending message icon (clock) with mouse over
dialogsSentIconFgOver: dialogsSentIconFg; // chat list sent message tick / double tick icon with mouse over
dialogsUnreadBgOver: dialogsUnreadBg; // chat list unread badge background for not muted chat with mouse over
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted; // chat list unread badge background for muted chat with mouse over
dialogsUnreadFgOver: dialogsUnreadFg; // chat list unread badge text with mouse over
dialogsArchiveFgOver: #525252 | dialogsNameFgOver; // chat list archive name text
dialogsBgActive: #419fd9; // chat list background for current (active) chat
dialogsNameFgActive: windowFgActive; // chat list name text for current (active) chat
dialogsChatIconFgActive: dialogsNameFgActive; // chat list group or channel icon for current (active) chat
dialogsDateFgActive: windowFgActive; // chat list date text for current (active) chat
dialogsTextFgActive: windowFgActive; // chat list message text for current (active) chat
dialogsTextFgServiceActive: dialogsTextFgActive; // chat list group sender name text for current (active) chat
dialogsDraftFgActive: #c6e1f7; // chat list draft label for current (active) chat
dialogsVerifiedIconBgActive: dialogsTextFgActive; // chat list verified icon background for current (active) chat
dialogsVerifiedIconFgActive: dialogsBgActive; // chat list verified icon check for current (active) chat
dialogsSendingIconFgActive: #ffffff99; // chat list sending message icon (clock) for current (active) chat
dialogsSentIconFgActive: dialogsTextFgActive; // chat list sent message tick / double tick icon for current (active) chat
dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background for not muted chat for current (active) chat
dialogsUnreadBgMutedActive: dialogsDraftFgActive; // chat list unread badge background for muted chat for current (active) chat
dialogsUnreadFgActive: dialogsBgActive; // chat list unread badge text for current (active) chat
dialogsRippleBg: windowBgRipple; // chat list background ripple effect
dialogsRippleBgActive: activeButtonBgRipple; // chat list background ripple effect for current (active) chat
dialogsForwardBg: dialogsBgActive; // forwarding panel background (when forwarding messages in the smallest window size)
dialogsForwardFg: dialogsNameFgActive; // forwarding panel text (when forwarding messages in the smallest window size)
searchedBarBg: windowBgOver; // search results bar background (in chats list, contacts box..)
searchedBarFg: windowSubTextFgOver; // search results bar text (in chats list, contacts box..)
// history
topBarBg: windowBg; // top bar background (in chat view, media overview..)
emojiPanBg: windowBg; // emoji panel background
emojiPanCategories: #f7f7f7 | windowBg; // emoji panel categories background
emojiPanHeaderFg: windowSubTextFg; // emoji panel section header text
emojiPanHeaderBg: #fffffff2 | emojiPanBg; // emoji panel section header background
emojiIconFg: checkboxFg; // emoji category icon
emojiIconFgActive: windowBgActive; // active emoji category icon
stickerPanDeleteBg: #000000ff; // delete X button background for custom sent stickers in stickers panel (legacy)
stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy)
stickerPreviewBg: #ffffffb0; // sticker and GIF preview background (when you press and hold on a sticker)
historyTextInFg: windowFg; // inbox message text
historyTextInFgSelected: historyTextInFg; // inbox message selected text or text in a selected message
historyTextOutFg: windowFg; // outbox message text
historyTextOutFgSelected: historyTextOutFg; // outbox message selected text or text in a selected message
historyLinkInFg: windowActiveTextFg; // inbox message link
historyLinkInFgSelected: historyLinkInFg; // inbox message link in a selected text or message
historyLinkOutFg: windowActiveTextFg; // outbox message link
historyLinkOutFgSelected: historyLinkOutFg; // outbox message link in a selected text or message
historyFileNameInFg: historyTextInFg; // inbox media filename text
historyFileNameInFgSelected: historyFileNameInFg; // inbox media filename text in a selected message
historyFileNameOutFg: historyTextOutFg; // outbox media filename text
historyFileNameOutFgSelected: historyFileNameOutFg; // outbox media filename text in a selected message
historyOutIconFg: dialogsSentIconFg; // outbox message tick / double tick icon
historyOutIconFgSelected: #4da79f; // outbox message tick / double tick icon in a selected message
historyIconFgInverted: windowFgActive; // media message tick / double tick icon (like in sent photo)
historySendingOutIconFg: #98d292; // outbox sending message icon (clock)
historySendingInIconFg: #a0adb5; // inbox sending message icon (clock) (like in sent messages to yourself or in sent messages to a channel)
historySendingInvertedIconFg: #ffffffc8; // media sending message icon (clock) (like in sent photo)
historyCallArrowInFg: callArrowFg; // received phone call arrow
historyCallArrowInFgSelected: callArrowFg; // received phone call arrow in a selected message
historyCallArrowMissedInFg: callArrowMissedFg; // missed phone call arrow
historyCallArrowMissedInFgSelected: callArrowMissedFg; // missed phone call arrow in a selected message
historyCallArrowOutFg: historyCallArrowInFg; // outgoing phone call arrow
historyCallArrowOutFgSelected: historyCallArrowInFgSelected; // outgoing phone call arrow
historyUnreadBarBg: #fcfbfa; // new unread messages bar background
historyUnreadBarBorder: shadowFg; // new unread messages bar shadow
historyUnreadBarFg: #538bb4; // new unread messages bar text
historyForwardChooseBg: #0000004c; // forwarding messages in a large window size "choose recipient" background
historyForwardChooseFg: windowFgActive; // forwarding messages in a large window size "choose recipient" text
historyPeer1NameFg: #c03d33; // red group member name
historyPeer1NameFgSelected: historyPeer1NameFg; // red group member name in a selected message
historyPeer1UserpicBg: #e17076; // red userpic background
historyPeer2NameFg: #4fad2d; // green group member name
historyPeer2NameFgSelected: historyPeer2NameFg; // green group member name in a selected message
historyPeer2UserpicBg: #7bc862; // green userpic background
historyPeer3NameFg: #d09306; // yellow group member name
historyPeer3NameFgSelected: historyPeer3NameFg; // yellow group member name in a selected message
historyPeer3UserpicBg: #e5ca77; // yellow userpic background
historyPeer4NameFg: windowActiveTextFg; // blue group member name
historyPeer4NameFgSelected: historyPeer4NameFg; // blue group member name in a selected message
historyPeer4UserpicBg: #65aadd; // blue userpic background
historyPeer5NameFg: #8544d6; // purple group member name
historyPeer5NameFgSelected: historyPeer5NameFg; // purple group member name in a selected message
historyPeer5UserpicBg: #a695e7; // purple userpic background
historyPeer6NameFg: #cd4073; // pink group member name
historyPeer6NameFgSelected: historyPeer6NameFg; // pink group member name in a selected message
historyPeer6UserpicBg: #ee7aae; // pink userpic background
historyPeer7NameFg: #2996ad; // sea group member name
historyPeer7NameFgSelected: historyPeer7NameFg; // sea group member name in a selected message
historyPeer7UserpicBg: #6ec9cb; // sea userpic background
historyPeer8NameFg: #ce671b; // orange group member name
historyPeer8NameFgSelected: historyPeer8NameFg; // orange group member name in a selected message
historyPeer8UserpicBg: #faa774; // orange userpic background
historyPeerUserpicFg: windowFgActive; // default userpic initials
historyPeerSavedMessagesBg: historyPeer4UserpicBg; // saved messages userpic background
historyPeerArchiveUserpicBg: dialogsUnreadBgMuted; // archive folder userpic background
// Some values are marked as (adjusted), it means they're adjusted by
// hue and saturation of the average background color if user chooses
// some other (not bundled to this color theme) background. If the
// bundled background is used those colors are not adjusted in any way.
historyScrollBarBg: #517c417a; // scroll bar current rectangle, the bar itself in the chat view (adjusted)
historyScrollBarBgOver: #517c41bc; // scroll bar current rectangle with mouse over it in the chat view (adjusted)
historyScrollBg: #517c414c; // scroll bar background (adjusted)
historyScrollBgOver: #517c416b; // scroll bar background with mouse over the scroll bar (adjusted)
msgInBg: windowBg; // inbox message background
msgInBgSelected: #c2dcf2; // inbox selected message background (and background of selected text in those messages)
msgOutBg: #effdde; // outbox message background
msgOutBgSelected: #b7dbdb; // outbox selected message background (and background of selected text in those messages)
msgSelectOverlay: #358cd44c; // overlay which is filling the media parts of selected messages (like in selected photo message)
msgStickerOverlay: #358cd47f; // overlay which is filling the selected sticker message
msgInServiceFg: windowActiveTextFg; // inbox message information text (like information about a forwarded message original sender)
msgInServiceFgSelected: windowActiveTextFg; // inbox selected message information text (like information about a forwarded message original sender)
msgOutServiceFg: #3a8e26; // outbox message information text (like information about a forwarded message original sender)
msgOutServiceFgSelected: #367570; // outbox message information text (like information about a forwarded message original sender)
msgInShadow: #748ea229; // inbox message shadow (below the bubble)
msgInShadowSelected: #548dbb29; // inbox selected message shadow (below the bubble)
msgOutShadow: #3ac34740; // outbox message shadow (below the bubble)
msgOutShadowSelected: #37a78e40; // outbox selected message shadow (below the bubble)
msgInDateFg: #a0acb6; // inbox message time text
msgInDateFgSelected: #6a9cc5; // inbox selected message time text
msgOutDateFg: #6cc264; // outbox message time text
msgOutDateFgSelected: #50a79c; // outbox selected message time text
msgServiceFg: windowFgActive; // service message text (like date dividers or service message about the group title being changed)
msgServiceBg: #517c417f; // service message background (like in a service message about group title being changed) (adjusted)
msgServiceBgSelected: #96b38ba2; // service message selected text background (like in a service message about group title being changed) (adjusted)
msgInReplyBarColor: activeLineFg; // inbox message reply outline
msgInReplyBarSelColor: activeLineFg; // inbox selected message reply outline
msgOutReplyBarColor: historyOutIconFg; // outbox message reply outline
msgOutReplyBarSelColor: historyOutIconFgSelected; // outbox selected message reply outline
msgImgReplyBarColor: msgServiceFg; // sticker message reply outline
msgInMonoFg: #4e7391; // inbox message monospace text (like a message sent with `test` text)
msgOutMonoFg: #469165; // outbox message monospace text
msgInMonoFgSelected: msgInMonoFg; // inbox message monospace text in a selected text or message
msgOutMonoFgSelected: msgOutMonoFg; // outbox message monospace text in a selected text or message
msgDateImgFg: msgServiceFg; // media message time text (like time text in a sent photo)
msgDateImgBg: #00000054; // media message time bubble background (like time bubble in a sent photo) or file with thumbnail download icon circle background
msgDateImgBgOver: #00000074; // media message download icon circle background with mouse over (like file with thumbnail download icon)
msgDateImgBgSelected: #1c4a7187; // selected media message time bubble background
msgFileThumbLinkInFg: lightButtonFg; // inbox media file message with thumbnail download / open with button text
msgFileThumbLinkInFgSelected: lightButtonFgOver; // inbox selected media file message with thumbnail download / open with button text
msgFileThumbLinkOutFg: #5eba5b; // outbox media file message with thumbnail download / open with button text
msgFileThumbLinkOutFgSelected: #31a298; // outbox selected media file message with thumbnail download / open with button text
msgFileInBg: windowBgActive; // inbox audio file download circle background
msgFileInBgOver: #4eade3; // inbox audio file download circle background with mouse over
msgFileInBgSelected: #51a3d3; // inbox selected audio file download circle background
msgFileOutBg: #78c67f; // outbox audio file download circle background
msgFileOutBgOver: #6bc272; // outbox audio file download circle background with mouse over
msgFileOutBgSelected: #5fb389; // outbox selected audio file download circle background
msgFile1Bg: #72b1df; // blue shared links / files without image square thumbnail
msgFile1BgDark: #5c9ece; // blue shared files without image download circle background
msgFile1BgOver: #5294c4; // blue shared files without image download circle background with mouse over
msgFile1BgSelected: #5099d0; // blue shared files without image download circle background if file is selected
msgFile2Bg: #61b96e; // green shared links / shared files without image square thumbnail
msgFile2BgDark: #4da859; // green shared files without image download circle background
msgFile2BgOver: #44a050; // green shared files without image download circle background with mouse over
msgFile2BgSelected: #46a07e; // green shared files without image download circle background if file is selected
msgFile3Bg: #e47272; // red shared links / shared files without image square thumbnail
msgFile3BgDark: #cd5b5e; // red shared files without image download circle background
msgFile3BgOver: #c35154; // red shared files without image download circle background with mouse over
msgFile3BgSelected: #9f6a82; // red shared files without image download circle background if file is selected
msgFile4Bg: #efc274; // yellow shared links / shared files without image square thumbnail
msgFile4BgDark: #e6a561; // yellow shared files without image download circle background
msgFile4BgOver: #dc9c5a; // yellow shared files without image download circle background with mouse over
msgFile4BgSelected: #b19d84; // yellow shared files without image download circle background if file is selected
historyFileInIconFg: msgInBg; // inbox file without thumbnail (like audio file) download arrow icon
historyFileInIconFgSelected: msgInBgSelected; // inbox selected file without thumbnail (like audio file) download arrow icon
historyFileInRadialFg: historyFileInIconFg; // inbox file without thumbnail (like audio file) radial download animation line
historyFileInRadialFgSelected: historyFileInIconFgSelected; // inbox selected file without thumbnail (like audio file) radial download animation line
historyFileOutIconFg: msgOutBg; // outbox file without thumbnail (like audio file) download arrow icon
historyFileOutIconFgSelected: msgOutBgSelected; // outbox selected file without thumbnail (like audio file) download arrow icon
historyFileOutRadialFg: historyFileOutIconFg; // outbox file without thumbnail (like audio file) radial download animation line
historyFileOutRadialFgSelected: historyFileOutIconFgSelected; // outbox selected file without thumbnail (like audio file) radial download animation line
historyFileThumbIconFg: msgInBg; // file with thumbnail (or photo / video) download arrow icon
historyFileThumbIconFgSelected: msgInBgSelected; // selected file with thumbnail (or photo / video) download arrow icon
historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; // selected file with thumbnail (or photo / video) radial download animation line
historyVideoMessageProgressFg: historyFileThumbIconFg; // radial playback progress in round video messages
msgWaveformInActive: windowBgActive; // inbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInActiveSelected: #51a3d3; // inbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInInactive: #d4dee6; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformInInactiveSelected: #9cc1e1; // inbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutActive: #78c67f; // outbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutActiveSelected: #6badad; // outbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutInactive: #b3e2b4; // outbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutInactiveSelected: #91c3c3; // outbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgBotKbOverBgAdd: #ffffff20; // this is painted over a bot inline keyboard button (which has msgServiceBg background) when mouse is over that button
msgBotKbIconFg: msgServiceFg; // bot inline keyboard button icon in the top-right corner (like in @vote bot when a poll is ready to be shared)
msgBotKbRippleBg: #00000020; // bot inline keyboard button ripple effect
mediaInFg: msgInDateFg; // inbox media message status text (like in file that is being downloaded)
mediaInFgSelected: msgInDateFgSelected; // inbox selected media message status text (like in file that is being downloaded)
mediaOutFg: msgOutDateFg; // outbox media message status text (like in file that is being downloaded)
mediaOutFgSelected: msgOutDateFgSelected; // outbox selected media message status text (like in file that is being downloaded)
youtubePlayIconBg: #e83131c8; // youtube play icon background (when a link to a youtube video with a webpage preview is sent)
youtubePlayIconFg: windowFgActive; // youtube play icon arrow (when a link to a youtube video with a webpage preview is sent)
videoPlayIconBg: #0000007f; // other video play icon background (like when a link to a vimeo video with a webpage preview is sent)
videoPlayIconFg: #ffffff; // other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent)
toastBg: #000000b2; // toast notification background (like when you click on your t.me link when editing your username)
toastFg: windowFgActive; // toast notification text (like when you click on your t.me link when editing your username)
reportSpamBg: emojiPanHeaderBg; // report spam panel background (like a non contact user writes your for the first time)
reportSpamFg: windowFg; // report spam panel text (when you send a report from that panel)
historyToDownBg: windowBg; // arrow button background (to scroll to the end of the viewed chat)
historyToDownBgOver: windowBgOver; // arrow button background with mouse over
historyToDownBgRipple: windowBgRipple; // arrow button ripple effect
historyToDownFg: menuIconFg; // arrow button icon
historyToDownFgOver: menuIconFgOver; // arrow button icon with mouse over
historyToDownShadow: #00000040; // arrow button shadow
historyComposeAreaBg: msgInBg; // history compose area background (message write area / reply information / forwarding information)
historyComposeAreaFg: historyTextInFg; // history compose area text
historyComposeAreaFgService: msgInDateFg; // history compose area text when replying to a media message
historyComposeIconFg: menuIconFg; // history compose area icon (like emoji, attach, bot command..)
historyComposeIconFgOver: menuIconFgOver; // history compose area icon with mouse over
historySendIconFg: windowBgActive; // send message icon
historySendIconFgOver: windowBgActive; // send message icon with mouse over
historyPinnedBg: historyComposeAreaBg; // pinned message area background
historyReplyBg: historyComposeAreaBg; // reply / forward / edit message area background
historyReplyIconFg: windowBgActive; // reply / forward / edit message left icon
historyReplyCancelFg: cancelIconFg; // reply / forward / edit message cancel button
historyReplyCancelFgOver: cancelIconFgOver; // reply / forward / edit message cancel button with mouse over
historyComposeButtonBg: historyComposeAreaBg; // unblock / join channel / mute channel button background
historyComposeButtonBgOver: windowBgOver; // unblock / join channel / mute channel button background with mouse over
historyComposeButtonBgRipple: windowBgRipple; // unblock / join channel / mute channel button ripple effect
mapPointDrop: #fd4444; // geo location marker background
mapPointDot: #ffffff; // geo location marker point
// overview
overviewCheckBg: #00000040; // shared media / files / links checkbox background for not selected rows when some rows are selected
overviewCheckBgActive: windowBgActive; // shared media / files / links checkbox background for selected rows
overviewCheckBorder: windowBg; // shared media round checkbox border
overviewCheckFg: windowBg; // shared files / links checkbox icon for not selected rows when some rows are selected
overviewCheckFgActive: windowBg; // shared files / links checkbox icon for selected rows
overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill for selected rows
// profile
profileStatusFgOver: #7c99b2; // group members list in group profile user last seen text with mouse over
profileVerifiedCheckBg: windowBgActive; // profile verified check icon background
profileVerifiedCheckFg: windowFgActive; // profile verified check icon tick
profileAdminStartFg: windowBgActive; // group members list creator star icon
profileAdminStarFgOver: profileAdminStartFg; // group members list creator star icon with mouse over
profileOtherAdminStarFg: windowSubTextFg; // group members list admin star icon
profileOtherAdminStarFgOver: profileStatusFgOver; // group members list admin star icon with mouse over
// settings
notificationsBoxMonitorFg: windowFg; // custom notifications settings box monitor color
notificationsBoxScreenBg: dialogsBgActive; // #6389a8; // custom notifications settings box monitor screen background
notificationSampleUserpicFg: windowBgActive; // custom notifications settings box small sample userpic placeholder
notificationSampleCloseFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample close button placeholder
notificationSampleTextFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample text placeholder
notificationSampleNameFg: #939393 | windowSubTextFg; // custom notifications settings box small sample name placeholder
changePhoneSimcardFrom: notificationSampleTextFg; // change phone number box left simcard icon
changePhoneSimcardTo: notificationSampleNameFg; // change phone number box right simcard and plane icons
mainMenuBg: windowBg; // main menu background
mainMenuCoverBg: dialogsBgActive; // main menu top cover background
mainMenuCoverFg: windowFgActive; // main menu top cover text
mainMenuCloudFg: activeButtonFg;
mainMenuCloudBg: #2785bf | activeButtonBgRipple;
mediaPlayerBg: windowBg; // audio file player background
mediaPlayerActiveFg: windowBgActive; // audio file player playback progress already played part
mediaPlayerInactiveFg: sliderBgInactive; // audio file player playback progress upcoming (not played yet) part with mouse over
mediaPlayerDisabledFg: #9dd1ef; // audio file player loading progress (when you're playing an audio file and switch to the previous one which is not loaded yet)
// mediaview
mediaviewFileBg: windowBg; // file rectangle background (when you view a png file in Media Viewer and go to a previous, not loaded yet, file)
mediaviewFileNameFg: windowFg; // file name in file rectangle
mediaviewFileSizeFg: windowSubTextFg; // file size text in file rectangle
mediaviewFileRedCornerFg: #d55959; // red file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .pdf)
mediaviewFileYellowCornerFg: #e8a659; // yellow file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .zip)
mediaviewFileGreenCornerFg: #49a957; // green file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .exe)
mediaviewFileBlueCornerFg: #599dcf; // blue file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .dmg)
mediaviewFileExtFg: activeButtonFg; // file extension text in file thumbnail placeholder in file rectangle
mediaviewMenuBg: #383838; // context menu in Media Viewer background
mediaviewMenuBgOver: #505050; // context menu item background with mouse over
mediaviewMenuBgRipple: #676767; // context menu item ripple effect
mediaviewMenuFg: windowFgActive; // context menu item text
mediaviewBg: #222222eb; // Media Viewer background
mediaviewVideoBg: imageBg; // Media Viewer background when viewing a video in full screen
mediaviewControlBg: #0000003c; // controls background (like next photo / previous photo)
mediaviewControlFg: windowFgActive; // controls icon (like next photo / previous photo)
mediaviewCaptionBg: #11111180; // caption text background (when viewing photo with caption)
mediaviewCaptionFg: mediaviewControlFg; // caption text
mediaviewTextLinkFg: #91d9ff; // caption text link
mediaviewSaveMsgBg: toastBg; // save to file toast message background in Media Viewer
mediaviewSaveMsgFg: toastFg; // save to file toast message text
mediaviewPlaybackActive: #c7c7c7; // video playback progress already played part
mediaviewPlaybackInactive: #252525; // video playback progress upcoming (not played yet) part
mediaviewPlaybackActiveOver: #ffffff; // video playback progress already played part with mouse over
mediaviewPlaybackInactiveOver: #474747; // video playback progress upcoming (not played yet) part with mouse over
mediaviewPlaybackProgressFg: #ffffffc7; // video playback progress text
mediaviewPlaybackIconFg: mediaviewPlaybackActive; // video playback controls icon
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // video playback controls icon with mouse over
mediaviewTransparentBg: #ffffff; // transparent filling part (when viewing a transparent .png file in Media Viewer)
mediaviewTransparentFg: #cccccc; // another transparent filling part
// notification
notificationBg: windowBg; // custom notification window background
// calls
callBg: #26282cf2; // phone call popup background
callNameFg: #ffffff; // phone call popup name text
callFingerprintBg: #00000066; // phone call popup emoji fingerprint background
callStatusFg: #aaabac; // phone call popup status text
callIconFg: #ffffff; // phone call popup answer, hangup and mute mic icon
callAnswerBg: #64c15b; // phone call popup answer button background
callAnswerRipple: #52b149; // phone call popup answer button ripple effect
callAnswerBgOuter: #50eb4126; // phone call popup answer button outer ripple effect
callHangupBg: #d75a5a; // phone call popup hangup button background
callHangupRipple: #c04646; // phone call popup hangup button ripple effect
callCancelBg: #ffffff; // phone call popup line busy cancel button background
callCancelFg: #777777; // phone call popup line busy cancel button icon
callCancelRipple: #f1f1f1; // phone call popup line busy cancel button ripple effect
callMuteRipple: #ffffff12; // phone call popup mute mic ripple effect
callBarBg: dialogsBgActive; // active phone call bar background
callBarMuteRipple: dialogsRippleBgActive; // active phone call bar mute and hangup button ripple effect
callBarBgMuted: #8f8f8f | dialogsUnreadBgMuted; // phone call bar with muted mic background
callBarUnmuteRipple: #7f7f7f | shadowFg; // phone call bar with muted mic mute and hangup button ripple effect
callBarFg: dialogsNameFgActive; // phone call bar text and icons
importantTooltipBg: toastBg;
importantTooltipFg: toastFg;
importantTooltipFgLink: mediaviewTextLinkFg;
outdatedFg: #ffffff;
outdateSoonBg: #e08543;
outdatedBg: #e05745;

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +0,0 @@
[Paths]
Libraries=:/gui/art

View File

@@ -1,2 +0,0 @@
[Platforms]
WindowsArguments = nomousefromtouch

View File

@@ -1,57 +0,0 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>
<dir>~/.local/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir>
<dir prefix="xdg">fonts</dir>
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>monospace</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<cachedir>/var/cache/fontconfig_11</cachedir>
<cachedir prefix="xdg">fontconfig_11</cachedir>
<cachedir>~/.fontconfig_11</cachedir>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<edit mode="assign" name="embeddedbitmap">
<bool>false</bool>
</edit>
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
</fontconfig>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 B

View File

@@ -5,7 +5,7 @@ pushd `dirname $0` > /dev/null
FullScriptPath=`pwd`
popd > /dev/null
if [ ! -d "$FullScriptPath/../../../../TelegramPrivate" ]; then
if [ ! -d "$FullScriptPath/../../../../DesktopPrivate" ]; then
echo ""
echo "This script is for building the production version of Telegram Desktop."
echo ""

View File

@@ -76,7 +76,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_month_day_year" = "{month} {day}, {year}";
"lng_month_year" = "{month} {year}";
"lng_calendar_beginning" = "Beginning";
"lng_box_ok" = "OK";
"lng_box_done" = "Done";
"lng_cancel" = "Cancel";
"lng_continue" = "Continue";
@@ -118,6 +121,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_channel_status" = "channel";
"lng_group_status" = "group";
"lng_scam_badge" = "SCAM";
"lng_flood_error" = "Too many tries. Please try again later.";
"lng_gif_error" = "An error has occurred while reading GIF animation :(";
@@ -143,6 +147,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_sure_ban_admin" = "This user is an admin. Are you sure you want to go ahead and restrict them?";
"lng_sure_enable_socks" = "Are you sure you want to enable this proxy?\n\nServer: {server}\nPort: {port}\n\nYou can change your proxy server later in the Settings (Connection Type).";
"lng_sure_enable" = "Enable";
"lng_proxy_invalid" = "The proxy link is invalid.";
"lng_proxy_unsupported" = "Your Telegram Desktop version doesn't support this proxy type or the proxy link is invalid. Please update Telegram Desktop to the latest version.";
"lng_edit_deleted" = "This message was deleted";
"lng_edit_too_long" = "Your message text is too long";
@@ -160,6 +166,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_media_album_error" = "This file cannot be saved as a part of an album.";
"lng_edit_media_invalid_file" = "Sorry, no way to use this file.";
"lng_edit_caption_attach" = "Sorry, you can't attach a new media while you're editing your message.";
"lng_intro_about" = "Welcome to the official Telegram Desktop app.\nIt's fast and secure.";
"lng_start_msgs" = "START MESSAGING";
@@ -173,7 +180,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_phone_title" = "Your Phone Number";
"lng_phone_desc" = "Please confirm your country code and\nenter your mobile phone number.";
"lng_phone_notreg" = "If you don't have a Telegram account yet,\nplease [b]sign up[/b] with {link_start}Android / iPhone{link_end} or {signup_start}here{signup_end}";
"lng_country_code" = "Country Code";
"lng_bad_country_code" = "Invalid Country Code";
"lng_country_ph" = "Search";
@@ -182,7 +188,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_code_ph" = "Your code";
"lng_code_desc" = "We have sent you a message with activation\ncode to your phone. Please enter it below.";
"lng_code_telegram" = "Please enter the code you've just received\nin your previous [b]Telegram[/b] app.";
"lng_code_from_telegram" = "Please enter the code you've just received\nin your previous **Telegram** app.";
"lng_code_no_telegram" = "Send code via SMS";
"lng_code_call" = "Telegram will call you in {minutes}:{seconds}";
"lng_code_calling" = "Requesting a call from Telegram...";
@@ -294,6 +300,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_notification_reply" = "Reply";
"lng_notification_hide_all" = "Hide all";
"lng_notification_sample" = "This is a sample notification";
"lng_notification_reminder" = "Reminder";
"lng_settings_section_general" = "General";
"lng_settings_change_lang" = "Change language";
@@ -322,6 +329,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_replace_emojis" = "Replace emoji";
"lng_settings_suggest_emoji" = "Suggest emoji replacements";
"lng_settings_suggest_by_emoji" = "Suggest popular stickers by emoji";
"lng_settings_loop_stickers" = "Loop animated stickers";
"lng_settings_large_emoji" = "Large emoji";
"lng_settings_view_emojis" = "View list";
"lng_settings_send_enter" = "Send by Enter";
"lng_settings_send_ctrlenter" = "Send by Ctrl+Enter";
@@ -331,7 +340,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_bg_use_default" = "Use default color theme";
"lng_settings_bg_from_gallery" = "Choose from gallery";
"lng_settings_bg_from_file" = "Choose from file";
"lng_settings_bg_edit_theme" = "Launch theme editor";
"lng_settings_bg_theme_edit" = "Edit theme";
"lng_settings_bg_theme_create" = "Create new theme";
"lng_settings_bg_cloud_themes" = "Custom themes";
"lng_settings_bg_show_all" = "Show all themes";
"lng_settings_bg_tile" = "Tile background";
"lng_settings_adaptive_wide" = "Adaptive layout for wide screens";
@@ -380,6 +392,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_stickers_emoji" = "Stickers and emoji";
"lng_settings_messages" = "Messages";
"lng_settings_themes" = "Themes";
"lng_settings_theme_day" = "Day";
"lng_settings_theme_classic" = "Classic";
"lng_settings_theme_tinted" = "Tinted";
"lng_settings_theme_night" = "Night";
"lng_settings_theme_accent_title" = "Choose accent color";
"lng_settings_data_storage" = "Data and storage";
"lng_settings_information" = "Edit profile";
"lng_settings_passcode_title" = "Local passcode";
@@ -393,12 +410,20 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_settings_enable_animations" = "Enable animations";
"lng_settings_autoplay_gifs" = "Autoplay GIFs";
"lng_settings_spellchecker" = "Spell checker";
"lng_settings_system_spellchecker" = "Use system spell checker";
"lng_backgrounds_header" = "Choose your new chat background";
"lng_theme_sure_keep" = "Keep this theme?";
"lng_theme_reverting#one" = "Reverting to the old theme in {count} second.";
"lng_theme_reverting#other" = "Reverting to the old theme in {count} seconds.";
"lng_theme_keep_changes" = "Keep changes";
"lng_theme_revert" = "Revert";
"lng_theme_no_desktop" = "Sorry, this theme doesn't include a version for Telegram Desktop.";
"lng_theme_share" = "Share";
"lng_theme_edit" = "Edit";
"lng_theme_delete" = "Delete";
"lng_theme_delete_sure" = "Are you sure you want to delete this theme?";
"lng_background_header" = "Background preview";
"lng_background_text1" = "Ah, you kids today with techno music! You should enjoy the classics, like Hasselhoff!";
"lng_background_text2" = "I can't even take you seriously right now.";
@@ -559,6 +584,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_proxy_sponsor_warning" = "This proxy may display a sponsored channel in your chat list. This doesn't reveal any of your Telegram traffic.";
"lng_settings_blocked_users" = "Blocked users";
"lng_settings_no_blocked_users" = "None";
"lng_settings_show_sessions" = "Show all sessions";
"lng_settings_export_data" = "Export Telegram data";
"lng_settings_destroy_if" = "If away for...";
@@ -591,12 +617,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_blocked_list_title" = "Blocked users";
"lng_blocked_list_unknown_phone" = "unknown phone number";
"lng_blocked_list_unblock" = "Unblock";
"lng_blocked_list_restart" = "Restart";
"lng_blocked_list_add" = "Block user";
"lng_blocked_list_add_title" = "Select user to block";
"lng_blocked_list_already_blocked" = "blocked already";
"lng_blocked_list_about" = "Blocked users can't send you messages or add you to groups. They will not see your profile pictures, online and last seen status.";
"lng_blocked_list_not_found" = "No users found.";
"lng_blocked_list_confirm_title" = "Block {name}";
"lng_blocked_list_confirm_text" = "Do you want to block {name} from messaging and calling you on Telegram?";
"lng_blocked_list_confirm_clear" = "Delete this chat";
"lng_blocked_list_confirm_ok" = "Block";
"lng_edit_privacy_everyone" = "Everybody";
"lng_edit_privacy_contacts" = "My contacts";
@@ -616,6 +645,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edit_privacy_phone_number_always_title" = "Always share with";
"lng_edit_privacy_phone_number_never_title" = "Never share with";
"lng_edit_privacy_phone_number_find" = "Who can find me by my number";
"lng_edit_privacy_phone_number_contacts" = "Users who add your number to their contacts will see it on Telegram only if they are your contacts.";
"lng_edit_privacy_lastseen_title" = "Last seen privacy";
"lng_edit_privacy_lastseen_header" = "Who can see your last seen time";
"lng_edit_privacy_lastseen_warning" = "Important: you won't be able to see Last Seen times for people with whom you don't share your Last Seen time. Approximate last seen will be shown instead (recently, within a week, within a month).";
@@ -682,7 +714,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_self_destruct_years#other" = "{count} years";
"lng_change_phone_title" = "Change phone number";
"lng_change_phone_description" = "You can change your Telegram number\nhere. Your account and all your cloud data\n— messages, media, contacts, etc. will be\nmoved to the new number.\n\n[b]Important[/b]: all your Telegram contacts will\nget your [b]new number[/b] added to their address\nbook, provided they had your old number and\nyou haven't blocked them in Telegram.";
"lng_change_phone_about" = "You can change your Telegram number\nhere. Your account and all your cloud data\n— messages, media, contacts, etc. will be\nmoved to the new number.\n\n**Important**: all your Telegram contacts will\nget your **new number** added to their address\nbook, provided they had your old number and\nyou haven't blocked them in Telegram.";
"lng_change_phone_warning" = "All your Telegram contacts will get your new number added to their address book, provided they had your old number and you haven't blocked them in Telegram.";
"lng_change_phone_occupied" = "The number {phone} is already connected to a Telegram account. Please delete that account before migrating to the new number.";
"lng_change_phone_button" = "Change number";
@@ -773,9 +805,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_profile_info_section" = "Info";
"lng_info_tab_media" = "Media";
"lng_info_mobile_label" = "Mobile";
"lng_info_mobile_hidden" = "Hidden";
"lng_info_username_label" = "Username";
"lng_info_bio_label" = "Bio";
"lng_info_link_label" = "Link";
"lng_info_location_label" = "Location";
"lng_info_about_label" = "About";
"lng_info_user_title" = "User Info";
"lng_info_bot_title" = "Bot Info";
@@ -783,7 +817,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_info_channel_title" = "Channel Info";
"lng_profile_enable_notifications" = "Notifications";
"lng_profile_send_message" = "Send Message";
"lng_info_add_as_contact" = "Add as contact";
"lng_info_add_as_contact" = "Add to contacts";
"lng_profile_shared_media" = "Shared media";
"lng_media_type_photos" = "Photos";
"lng_media_type_videos" = "Videos";
@@ -840,6 +874,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_manage_peer_group_type" = "Group type";
"lng_manage_peer_channel_type" = "Channel type";
"lng_manage_peer_link_type" = "Link type";
"lng_manage_peer_link_permanent" = "Permanent link";
"lng_manage_peer_link_invite" = "Invite link";
"lng_manage_private_group_title" = "Private";
"lng_manage_public_group_title" = "Public";
"lng_manage_private_peer_title" = "Private";
@@ -858,12 +895,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_manage_linked_channel_private" = "Any member of this group will be able to see messages in the channel.";
"lng_manage_discussion_group_private" = "Anyone from the channel will be able to see messages in this group.";
"lng_manage_discussion_group_link" = "Link group";
"lng_manage_linked_channel_private_status" = "private channel";
"lng_manage_discussion_group_private_status" = "private group";
"lng_manage_linked_channel_about" = "{channel} is linking the group as its discussion board.";
"lng_manage_linked_channel_unlink" = "Unlink channel";
"lng_manage_linked_channel_posted" = "All new messages posted in this channel are forwarded to the group.";
"lng_manage_discussion_group_warning" = "\"Chat history for new members\" will be switched to {visible}.";
"lng_manage_discussion_group_visible" = "Visible";
"lng_manage_discussion_group_warning" = "\"Chat history for new members\" will be switched to **Visible**.";
"lng_manage_history_visibility_title" = "Chat history for new members";
"lng_manage_history_visibility_shown" = "Visible";
@@ -921,6 +958,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_create_public_group_about" = "Anyone can find the group in search and join, chat history is available to everybody";
"lng_create_private_group_title" = "Private Group";
"lng_create_private_group_about" = "People can only join if they were invited or have an invite link";
"lng_create_permanent_link_title" = "Permanent link";
"lng_create_invite_link_title" = "Invite link";
"lng_create_invite_link_about" = "People can join if they were invited, have an invite link, or from \"Groups nearby\"";
"lng_create_group_skip" = "Skip";
"lng_create_channel_link_about" = "You can use a-z, 0-9 and underscores.\nMinimum length is 5 characters.";
@@ -1044,6 +1085,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_channels_too_much_public_revoke_confirm_group" = "Are you sure you want to revoke the link {link}?\n\nThe group «{group}» will become private.";
"lng_channels_too_much_public_revoke_confirm_channel" = "Are you sure you want to revoke the link {link}?\n\nThe channel «{group}» will become private.";
"lng_channels_too_much_public_revoke" = "Revoke";
"lng_channels_too_much_public_other" = "Sorry, the target user has too many public groups or channels already. Please ask them to make one of their existing groups or channels private first.";
"lng_channels_too_much_located_other" = "Sorry, the target user has too many location-based groups already. Please ask them to delete or transfer one of their existing ones first.";
"lng_group_invite_bad_link" = "This invite link is broken or has expired.";
"lng_group_invite_join" = "Join";
@@ -1074,6 +1117,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_edited" = "edited";
"lng_edited_date" = "Edited: {date}";
"lng_admin_badge" = "admin";
"lng_owner_badge" = "owner";
"lng_channel_badge" = "channel";
"lng_fast_reply" = "Reply";
"lng_cancel_edit_post_sure" = "Cancel editing?";
@@ -1109,6 +1153,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_media_size_limit" = "Limit by size";
"lng_media_size_up_to" = "up to {size}";
"lng_media_chat_background" = "Chat background";
"lng_media_color_theme" = "Color theme";
"lng_emoji_category1" = "People";
"lng_emoji_category2" = "Nature";
@@ -1189,12 +1234,19 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_ban_user" = "Ban User";
"lng_delete_all_from" = "Delete all from this user";
"lng_report_spam" = "Report Spam";
"lng_report_spam_hide" = "Hide";
"lng_report_spam_thanks" = "Thank you for your report!";
"lng_report_spam_sure" = "Are you sure you want to report spam from this user?";
"lng_report_spam_and_leave" = "Report spam and leave";
"lng_report_spam_done" = "Thank you for your report.";
"lng_report_spam_sure_group" = "Are you sure you want to report spam in this group?";
"lng_report_spam_sure_channel" = "Are you sure you want to report spam in this channel?";
"lng_report_spam_ok" = "Report";
"lng_new_contact_block" = "Block user";
"lng_new_contact_block_done" = "{user} is now blocked.";
"lng_new_contact_add" = "Add contact";
"lng_new_contact_share" = "Share my phone number";
"lng_new_contact_share_sure" = "Are you sure you want to share your phone number {phone} with {user}?";
"lng_new_contact_share_done" = "{user} can now see your phone number.";
"lng_new_contact_add_name" = "Add {user} to contacts";
"lng_new_contact_add_done" = "{user} is now in your contact list.";
"lng_cant_send_to_not_contact" = "Sorry, you can only send messages to\nmutual contacts at the moment.\n{more_info}";
"lng_cant_invite_not_contact" = "Sorry, you can only add mutual contacts\nto groups at the moment.\n{more_info}";
"lng_cant_more_info" = "More info »";
@@ -1207,6 +1259,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_cant_invite_make_admin" = "Make admin";
"lng_send_button" = "Send";
"lng_send_silent_message" = "Send without sound";
"lng_schedule_message" = "Schedule message";
"lng_reminder_message" = "Set a reminder";
"lng_schedule_title" = "Send this message on...";
"lng_remind_title" = "Remind me on...";
"lng_schedule_at" = "at";
"lng_message_ph" = "Write a message...";
"lng_broadcast_ph" = "Broadcast a message...";
"lng_broadcast_silent_ph" = "Silent broadcast...";
@@ -1226,6 +1284,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_saved_short" = "Save";
"lng_saved_forward_here" = "Forward messages here for quick access";
"lng_scheduled_messages" = "Scheduled Messages";
"lng_reminder_messages" = "Reminders";
"lng_scheduled_send_now" = "Send message now?";
"lng_scheduled_send_now_many#one" = "Send {count} message now?";
"lng_scheduled_send_now_many#other" = "Send {count} messages now?";
"lng_archived_name" = "Archived chats";
"lng_archived_add" = "Archive";
"lng_archived_remove" = "Unarchive";
@@ -1241,6 +1305,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_dialogs_text_media_wrapped" = "{media},";
"lng_dialogs_show_all_chats" = "Show all chats";
"lng_dialogs_hide_muted_chats" = "Hide muted chats";
"lng_dialogs_skip_archive_in_search" = "Skip results from archive";
"lng_dialogs_show_archive_in_search" = "With results from archive";
"lng_open_this_link" = "Open this link?";
"lng_open_link" = "Open";
@@ -1317,6 +1383,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_mark_read" = "Mark as read";
"lng_context_archive_expand" = "Expand";
"lng_context_archive_collapse" = "Collapse";
"lng_context_archive_to_menu" = "Move to main menu";
"lng_context_archive_to_list" = "Move to chats list";
"lng_context_archive_to_menu_info" = "Archive moved to the main menu!\nYou can return it from the context menu of the archive button.";
"lng_context_promote_admin" = "Promote to admin";
"lng_context_edit_permissions" = "Edit permissions";
@@ -1348,6 +1417,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_reply_msg" = "Reply";
"lng_context_edit_msg" = "Edit";
"lng_context_forward_msg" = "Forward Message";
"lng_context_send_now_msg" = "Send now";
"lng_context_delete_msg" = "Delete Message";
"lng_context_select_msg" = "Select Message";
"lng_context_report_msg" = "Report Message";
@@ -1357,6 +1427,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_context_copy_selected" = "Copy Selected Text";
"lng_context_copy_selected_items" = "Copy Selected as Text";
"lng_context_forward_selected" = "Forward Selected";
"lng_context_send_now_selected" = "Send selected now";
"lng_context_delete_selected" = "Delete Selected";
"lng_context_clear_selection" = "Clear Selection";
"lng_send_image_empty" = "Could not send an empty file: {name}";
@@ -1404,6 +1475,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_contact_phone" = "Phone Number";
"lng_enter_contact_data" = "New Contact";
"lng_contact_mobile_hidden" = "Mobile hidden";
"lng_contact_phone_after" = "Phone number will be visible once {user} adds you as a contact.";
"lng_contact_share_phone" = "Share my phone number";
"lng_contact_phone_will_be_shared" = "You can make your phone visible to {user}.";
"lng_edit_contact_title" = "Edit contact name";
"lng_edit_channel_title" = "Edit channel";
"lng_edit_sign_messages" = "Sign messages";
@@ -1430,6 +1505,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_selected_clear" = "Cancel";
"lng_selected_delete" = "Delete";
"lng_selected_forward" = "Forward";
"lng_selected_send_now" = "Send now";
"lng_selected_cancel_sure_this" = "Cancel uploading?";
"lng_selected_upload_stop" = "Stop";
"lng_selected_delete_sure_this" = "Do you want to delete this message?";
@@ -1455,9 +1531,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_box_leave" = "Leave";
"lng_about_version" = "version {version}";
"lng_about_text_1" = "Official free messaging app based on [a href=\"https://core.telegram.org/api\"]Telegram API[/a]\nfor speed and security.";
"lng_about_text_2" = "This software is licensed under [a href=\"https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\"]GNU GPL[/a] version 3.\nSource code is available on [a href=\"https://github.com/telegramdesktop/tdesktop\"]GitHub[/a].";
"lng_about_text_3" = "Visit {faq_open}Telegram FAQ{faq_close} for more info.";
"lng_about_text1" = "Official free messaging app based on {api_link}\nfor speed and security.";
"lng_about_text1_api" = "Telegram API";
"lng_about_text2" = "This software is licensed under {gpl_link} version 3.\nSource code is available on {github_link}.";
"lng_about_text3" = "Visit {faq_link} for more info.";
"lng_about_text3_faq" = "Telegram FAQ";
"lng_about_done" = "Done";
"lng_search_no_results" = "No messages found";
@@ -1477,20 +1555,23 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_mediaview_group_photo" = "Group Photo";
"lng_mediaview_channel_photo" = "Channel Photo";
"lng_mediaview_profile_photo" = "Profile Photo";
"lng_mediaview_file_n_of_count" = "{file} {n} of {count}";
"lng_mediaview_n_of_count" = "Photo {n} of {count}";
"lng_mediaview_file_n_of_amount" = "{file} {n} of {amount}";
"lng_mediaview_n_of_amount" = "Photo {n} of {amount}";
"lng_mediaview_doc_image" = "File";
"lng_mediaview_today" = "today at {time}";
"lng_mediaview_yesterday" = "yesterday at {time}";
"lng_mediaview_date_time" = "{date} at {time}";
"lng_mediaview_saved" = "Image was saved to your [c]Downloads[/c] folder";
"lng_mediaview_saved_to" = "Image was saved to your {downloads} folder";
"lng_mediaview_downloads" = "Downloads";
"lng_mediaview_video_loading" = "Loading - {percent}";
"lng_theme_preview_title" = "Theme Preview";
"lng_theme_preview_generating" = "Generating color theme preview...";
"lng_theme_preview_invalid" = "Invalid data in this theme file.";
"lng_theme_preview_apply" = "Apply this theme";
"lng_theme_preview_users#one" = "{count} person is using this theme";
"lng_theme_preview_users#other" = "{count} people are using this theme";
"lng_new_authorization" = "{name},\nWe detected a login into your account from a new device on {day}, {date} at {time}\n\nDevice: {device}\nLocation: {location}\n\nIf this wasn't you, you can go to Settings — Show all sessions and terminate that session.\n\nIf you think that somebody logged in to your account against your will, you can enable two-step verification in Settings.\n\nSincerely,\nThe Telegram Team";
@@ -1501,6 +1582,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_menu_formatting" = "Formatting";
"lng_menu_formatting_bold" = "Bold";
"lng_menu_formatting_italic" = "Italic";
"lng_menu_formatting_underline" = "Underline";
"lng_menu_formatting_strike_out" = "Strike-through";
"lng_menu_formatting_monospace" = "Monospace";
"lng_menu_formatting_link_create" = "Create link";
"lng_menu_formatting_link_edit" = "Edit link";
@@ -1511,6 +1594,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_formatting_link_url" = "URL";
"lng_formatting_link_create" = "Create";
"lng_spellchecker_add" = "Add to Dictionary";
"lng_spellchecker_remove" = "Remove from Dictionary";
"lng_spellchecker_ignore" = "Ignore word";
"lng_full_name" = "{first_name} {last_name}";
"lng_confirm_phone_link_invalid" = "This link is broken or has expired.";
@@ -1532,9 +1619,26 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_theme_editor_save_palette" = "Save palette file";
"lng_theme_editor_choose_name" = "Save theme file";
"lng_theme_editor_error" = "The editor encountered an error :( See 'log.txt' for details.";
"lng_theme_editor_sure_close" = "Are you sure you want to close the editor? Your changes won't be saved.";
"lng_theme_editor_need_auth" = "You need to log in to save your theme.";
"lng_theme_editor_need_unlock" = "You need to unlock Telegram to save your theme.";
"lng_theme_editor_done" = "Theme exported successfully!";
"lng_theme_editor_title" = "Edit color palette";
"lng_theme_editor_export_button" = "Export theme";
"lng_theme_editor_save_button" = "Save theme";
"lng_theme_editor_create_title" = "Create theme";
"lng_theme_editor_attach_title" = "Attach desktop theme";
"lng_theme_editor_create" = "Create";
"lng_theme_editor_name" = "Theme name";
"lng_theme_editor_create_description" = "New theme will be based on your currently selected colors and wallpaper. Alternatively, you can import existing theme or color palette from file.";
"lng_theme_editor_attach_description" = "You can create desktop part of your theme based on your currently selected colors and wallpaper. Alternatively, you can import existing theme or color palette from file.";
"lng_theme_editor_import_existing" = "Import existing theme";
"lng_theme_editor_save_title" = "Save theme";
"lng_theme_editor_link_about" = "Your theme will be updated for all users each time you change it. Anyone can install it using this link.\n\nTheme links must be longer than 5 characters and use a-z, 0-9 and underscores.";
"lng_theme_editor_menu_export" = "Export theme";
"lng_theme_editor_menu_import" = "Import theme";
"lng_theme_editor_menu_show" = "Show palette file";
"lng_payments_not_supported" = "Sorry, Telegram Desktop doesn't support payments yet. Please use one of our mobile apps to do this.";
"lng_payments_receipt_label" = "Receipt";
@@ -1566,7 +1670,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_call_box_status_today" = "{time}";
"lng_call_box_status_yesterday" = "Yesterday at {time}";
"lng_call_box_status_date" = "{date} at {time}";
"lng_call_box_status_group" = "({count}) {status}";
"lng_call_box_status_group" = "({amount}) {status}";
"lng_call_outgoing" = "Outgoing call";
"lng_call_incoming" = "Incoming call";
@@ -1589,6 +1693,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_rights_edit_admin" = "Manage permissions";
"lng_rights_edit_admin_header" = "What can this admin do?";
"lng_rights_edit_admin_rank_name" = "Custom title";
"lng_rights_edit_admin_rank_about" = "A custom title that will be shown to all members instead of '{title}'.";
"lng_rights_about_add_admins_yes" = "This admin will be able to add new admins with the same (or more limited) permissions.";
"lng_rights_about_add_admins_no" = "This admin will not be able to add new admins.";
@@ -1601,6 +1707,24 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_rights_user_restrictions" = "User restrictions";
"lng_rights_user_restrictions_header" = "What can this member do?";
"lng_rights_default_restrictions_header" = "What can members of this group do?";
"lng_rights_slowmode_header" = "Slow mode";
"lng_rights_slowmode_off" = "Off";
"lng_rights_slowmode_seconds#one" = "{count}s";
"lng_rights_slowmode_seconds#other" = "{count}s";
"lng_rights_slowmode_minutes#one" = "{count}m";
"lng_rights_slowmode_minutes#other" = "{count}m";
"lng_rights_slowmode_hours#one" = "{count}h";
"lng_rights_slowmode_hours#other" = "{count}h";
"lng_rights_slowmode_about" = "Members will be able to send only one message per this interval.";
"lng_rights_slowmode_about_interval" = "Members will be able to send only one message {interval}.";
"lng_rights_slowmode_interval_seconds#one" = "every {count} second";
"lng_rights_slowmode_interval_seconds#other" = "every {count} seconds";
"lng_rights_slowmode_interval_minutes#one" = "every {count} minute";
"lng_rights_slowmode_interval_minutes#other" = "every {count} minutes";
"lng_slowmode_enabled"= "Slow mode is enabled. You can send your next message in {left}.";
"lng_slowmode_no_many" = "Slow mode is enabled. You can't send more than one message at a time.";
"lng_slowmode_too_long" = "Sorry, this text is too long to send as one message.\n\nSlow mode is enabled. You can't send more than one message at a time.";
"lng_rights_channel_info" = "Change channel info";
"lng_rights_channel_post" = "Post messages";
@@ -1629,6 +1753,21 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_rights_chat_banned_custom" = "Custom";
"lng_rights_chat_banned_custom_date" = "Until {date}";
"lng_rights_transfer_group" = "Transfer group ownership";
"lng_rights_transfer_channel" = "Transfer channel ownership";
"lng_rights_transfer_check" = "Security check";
"lng_rights_transfer_check_about" = "You can transfer this group to {user} only if you have:";
"lng_rights_transfer_check_password" = "• Enabled **2-Step Verification** more than **7 days** ago.";
"lng_rights_transfer_check_session" = "• Logged in on this device more than **24 hours** ago.";
"lng_rights_transfer_check_later" = "Please come back later.";
"lng_rights_transfer_set_password" = "Set password";
"lng_rights_transfer_about" = "This will transfer the full **owner rights** for {group} to {user}.";
"lng_rights_transfer_sure" = "Change owner";
"lng_rights_transfer_password_title" = "Two-step verification";
"lng_rights_transfer_password_description" = "Please enter your password to complete the transfer.";
"lng_rights_transfer_done_group" = "{user} is now the owner of the group.";
"lng_rights_transfer_done_channel" = "{user} is now the owner of the channel.";
"lng_restricted_send_message" = "The admins of this group restricted you from writing here.";
"lng_restricted_send_media" = "The admins of this group restricted you from posting media content here.";
"lng_restricted_send_stickers" = "The admins of this group restricted you from posting stickers here.";
@@ -1636,6 +1775,13 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_restricted_send_inline" = "The admins of this group restricted you from posting inline content here.";
"lng_restricted_send_polls" = "The admins of this group restricted you from posting polls here.";
"lng_restricted_send_message_until" = "The admins of this group restricted you from writing here until {date}, {time}.";
"lng_restricted_send_media_until" = "The admins of this group restricted you from posting media content here until {date}, {time}.";
"lng_restricted_send_stickers_until" = "The admins of this group restricted you from posting stickers here until {date}, {time}.";
"lng_restricted_send_gifs_until" = "The admins of this group restricted you from posting GIFs here until {date}, {time}.";
"lng_restricted_send_inline_until" = "The admins of this group restricted you from posting inline content here until {date}, {time}.";
"lng_restricted_send_polls_until" = "The admins of this group restricted you from posting polls here until {date}, {time}.";
"lng_restricted_send_message_all" = "Writing messages isn't allowed in this group.";
"lng_restricted_send_media_all" = "Posting media content isn't allowed in this group.";
"lng_restricted_send_stickers_all" = "Posting stickers isn't allowed in this group.";
@@ -1646,6 +1792,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_exceptions_list_title" = "Exceptions";
"lng_removed_list_title" = "Removed users";
"lng_admin_log_slow_mode_seconds#one" = "{count} second";
"lng_admin_log_slow_mode_seconds#other" = "{count} seconds";
"lng_admin_log_slow_mode_minutes#one" = "{count} minute";
"lng_admin_log_slow_mode_minutes#other" = "{count} minutes";
"lng_admin_log_title_all" = "All actions";
"lng_admin_log_title_selected" = "Selected actions";
"lng_admin_log_filter" = "Filter";
@@ -1709,6 +1860,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_banned" = "banned {user}";
"lng_admin_log_restricted" = "changed restrictions for {user} {until}";
"lng_admin_log_promoted" = "changed privileges for {user}";
"lng_admin_log_transferred" = "transferred ownership to {user}";
"lng_admin_log_changed_default_permissions" = "changed default permissions";
"lng_admin_log_changed_stickers_group" = "{from} changed the group's {sticker_set}";
"lng_admin_log_changed_stickers_set" = "sticker set";
@@ -1717,6 +1869,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_admin_log_removed_linked_chat" = "{from} removed the discussion group";
"lng_admin_log_changed_linked_channel" = "{from} changed the linked channel to «{chat}»";
"lng_admin_log_removed_linked_channel" = "{from} removed the linked channel";
"lng_admin_log_changed_location_chat" = "{from} changed the group location to {address}";
"lng_admin_log_removed_location_chat" = "{from} removed the group location";
"lng_admin_log_changed_slow_mode" = "{from} changed slow mode to {duration}";
"lng_admin_log_removed_slow_mode" = "{from} disabled slow mode";
"lng_admin_log_user_with_username" = "{name} ({mention})";
"lng_admin_log_restricted_forever" = "indefinitely";
"lng_admin_log_restricted_until" = "until {date}";
@@ -1960,14 +2116,14 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_export_state_userpics" = "Profile pictures";
"lng_export_state_chats_list" = "Processing chats...";
"lng_export_state_chats" = "Chats";
"lng_export_state_progress" = "{count} / {total}";
"lng_export_state_ready_progress" = "{ready} / {total}";
"lng_export_progress" = "You can close this window now. Please don't quit Telegram until the data export is completed.";
"lng_export_stop" = "Stop";
"lng_export_sure_stop" = "Are you sure you want to stop exporting your data?\n\nIf you do, you'll need to start over.";
"lng_export_about_done" = "Your data was successfully exported.";
"lng_export_done" = "Show my data";
"lng_export_finished" = "Data export completed.";
"lng_export_total_files" = "Total files: {count}.";
"lng_export_total_amount" = "Total files: {amount}.";
"lng_export_total_size" = "Total size: {size}.";
"lng_export_folder" = "Choose export folder";
"lng_export_invalid" = "Sorry, you have started a new data export, so this data export is now cancelled.";
@@ -2076,4 +2232,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_mac_menu_new_channel" = "New Channel";
"lng_mac_menu_show" = "Show Telegram";
"lng_mac_touchbar_favorite_stickers" = "Favorite stickers";
// Keys finished

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More