Commit Graph

591 Commits

Author SHA1 Message Date
John Preston 2812d2911f Remove media_volume icon, use volume slider. 2018-10-15 11:06:27 +03:00
John Preston b847c8424a Use single emoji sprite and scale + cache it. 2018-10-15 09:03:29 +03:00
John Preston d5ec85c1d8 Add support for more emoji. 2018-10-13 18:03:46 +03:00
John Preston fd53385c1f Version 1.4.1: Fix build for old OS X. 2018-10-09 21:58:56 +03:00
John Preston 0e9ad5d82b Fix build for Mac App Store. 2018-10-09 20:03:41 +03:00
John Preston ccaec28d0b Read and autocomplete templates (support). 2018-10-09 19:27:16 +03:00
John Preston 25cefc6eab Allow fix chats order and auto switch (support). 2018-10-09 19:27:16 +03:00
John Preston 7ee1af5348 Move advanced notifications settings from box. 2018-09-28 00:18:30 +03:00
John Preston 04dd4e30a8 Rename General->Advanced in Settings. 2018-09-20 21:26:10 +03:00
John Preston 377689ae86 Fix build for Xcode 10. 2018-09-19 19:22:14 +03:00
John Preston 2f408cd773 Remove old settings. 2018-09-19 19:22:14 +03:00
John Preston c1ae9e9680 Implement intro wrap for new settings. 2018-09-19 19:22:14 +03:00
John Preston 50b0b61118 Accept typing codes in settings. 2018-09-19 19:22:13 +03:00
John Preston f0d092f126 Section dummies for new Settings. 2018-09-19 19:22:12 +03:00
John Preston 4f16ad6757 Move old settings to old_settings. 2018-09-19 19:22:12 +03:00
John Preston 9ba331693f Async clear of legacy local storage.
Sync call to QDir::entryList is a bad idea for the user data folder.
Some users reported hanging on startup with 1.25M legacy cache files.
Now we enumerate up to 10000 files at once asynchronously and clear.
2018-09-04 22:37:22 +03:00
John Preston 08ff324b1b Work with Cache::Database in LocalStorageBox. 2018-09-01 18:56:08 +03:00
John Preston 2f9d65b4eb Add a generic BinlogReader. 2018-09-01 18:56:08 +03:00
John Preston a4c1d5fe9d Move cache database to a separate module.
Also start compactor code.
2018-09-01 18:56:08 +03:00
John Preston b9af3c7f34 Add base::ConcurrentTimer.
Write removes from cache database once an hour.
2018-09-01 18:56:08 +03:00
John Preston 64b8adb3d0 Isolate lib_base library. Use crl::time in getms. 2018-09-01 18:56:08 +03:00
John Preston cb371f09ac Clear old versions of Storage::Cache::Database. 2018-09-01 18:56:08 +03:00
John Preston 9147c12687 Add basic implementation of Storage::Cache DB. 2018-09-01 18:56:08 +03:00
John Preston 81731139e9 Add tests for storage encrypted file.
Also fix some bugs found by the tests.
2018-09-01 18:56:08 +03:00
John Preston 8a371b9c1b New storage encrypted file. 2018-09-01 18:56:08 +03:00
John Preston 557d363d02 Refresh file references when downloading files. 2018-08-20 17:26:28 +03:00
John Preston 839885910c Pass FileOrigin in all file downloads. 2018-08-20 17:26:28 +03:00
John Preston b8b5ab6378 Improve native name phrases in passport.
Also auto-save *_name to *_name_latin for english countries.
2018-08-20 17:25:33 +03:00
John Preston 550c159ca8 Update API scheme to layer 83. 2018-08-04 23:11:04 +03:00
John Preston aaa1245430 Add some javascript handlers to HTML export. 2018-07-31 22:56:03 +03:00
John Preston 41977bf515 Fix build for Xcode. 2018-07-31 22:56:02 +03:00
John Preston 81e074115d Fix build for Xcode.
Regression was introduced in a8d35b67aa.
2018-07-11 17:56:09 +03:00
John Preston 66822f7333 Add some HTML design to export, except messages.
NB Testing the layout, the app is not in a working condition.
2018-07-10 12:18:41 +03:00
John Preston e466dc9fc7 Fix default build.
Regression was introduced in a8d35b67aa.
2018-07-10 12:14:53 +03:00
Marco Trevisan a8d35b67aa lib_export: use includes paths as defined per platform (#4935) 2018-07-03 12:56:51 +03:00
John Preston 2522e66969 Move export descriptions to lang. 2018-06-24 15:44:53 +01:00
John Preston 9d66f9cc03 Add basic HTML export. 2018-06-24 15:44:53 +01:00
John Preston 9f8d61ab2f Add information about saved data. 2018-06-23 00:56:53 +01:00
John Preston 844d030332 Save export settings to local storage. 2018-06-23 00:56:53 +01:00
John Preston 1e10529f20 Fix Linux build. Use -flto for static libraries.
Some unbelievable crashes happen in MTP codegen-ed serialization
if the binary is using -flto with MTP in non-flto static library.

To build and link static libraries with -flto additional GYP patch
is required, so that ar/ranlib/nm use gcc- wrappers.
2018-06-23 00:28:44 +01:00
John Preston 23140b3d6a Fix build for old OS X. 2018-06-21 23:35:28 +01:00
John Preston b5a65a4519 Add export to JSON. 2018-06-21 21:42:50 +01:00
John Preston 13e6b91ac7 Remove old done widget in Export. 2018-06-20 17:45:52 +01:00
John Preston e11c27048b Add export statistics for the final screen. 2018-06-20 17:10:38 +01:00
John Preston 329db0d8e9 Export panel minimizes to a top bar, like a Call. 2018-06-20 01:02:36 +01:00
John Preston 5f01751660 Display errors in export UI.
All errors are now fatal errors :(
2018-06-19 13:35:21 +01:00
John Preston 83786ddeaf Export chat messages photos and documents.
Also rename .visit() with .match() in MTP types.
Also add base::match_method() and base::match() for base::variant.
Also add base::match() and .match() for base::optional_variant.
2018-06-14 01:09:48 +03:00
John Preston 0e9793b845 Move MimeType from utils to core/mime_type.
Also move to Core namespace.
2018-06-14 01:08:47 +03:00
John Preston cec8114b99 Add simple files and contacts export.
Also move all API calls in export to Export::ApiWrap.
2018-06-12 01:02:05 +03:00
John Preston 0a1a5ed70e Use abstract export writer for different formats. 2018-06-12 01:02:05 +03:00
John Preston c587c011d2 Start data export in lib_export. 2018-06-12 01:02:04 +03:00
John Preston c63c75018d Update crl submodule. 2018-06-12 01:02:04 +03:00
John Preston 9ebeddbed8 Request, show and require accept for updated ToS. 2018-06-06 21:37:01 +03:00
John Preston dd81f5d59f Replace base::lambda with shorter term.
base::lambda -> Fn (type alias for std::function).
base::lambda_once -> FnMut (type alias for base::unique_function).
base::lambda_guarded -> crl::guard.
base::lambda_call_type_t -> crl::deduced_call_type.
2018-06-04 18:38:27 +03:00
John Preston 18f38f0983 Fix build for Xcode. 2018-06-03 23:16:38 +03:00
John Preston a29e8f9a06 Moved Passport panel code to Ui::SeparatePanel. 2018-06-03 23:16:38 +03:00
John Preston 8969a7d929 Fix passport for Xcode and macOS.
Also use different bundle id for debug builds.
2018-06-03 23:16:36 +03:00
John Preston f1519b76f6 Allow to enter phone and email in the passport. 2018-06-03 23:16:34 +03:00
John Preston 94bfd59b76 Fill all required fields in identity and address. 2018-06-03 23:16:34 +03:00
John Preston 2790919733 Move scans upload to a separate module. 2018-06-03 23:16:34 +03:00
John Preston f0b7ff24b1 Update API scheme. 2018-06-03 23:16:34 +03:00
John Preston 5cfead762d New design of the passport in a separate window. 2018-06-03 23:16:34 +03:00
John Preston a2dabfde56 Separate form controller from view controller. 2018-06-03 23:16:34 +03:00
John Preston f633ead3ab First version of IdentityBox with encrypted data. 2018-06-03 23:16:33 +03:00
John Preston 07e8a2bd85 Initial layout of the passport authorization form. 2018-06-03 23:16:33 +03:00
John Preston ddb4527159 Start passport support: handle link, receive form. 2018-06-03 23:16:33 +03:00
John Preston 3d75d21a3e Fix build in Linux 32bit. 2018-05-24 20:25:04 +03:00
John Preston 017ec87d60 Replace FlatTextarea with InputField. 2018-05-22 13:45:22 +03:00
John Preston 4478c0a143 Resolve domain names for proxy servers.
Also use dc_id-checked auth key creation.

Fixes #4695.
2018-05-18 10:57:11 +03:00
John Preston d2048f3c25 New connecting status design. 2018-05-08 20:31:33 +03:00
John Preston 8e99135f37 Support tg://proxy links. 2018-05-05 21:55:37 +03:00
John Preston 993cb987a6 Improve autoupdate code, move it from Application. 2018-05-05 21:55:37 +03:00
John Preston 93f6d4b6e7 Support many config endpoints for one dc+params. 2018-05-05 21:55:37 +03:00
John Preston 87d6081408 Version 1.2.16: Fix build in Xcode 9.3. 2018-04-07 12:47:08 +04:00
Sven-Hendrik Haase c5e6bfce95 Fix wrong uname flag used
This is required because uname -p actually returns "unknown" for some hardware. The uname help documents this by stating that -p is non-portable. The -m flag is the one to use.
2018-03-14 15:01:26 +03:00
Marco Trevisan 9dc03c4f0f Linux ARM compile fixes (#4399)
This fixes errors when compiling in ARM
2018-03-09 23:48:47 +03:00
John Preston 027db285bc Add Info::Channels section + feed channels search. 2018-02-22 20:38:00 +03:00
John Preston 99c686e3e1 Display feed channels list in feed info. 2018-02-08 12:20:55 +03:00
John Preston 11671e85da Add scroll-to-down button to Feed. 2018-02-08 12:20:54 +03:00
John Preston 722264f634 Add /Qspectre Visual C++ compiler option. 2018-02-08 12:20:52 +03:00
John Preston 63c1212ef1 Allow multiple items selection in HistoryView. 2018-02-08 12:20:52 +03:00
John Preston fe1a90bd39 Move message context menu to a separate module. 2018-02-08 12:20:52 +03:00
John Preston a47981054f Feed info profile placeholder. 2018-02-08 12:20:51 +03:00
John Preston 861ab85ca1 Fix voice/video messages in chats/feed. 2018-02-08 12:20:50 +03:00
John Preston 8a56ede187 Move all (item/view/media) maps to Data::Session. 2018-02-08 12:20:49 +03:00
John Preston 7425e80f05 Use HistoryMedia as view, add Data::Media. 2018-02-08 12:20:48 +03:00
John Preston 97a9089ebf Move draw / getState code to HistoryView::Message.
Item dimensions broken for now.
Also remove history.h from pch.
2018-02-08 12:20:48 +03:00
John Preston bee474f6e9 Remove history_item and layout from pch.
Also move some code to separate modules.
Also create history item views by Window::Controller.
2018-02-08 12:20:47 +03:00
John Preston 8060cb7426 Start HistoryView::Message class for item view. 2018-02-08 12:20:47 +03:00
John Preston 794e31505b First version of feed section view. 2018-02-08 12:20:46 +03:00
John Preston 782e70b171 Support basic feed display in chats list. 2018-02-08 12:20:46 +03:00
John Preston 9d2239291d Add support for pinned feeds management. 2018-02-08 12:20:46 +03:00
John Preston 6a9556d42c Move non-settings session data to Data::Session.
Rename AuthSessionData to AuthSessionSettings, move data away.
2018-02-08 12:20:46 +03:00
John Preston 724fe65d72 Start feeds support. 2018-02-08 12:20:45 +03:00
John Preston ea7441ae77 Use single LEGAL file with license and copyright. 2018-01-03 13:23:14 +03:00
John Preston 6796ac688a Apply web page media updates. 2017-12-31 12:55:08 +03:00
John Preston af552fb4c0 Replace base/task_queue with crl. 2017-12-31 00:28:38 +03:00
John Preston 6236590ca4 Fix SendFilesWay radiobuttons when adding media.
Also add /LTCG flag for static libraries Release builds on Windows.
2017-12-30 00:06:43 +03:00
John Preston 2df4d19474 Move changelogs from ApiWrap to a separate module. 2017-12-29 21:17:07 +03:00
John Preston 5b4694a4eb Move text options constant to a separate module.
Also start MediaView group thumbs code.
2017-12-28 16:06:06 +03:00
John Preston 0380e66c30 Alpha version 1.2.4: Fix build for old OS X versions. 2017-12-26 19:53:51 +03:00
John Preston 44014e62ba Move EditCaptionBox to a separate module. 2017-12-26 19:20:06 +03:00
John Preston 3b3a705a67 First working code for sending albums. 2017-12-26 19:20:06 +03:00
John Preston 92333e982c Move message components to history_item_components.
Also fix channel signatures rendering.
2017-12-18 19:52:36 +04:00
John Preston b8204a317d Testing crl (concurrency runtime library). 2017-12-17 23:05:00 +04:00
John Preston 656e4869e6 Move UnreadBadge to ui/unread_badge. 2017-12-17 15:04:47 +04:00
John Preston 4c9931ab02 Support grouped media rendering. 2017-12-16 20:50:42 +04:00
John Preston 251176df47 Move relaunch / update logic to Core::Launcher.
Also pass "-workdir" argument through relaunch / update.

Fixes #4149.
2017-12-12 18:56:36 +04:00
John Preston 97c15865a5 Move some code around.
Move logs:SignalHandlers to core/crash_reports:CrashReports.
Move all pre-launch windows to core/crash_report_window module.
Move some global code to core/launcher:Launcher.
It should replace settings / platform_specific module in some way.
2017-12-12 16:47:32 +04:00
John Preston 9d4558de2b Fix build in Visual Studio 15.5.1.
Looks like compiler had some regressions when updating from 15.4.5.

Range-V3-VS2015 also needs to cherry-pick this commit:
https://github.com/ericniebler/range-v3/commit/9f990c48d0
See https://github.com/Microsoft/Range-V3-VS2015/issues/26
2017-12-12 12:25:54 +04:00
John Preston 9bbcbd4bb3 Remove all legacy media overview code. 2017-12-08 22:34:26 +04:00
John Preston 5bc47e5203 Move shareContact and readServerHistory to ApiWrap.
Also allow non-confirming contact info sharing to Saved Messages.
2017-12-07 17:43:05 +04:00
John Preston 5eeb8143b6 Move EmptyUserpic from data_peer to empty_userpic. 2017-12-05 12:44:27 +04:00
John Preston 62568daffe Refactor NotifySettings in PeerData. 2017-12-04 21:48:45 +04:00
John Preston 301aa9572f Apply channel admin edition changes. 2017-12-02 15:07:27 +04:00
John Preston 2432845df2 Optimize and rename base::weak_unique_ptr.
Rename base::enable_weak_from_this -> base::has_weak_ptr.
Rename base::weak_unique_ptr -> base::weak_ptr.
Rename base::make_weak_unique -> base::make_weak.
Rename base/weak_unique_ptr.h -> base/weak_ptr.h
2017-11-30 21:33:27 +04:00
John Preston 6994201d50 Fix travis and appveyor builds. 2017-11-29 22:33:16 +04:00
John Preston d014b47958 Move Info::TopBarOverride to Info::TopBar.
This allows to improve animations in shared media items selection.
2017-11-27 15:43:57 +04:00
John Preston 837dac50fa Fix build for the original range-v3. 2017-11-26 18:20:22 +04:00
John Preston 0ced28f991 Nice animations when selecting shared media items. 2017-11-24 19:47:09 +04:00
John Preston da71938d18 Link libstdc++ statically in Updater.
This will allow running it on Ubuntu 12.04 when it was built on 14.04.
2017-11-23 09:29:58 +04:00
John Preston b337d54623 Use custom base::overload() helper. 2017-11-21 18:27:48 +04:00
John Preston d93c1ccbaa Improve compile time. 2017-11-21 14:20:52 +04:00
John Preston 6ca105a290 Minimal layer 72 support. 2017-11-20 23:54:05 +04:00
John Preston ac99318f34 Use ranges:: algorithms instead of base:: 2017-11-20 16:24:00 +04:00
John Preston 68bc8d0231 Add range-v3 library. 2017-11-19 18:37:07 +04:00
John Preston bef87c6dff Allow showing chat members in a special section. 2017-11-17 17:23:36 +04:00
John Preston 7fdeab829f Paint native title instead of using custom. 2017-11-16 07:59:12 +04:00
John Preston 8dfccf55d1 Add shared media empty placeholders. 2017-11-16 07:59:12 +04:00
John Preston 3deea14559 Remove old shared media overview section.
Also move window/top_bar_widget to history/history_top_bar_widget.
2017-11-16 07:59:11 +04:00
John Preston bca9b3ca3f Extract a reusable Ui::ResizeArea class. 2017-11-16 07:59:11 +04:00
John Preston 5c12b0e5fa Use /permissive- flag for Visual Studio builds. 2017-11-16 07:59:10 +04:00
John Preston 8ff0120642 Add EditPeerInfoBox without saving. 2017-11-16 07:59:10 +04:00
John Preston 3998fad7ef Add manage supergroup / channel box. 2017-11-16 07:59:10 +04:00
John Preston fcf2b9d1a7 Add some more actions to info profile. 2017-11-16 07:59:10 +04:00
John Preston 8191ebfc49 Improve peer context menu for info. 2017-11-16 07:59:09 +04:00
John Preston 47a52b0587 Moved several modules from history/ to data/. 2017-11-16 07:59:09 +04:00
John Preston a6361d6221 Move common_groups info module. 2017-11-16 07:59:08 +04:00
John Preston 86ad15612a Use Info::Controller for the whole info section. 2017-11-16 07:59:08 +04:00
John Preston c9152b0b3a Cache media search results until empty query. 2017-11-16 07:59:08 +04:00
John Preston eb2719fad1 Added search to files and links shared media. 2017-11-16 07:59:08 +04:00
John Preston a27edcad1c Extract SparseIdsList module from SharedMedia.
This way it can be reused in search results management.
2017-11-16 07:59:08 +04:00
John Preston 101d4f6444 Use std::function for base::lambda implementation.
base::lambda becomes just std::function and base::lambda_once becomes
base::unique_function - a move-only wrapper around std::function.

This is required because Visual C++ 2017 15.4.1 has a compiler bug
with static member variables of class templates, they may collide.

The std::function uses inheritance and virtual functions instead of
custom vtables done by static members of class templates used in
custom base::lambda implementation, so they work fine.
2017-11-16 07:59:08 +04:00
John Preston b51f865c54 Save info members list state to memento. 2017-11-16 07:59:08 +04:00
John Preston 856ca22aad Display online count in the info profile section. 2017-11-16 07:59:07 +04:00
John Preston be5f4c9a71 Allow delete / forward selected in shared media.
Also use PeerListBox with a chats list with global search controller
instead of HistoryHider for forward / share contact.
2017-11-16 07:59:07 +04:00
John Preston 7b69282c7e Add rpl::merge(). 2017-11-16 07:59:07 +04:00
John Preston 66146c382d Improve paths for Xcode build. 2017-11-16 07:59:07 +04:00
John Preston 7905694b31 Add tabs and other types links to Info::Media. 2017-11-16 07:59:06 +04:00
John Preston c4d33f9986 Add rpl::take(count). 2017-11-16 07:59:06 +04:00
John Preston 0c4bda71fd Remove some unused / rare phrases. 2017-11-16 07:59:05 +04:00
John Preston d1687ab963 Improve info wrapping in section / layer.
Also move layerwidget to window/layer_widget.
Also replace ui/effects/widget_fade_wrap with ui/wrap/fade_wrap.
2017-11-16 07:59:05 +04:00
John Preston 21b1ba1f88 Move build to Ubuntu 14.04 and GCC 7.2.
To be able to run on the same distributions as before we need to have
the same GLIBC version dependency as in Ubuntu 12.04, which is 2.15.

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

It is a separate library because it must be compiled without '-flto' flag,
otherwise the inline __asm__ is not working and we get unresolved symbols.
2017-11-16 07:59:05 +04:00
John Preston cdda7f8f9a Allow not type-erased producers. 2017-11-16 07:59:05 +04:00
John Preston ed061252a5 Move to Xcode 9.0 and fix errors in Clang build. 2017-11-16 07:59:05 +04:00
John Preston 292e57ffc7 Use PeerListBox content in info profile. 2017-11-16 07:59:04 +04:00
John Preston 1a0e524b49 Optimize third column (create it only once).
Before historyPeer and historyPeerCanWrite were independent, so we
created a new Info section for both of them changing.

Now we use Data::CanWriteValue(peer) and rpl::flatten_latest().
2017-11-16 07:59:04 +04:00
John Preston ffc20e4492 Divide structs into several data/ modules. 2017-11-16 07:59:04 +04:00
John Preston f2a5862714 Add members list to info profile. 2017-11-16 07:59:04 +04:00
John Preston faeb1483f2 Divide info_profile_lines in different modules. 2017-11-16 07:59:04 +04:00
John Preston a4c2138e74 Finalize move of info-profile modules. 2017-11-16 07:59:04 +04:00
John Preston b9fb9af74f Info shared media and common groups counters. 2017-11-16 07:59:04 +04:00
John Preston 3db696d52f Add rpl::combine_previous() operator. 2017-11-16 07:59:04 +04:00
John Preston 5c4daeee4c Add rpl::variable, improve filter / combine. 2017-11-16 07:59:03 +04:00
John Preston ee9763c98f Improve rpl::combine() and rpl::start(). 2017-11-16 07:59:03 +04:00
John Preston 088d23d557 Start new Info section (profile + shared media). 2017-11-16 07:59:02 +04:00
John Preston fbcd5e2f1e Try to use const-ref better in rpl. 2017-11-16 07:59:02 +04:00
John Preston c302219f9e Use rpl in some widgets and effects. 2017-11-16 07:59:02 +04:00
John Preston 487ddb5694 Add some rpl operators. 2017-11-16 07:59:02 +04:00
John Preston 2690618da2 Add Storage::UserPhotos and UserPhotosSlice. 2017-11-16 07:59:02 +04:00
John Preston 449986456e Add SharedMediaSliceMerged for migrated histories. 2017-11-16 07:59:02 +04:00
John Preston 2363a6bd44 Add SharedMediaSlice to observe shared media.
Start testing / using it in MediaView.
2017-11-16 07:59:02 +04:00
John Preston 41ed2d1b84 New storage for shared media messages index. 2017-11-16 07:59:02 +04:00
John Preston b873fee1cf Use rvalue references in rpl next / error. 2017-11-16 07:59:01 +04:00
John Preston 101fdb1fba Add event_stream for events with many consumers. 2017-11-16 07:59:01 +04:00
John Preston ebe4bbbf0f Add core rpl::producer/consumer implementation. 2017-11-16 07:59:01 +04:00
John Preston d46a5f693f Remove unused lang phrases and some code. 2017-09-28 19:18:27 +03:00
eegorov 8bfe407610 New build option: without GTK and appindicator
Signed-off-by: Egor Y. Egorov <egor.y.egorov@gmail.com> (github: eegorov)
2017-09-28 18:32:51 +03:00
Jan Niklas Hasse e42cc02d0e Prefer AppIndicator if DBus interface is available
Starting with Ubuntu 17.10 the interface will be provided by an
extension (shipped by default):

https://github.com/ubuntu/gnome-shell-extension-appindicator

Legacy tray icons have been completely removed in GNOME 3.26. By
checking the interface, this will allow users of other distributions
with GNOME to also use Telegram's indicator with the extension.

Signed-off-by: Jan Niklas Hasse <jhasse@bixense.com> (github: jhasse)
2017-09-28 12:59:46 +03:00
John Preston 7ae1ef0a1a Migrate to VS2017. 2017-09-06 17:11:06 +03:00
John Preston 13aa42c883 Use GYP rule for Qt MOC only on Telegram project. 2017-09-06 12:12:04 +03:00
John Preston c76389e126 Allow to use base::lambda independently. 2017-09-03 15:45:49 +03:00
John Preston df64c972d8 Replace QFlags with base::flags. 2017-09-03 15:45:47 +03:00
John Preston a1344e862a Add base/flags for bit flags on scoped enums. 2017-09-03 15:45:46 +03:00
John Preston 5faca8d4f6 Add Catch unittest framework and some tests. 2017-09-03 15:45:45 +03:00
John Preston 25ffaaaa2d Replace t_assert() with Assert().
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03:00
John Preston a72453fb1b Remove ContactsBox and contacts_box module. 2017-08-30 19:15:30 +03:00
John Preston f7359093b4 Replace ContactsBox with PeerListBox in two cases.
- View contacts list in PeerListBox.
- Add participants when creating group / channel in PeerListBox.
2017-08-30 19:15:27 +03:00
John Preston bca444b92e Add base::optional as a wrapper of base::variant. 2017-08-30 19:15:21 +03:00
John Preston ae1dacb7d7 Add base/algorithm for range-based algorithms. 2017-08-30 19:15:21 +03:00
John Preston e209737b1a Display and follow unread mentions in history. 2017-08-30 19:15:13 +03:00
John Preston c8810f87b9 Move a lot of code from scheme.h to scheme.cpp. 2017-08-25 14:39:32 +03:00
Nicholas Guriev 24fc162e71 Mute settings box
Closes: #3153
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-08-04 18:16:54 +02:00
John Preston 6f746c238a Search for messages from a specific user in group. 2017-08-01 21:38:01 +03:00
John Preston 8c60ac78aa Rename and split dialogswidget module.
Also remove some debug information for crash fix.
2017-08-01 21:15:03 +03:00
John Preston 9bf40c927e Improve emoji suggestions and replace on send.
Bring recent emoji up in suggestions.
Apply saved skin color to emoji suggestions.
Write to recents when choosing emoji suggestion.
2017-07-26 15:55:04 +03:00
John Preston df2aeb0c58 Provide emoji suggestions as a service. 2017-07-26 15:55:03 +03:00
John Preston 8f8100af3a Add emoji autocomplete data and algorithm. 2017-07-26 15:55:01 +03:00
John Preston 9e73e22e13 Add channel members in ParticipantsBoxController.
Also remove MembersBox, it was replaced completely.
2017-07-14 09:46:57 +03:00
Viktor Oreshkin 94e43f8f8a Fix openssl ldflags on macOS
If ld finds ssl/crypto dylibs it prefers them to static archived objects
And because of that produced .app links dynamically to openssl, so it
won't launch unless users install openssl.
There are two solutions: either uninstall openssl completely from build
machine on each build, or use paths to .a files.
Obviously latter is preferred.

Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2017-07-12 14:06:40 +03:00
John Preston 0ae661edf0 Add channel / supergroup admin event log filter. 2017-07-04 16:31:18 +03:00
John Preston 4993ff1921 Finalize rename / move. 2017-06-30 09:21:45 +03:00
John Preston cedf8a65e7 Better channel log entry layout inside messages.
Also move HistoryService class to a separate module.
2017-06-30 09:21:42 +03:00
John Preston fee8690ca6 Channel action log items display and layout. 2017-06-30 09:21:41 +03:00
John Preston 25a718c54b Start recent channel actions log section. 2017-06-30 09:21:41 +03:00
John Preston 9e8e49b8d9 Add other search to admin/ban/restrict in channel.
Search in chats / contacts / global in AddParticipantBoxController.
Also move all channel participants box controllers to another module.
2017-06-29 11:40:21 +03:00
John Preston 513a9f8d45 Add rich supergroup/channel admin support. 2017-06-29 11:40:10 +03:00
John Preston 8ae159dd66 Add special dc options config request. 2017-06-29 11:40:07 +03:00
John Preston 85e6f55536 Support new plural keys format.
All the old plural phrases were changed to work with the new format.
2017-06-29 11:39:56 +03:00
John Preston f5353080e7 Use Qt UI language if system was not determined.
Also rename platform/mac/specific_mac.cpp to .mm
2017-06-29 11:39:47 +03:00
John Preston f5dfeb0c50 Support cloud languages list and switching.
Add Lang::Current().updated() observable for retranslating the UI.
2017-06-29 11:39:43 +03:00
John Preston 139d4e72b5 Start cloud langpack support.
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston 2334ba1fe1 Use QString + Lang::Tag() instead of Lang::String. 2017-06-29 11:39:40 +03:00
John Preston 110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
Zankio 60c84bbf51 Add hime inputcontext plugin for linux version
(#3129)

Signed-off-by: Zankio <xxoojoeooxx1@gmail.com>
(github: zankio)
2017-06-29 10:49:31 +03:00
Eduardo Sánchez Muñoz 2eff766e88 Always use UTF-8 to open files in list_sources.py.
This avoids problems with some locale settings.

Signed-off-by: Eduardo Sánchez Muñoz <eduardosanchezmunoz@gmail.com> (github: eduardosm)
2017-06-28 19:19:44 +03:00
John Preston b7550f63c9 Add a floating player for round video messages. 2017-05-24 16:25:15 +03:00
John Preston b86da76613 Move project files tdesktop to tdesktop/Telegram.
After adding the libtgvoip submodule its project was created by GYP
outside the project folder, because the relative path to libtgvoip.gyp
is "../ThirdParty/libtgvoip/" and projects are created in the same
relative folders.

Now we place MSVC and Xcode projects in tdesktop/Telegram, so the
libtgvoip project is created at tdesktop/ThirdParty/libtgvoip.
2017-05-18 12:04:39 +03:00
John Preston c438692d49 Fix Travis build. 2017-05-10 15:05:19 +03:00
John Preston 771bba4e01 Closed beta 1000035002: Sounds in separate qrc. 2017-05-09 23:46:36 +03:00
John Preston 6f89d01452 Add new Media::Audio::Instance for audio tracks.
Move some audio-related code from Media::Player to Media::Audio.
2017-05-09 23:46:29 +03:00
John Preston 11525a1e50 Add RateCallBox for calls feedback collection. 2017-05-09 23:46:28 +03:00
John Preston 06b081f509 Add calls log box.
PeerListBox can have many rows with the same PeerData.
PeerListBox::Row can have arbitrary action on the right side.
2017-05-09 23:46:18 +03:00
John Preston f6eb2c5205 Add call top bar above the media player. 2017-05-09 23:46:18 +03:00
John Preston 60ac7572af Display name, status and emoji in Call Panel. 2017-05-09 23:46:17 +03:00
John Preston 4925af69e2 Add Calls::Panel and handle incoming calls. 2017-05-09 23:46:15 +03:00
John Preston 0a716036c2 Extract Calls::Call. Add a call button to TopBar. 2017-05-09 23:46:14 +03:00
John Preston d18164bc51 Add Calls::Instance. Add libtgvoip as a dependency.
Also move all submodules to Telegram/ThirdParty.
2017-05-09 23:46:08 +03:00
John Preston aedf85c965 Update opus library to v1.2-alpha2 version. 2017-05-08 16:26:06 +03:00
John Preston 475f0e9544 Fix build for the new GYP version, fix Appveyor. 2017-05-05 12:25:06 +03:00
John Preston 5ed698ac69 Link correct OS X 10.6-10.7 libraries. 2017-04-30 19:56:13 +03:00
John Preston 7dd24a30b5 Replace MetaLang with codegen_lang. 2017-04-12 22:18:42 +03:00
John Preston 647ea44881 Extract TabbedSelector from TabbedPanel.
Now we can use TabbedSelector separately, not only inside the panel.
2017-04-10 12:08:55 +03:00
John Preston 26b05cf844 Finalize rename / move.
Also removed non-existent emoji_section module from GYP.
2017-04-08 17:05:19 +03:00
John Preston 330fc35800 Move some classes to separate modules.
MessageField, BotKeyboard, HistoryInner from historywidget.
2017-04-08 16:31:58 +03:00
John Preston 570cd9bdfa Move GIF pausing methods to Window::Controller. 2017-04-08 16:31:57 +03:00
John Preston 34ab04cbe6 Add lambda-based checked timers.
Also ApiWrap is now not a QObject.
2017-04-07 18:13:21 +03:00
John Preston 5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +03:00
John Preston 6746d4ba2d Build crashpad from git. Crashpad path has changed. 2017-04-06 11:06:29 +03:00
John Preston 6003ac2132 Add base::weak_unique_ptr<T> template class.
Sometimes you don't need shared ownership (shared_ptr), but you
still need to be able to have weak pointers to an object.

Now you can derive the object from base::enable_weak_from_this
and use base::weak_unique_ptr<T> after that.
2017-04-03 14:08:36 +03:00
John Preston f1718f1d10 Generate emoji config by a build action.
Also hopefully optimize the build speed for emoji config.
2017-04-01 17:08:42 +03:00
John Preston a1b53f07d5 Fix build for Xcode and GCC. 2017-04-01 16:14:56 +03:00
John Preston 6d27172b20 Move [Emoji|Sticker]PanInner to separate modules.
Now we have three separate [Emoji|Stickers|Gifs]ListWidget.
2017-03-31 15:48:03 +03:00
John Preston bed3aa1a7f Finalize rename / move of files.
Also rename EmojiPan to EmojiPanel.
2017-03-31 15:48:02 +03:00
John Preston 1540f6f528 Use emoji/stickers/gifs slider in EmojiPan.
Also rename EmojiTabs to EmojiSections.
2017-03-31 15:48:01 +03:00
John Preston 3d846fcd49 Show inline bot results in a separate widget.
Add a InlineBots::Layout::Widget for inline bot results.
GIF search from EmojiPan is disabled for now.
2017-03-31 15:48:00 +03:00
John Preston 8d4be19952 Use separate TopBar for History and Overview.
Move TopBar widget to History and Overview from MainWidget.
2017-03-31 15:47:58 +03:00
John Preston f0ab72ffbc Fix AutoConnection::debugState() for TCP connections. Fix #3171
Also silent new Xcode version warning.
2017-03-30 18:20:51 +03:00
John Preston e9ec09b91a Add MTP::Sender to replace RPCSender some day.
Also use c++1z language standard in Xcode build.
Also treat warnings as errors.
2017-03-23 14:37:38 +03:00
John Preston bd121752f1 Change your account phone number in Settings. 2017-03-21 20:13:34 +03:00