af552fb4c0 
								
							 
						 
						
							
							
								
								Replace base/task_queue with crl.  
							
							
							
						 
						
							2017-12-31 00:28:38 +03:00  
				
					
						
							
							
								 
						
							
								14034c255e 
								
							 
						 
						
							
							
								
								Replace QSharedPointer with std::shared_ptr.  
							
							
							
						 
						
							2017-12-18 13:07:18 +04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								007ab3b7b8 
								
							 
						 
						
							
							
								
								Fix crash in RSA public key wrapper.  
							
							
							
						 
						
							2017-12-07 09:34:11 +04:00  
				
					
						
							
							
								 
						
							
								93809ec404 
								
							 
						 
						
							
							
								
								Fix build against OpenSSL 1.1  
							
							... 
							
							
							
							Closes : #3196  
						
							2017-12-07 09:15:10 +04:00  
				
					
						
							
							
								 
						
							
								85b3d3f64d 
								
							 
						 
						
							
							
								
								Display admin badges in supergroups.  
							
							... 
							
							
							
							Also prefer std containers to Qt and OrderedSet in data_peer. 
							
						 
						
							2017-12-01 22:38:44 +04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								67d4eb688a 
								
							 
						 
						
							
							
								
								Reverse user and chat profile photos.  
							
							
							
						 
						
							2017-11-23 13:58:12 +04:00  
				
					
						
							
							
								 
						
							
								b337d54623 
								
							 
						 
						
							
							
								
								Use custom base::overload() helper.  
							
							
							
						 
						
							2017-11-21 18:27:48 +04:00  
				
					
						
							
							
								 
						
							
								44e94bfbf5 
								
							 
						 
						
							
							
								
								Add workaround for macOS leaveEvent() bugs.  
							
							... 
							
							
							
							On macOS sometimes when mouse leaves the window we don't receive leaveEvent()
calls in the nested widgets, like buttons, only for the window itself. 
							
						 
						
							2017-11-21 18:27:48 +04:00  
				
					
						
							
							
								 
						
							
								d93c1ccbaa 
								
							 
						 
						
							
							
								
								Improve compile time.  
							
							
							
						 
						
							2017-11-21 14:20:52 +04:00  
				
					
						
							
							
								 
						
							
								ac99318f34 
								
							 
						 
						
							
							
								
								Use ranges:: algorithms instead of base::  
							
							
							
						 
						
							2017-11-20 16:24:00 +04:00  
				
					
						
							
							
								 
						
							
								8ff0120642 
								
							 
						 
						
							
							
								
								Add EditPeerInfoBox without saving.  
							
							
							
						 
						
							2017-11-16 07:59:10 +04:00  
				
					
						
							
							
								 
						
							
								86ad15612a 
								
							 
						 
						
							
							
								
								Use Info::Controller for the whole info section.  
							
							
							
						 
						
							2017-11-16 07:59:08 +04:00  
				
					
						
							
							
								 
						
							
								c9152b0b3a 
								
							 
						 
						
							
							
								
								Cache media search results until empty query.  
							
							
							
						 
						
							2017-11-16 07:59:08 +04:00  
				
					
						
							
							
								 
						
							
								eb2719fad1 
								
							 
						 
						
							
							
								
								Added search to files and links shared media.  
							
							
							
						 
						
							2017-11-16 07:59:08 +04:00  
				
					
						
							
							
								 
						
							
								a27edcad1c 
								
							 
						 
						
							
							
								
								Extract SparseIdsList module from SharedMedia.  
							
							... 
							
							
							
							This way it can be reused in search results management. 
							
						 
						
							2017-11-16 07:59:08 +04:00  
				
					
						
							
							
								 
						
							
								f6ed3dff7f 
								
							 
						 
						
							
							
								
								Rewrite base::lambda_guard, use only one pointer.  
							
							... 
							
							
							
							Support base::enable_weak_from_this for guarding, not only QObject,
in base::lambda_guard, in App::CallDelayed and in App::LambdaDelayed.
Allow only one guarding pointer, no places in code use more than one. 
							
						 
						
							2017-11-16 07:59:08 +04:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								b51f865c54 
								
							 
						 
						
							
							
								
								Save info members list state to memento.  
							
							
							
						 
						
							2017-11-16 07:59:08 +04:00  
				
					
						
							
							
								 
						
							
								5b190c5098 
								
							 
						 
						
							
							
								
								Preserve TopBarOverride in Info WrapWidget.  
							
							... 
							
							
							
							Also support better selection in info shared media.
Also fix build for Xcode. 
							
						 
						
							2017-11-16 07:59:07 +04:00  
				
					
						
							
							
								 
						
							
								54cc3e6315 
								
							 
						 
						
							
							
								
								Shared media multiple items selection.  
							
							
							
						 
						
							2017-11-16 07:59:07 +04:00  
				
					
						
							
							
								 
						
							
								fdd89d65ca 
								
							 
						 
						
							
							
								
								Allow using custom comparators in flat_[map|set].  
							
							
							
						 
						
							2017-11-16 07:59:06 +04:00  
				
					
						
							
							
								 
						
							
								ea0f6b9a12 
								
							 
						 
						
							
							
								
								Use 'if constexpr ()' instead of tag dispatch.  
							
							
							
						 
						
							2017-11-16 07:59:05 +04:00  
				
					
						
							
							
								 
						
							
								80d9938e96 
								
							 
						 
						
							
							
								
								Support and use not type-erased consumers.  
							
							
							
						 
						
							2017-11-16 07:59:05 +04:00  
				
					
						
							
							
								 
						
							
								fddcdf359b 
								
							 
						 
						
							
							
								
								Use not type-erased producers in code.  
							
							
							
						 
						
							2017-11-16 07:59:05 +04:00  
				
					
						
							
							
								 
						
							
								ffc20e4492 
								
							 
						 
						
							
							
								
								Divide structs into several data/ modules.  
							
							
							
						 
						
							2017-11-16 07:59:04 +04:00  
				
					
						
							
							
								 
						
							
								088d23d557 
								
							 
						 
						
							
							
								
								Start new Info section (profile + shared media).  
							
							
							
						 
						
							2017-11-16 07:59:02 +04:00  
				
					
						
							
							
								 
						
							
								fbcd5e2f1e 
								
							 
						 
						
							
							
								
								Try to use const-ref better in rpl.  
							
							
							
						 
						
							2017-11-16 07:59:02 +04:00  
				
					
						
							
							
								 
						
							
								c302219f9e 
								
							 
						 
						
							
							
								
								Use rpl in some widgets and effects.  
							
							
							
						 
						
							2017-11-16 07:59:02 +04:00  
				
					
						
							
							
								 
						
							
								2363a6bd44 
								
							 
						 
						
							
							
								
								Add SharedMediaSlice to observe shared media.  
							
							... 
							
							
							
							Start testing / using it in MediaView. 
							
						 
						
							2017-11-16 07:59:02 +04:00  
				
					
						
							
							
								 
						
							
								41ed2d1b84 
								
							 
						 
						
							
							
								
								New storage for shared media messages index.  
							
							
							
						 
						
							2017-11-16 07:59:02 +04:00  
				
					
						
							
							
								 
						
							
								b873fee1cf 
								
							 
						 
						
							
							
								
								Use rvalue references in rpl next / error.  
							
							
							
						 
						
							2017-11-16 07:59:01 +04:00  
				
					
						
							
							
								 
						
							
								e70052e966 
								
							 
						 
						
							
							
								
								Add piping and on_next, on_error, on_done, start.  
							
							
							
						 
						
							2017-11-16 07:59:01 +04:00  
				
					
						
							
							
								 
						
							
								101fdb1fba 
								
							 
						 
						
							
							
								
								Add event_stream for events with many consumers.  
							
							
							
						 
						
							2017-11-16 07:59:01 +04:00  
				
					
						
							
							
								 
						
							
								ebe4bbbf0f 
								
							 
						 
						
							
							
								
								Add core rpl::producer/consumer implementation.  
							
							
							
						 
						
							2017-11-16 07:59:01 +04:00  
				
					
						
							
							
								 
						
							
								08e3a54a58 
								
							 
						 
						
							
							
								
								Mark missing ctors deleted  
							
							... 
							
							
							
							- Satisfy the rule of five
Signed-off-by: Veli-Matti Visuri <veli-matti.visuri@cerescon.fi> (github: visuve) 
							
						 
						
							2017-09-28 18:23:42 +03:00  
				
					
						
							
							
								 
						
							
								7ae1ef0a1a 
								
							 
						 
						
							
							
								
								Migrate to VS2017.  
							
							
							
						 
						
							2017-09-06 17:11:06 +03:00  
				
					
						
							
							
								 
						
							
								c76389e126 
								
							 
						 
						
							
							
								
								Allow to use base::lambda independently.  
							
							
							
						 
						
							2017-09-03 15:45:49 +03:00  
				
					
						
							
							
								 
						
							
								df64c972d8 
								
							 
						 
						
							
							
								
								Replace QFlags with base::flags.  
							
							
							
						 
						
							2017-09-03 15:45:47 +03:00  
				
					
						
							
							
								 
						
							
								a1344e862a 
								
							 
						 
						
							
							
								
								Add base/flags for bit flags on scoped enums.  
							
							
							
						 
						
							2017-09-03 15:45:46 +03:00  
				
					
						
							
							
								 
						
							
								5faca8d4f6 
								
							 
						 
						
							
							
								
								Add Catch unittest framework and some tests.  
							
							
							
						 
						
							2017-09-03 15:45:45 +03:00  
				
					
						
							
							
								 
						
							
								643bedd4cf 
								
							 
						 
						
							
							
								
								Display faved stickers before recently used.  
							
							
							
						 
						
							2017-08-30 19:15:48 +03:00  
				
					
						
							
							
								 
						
							
								25ffaaaa2d 
								
							 
						 
						
							
							
								
								Replace t_assert() with Assert().  
							
							... 
							
							
							
							Also use this assertions for Expects(), Ensures() and Unexpected(). 
							
						 
						
							2017-08-30 19:15:42 +03:00  
				
					
						
							
							
								 
						
							
								782114d644 
								
							 
						 
						
							
							
								
								Add and use base::make_weak_unique() helper.  
							
							
							
						 
						
							2017-08-30 19:15:28 +03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								95af8da66a 
								
							 
						 
						
							
							
								
								Call correct destructor in base::Observable.  
							
							... 
							
							
							
							base::Subscription::Node doesn't have a virtual destructor. 
							
						 
						
							2017-08-30 19:15:23 +03:00  
				
					
						
							
							
								 
						
							
								bca444b92e 
								
							 
						 
						
							
							
								
								Add base::optional as a wrapper of base::variant.  
							
							
							
						 
						
							2017-08-30 19:15:21 +03:00  
				
					
						
							
							
								 
						
							
								ae1dacb7d7 
								
							 
						 
						
							
							
								
								Add base/algorithm for range-based algorithms.  
							
							
							
						 
						
							2017-08-30 19:15:21 +03:00  
				
					
						
							
							
								 
						
							
								e209737b1a 
								
							 
						 
						
							
							
								
								Display and follow unread mentions in history.  
							
							
							
						 
						
							2017-08-30 19:15:13 +03:00  
				
					
						
							
							
								 
						
							
								1207ddb2ea 
								
							 
						 
						
							
							
								
								Add flat_map and flat_set using std::deque.  
							
							
							
						 
						
							2017-08-25 14:39:31 +03:00  
				
					
						
							
							
								 
						
							
								7f5a91d2bb 
								
							 
						 
						
							
							
								
								Allow to hide empty megagroup sticker set.  
							
							
							
						 
						
							2017-08-25 14:39:24 +03:00  
				
					
						
							
							
								 
						
							
								a143505fd6 
								
							 
						 
						
							
							
								
								Remove lambda_slot() and lambda_slot_once().  
							
							
							
						 
						
							2017-08-25 14:39:15 +03:00  
				
					
						
							
							
								 
						
							
								9bd89121e8 
								
							 
						 
						
							
							
								
								Replace self-destruct media service messages text.  
							
							... 
							
							
							
							Also support runtime components with align up to std::max_align_t. 
							
						 
						
							2017-07-23 12:34:42 +03:00  
				
					
						
							
							
								 
						
							
								5d0e89db5d 
								
							 
						 
						
							
							
								
								Switch to the server side changelogs.  
							
							
							
						 
						
							2017-06-29 11:40:00 +03:00  
				
					
						
							
							
								 
						
							
								b94099e25b 
								
							 
						 
						
							
							
								
								Realtime UI translation in all fields and buttons.  
							
							
							
						 
						
							2017-06-29 11:39:51 +03:00  
				
					
						
							
							
								 
						
							
								f5dfeb0c50 
								
							 
						 
						
							
							
								
								Support cloud languages list and switching.  
							
							... 
							
							
							
							Add Lang::Current().updated() observable for retranslating the UI. 
							
						 
						
							2017-06-29 11:39:43 +03:00  
				
					
						
							
							
								 
						
							
								0557eeddbd 
								
							 
						 
						
							
							
								
								Switch base::TaskQueue to Qt sync primitives.  
							
							... 
							
							
							
							std::mutex in the current build environment is not supported
by Windows XP, I guess because Ninja uses v140 platform toolset. 
							
						 
						
							2017-05-11 17:21:43 +03:00  
				
					
						
							
							
								 
						
							
								530a385d4e 
								
							 
						 
						
							
							
								
								Add sound override support by codes in Settings.  
							
							
							
						 
						
							2017-05-09 23:46:40 +03:00  
				
					
						
							
							
								 
						
							
								622fbdb64b 
								
							 
						 
						
							
							
								
								Fix BN_div/mod_word() usage.  
							
							
							
						 
						
							2017-05-09 23:46:37 +03:00  
				
					
						
							
							
								 
						
							
								299dc3fc96 
								
							 
						 
						
							
							
								
								Reuse call panel if current call is in Busy state.  
							
							
							
						 
						
							2017-05-09 23:46:33 +03:00  
				
					
						
							
							
								 
						
							
								f6eb2c5205 
								
							 
						 
						
							
							
								
								Add call top bar above the media player.  
							
							
							
						 
						
							2017-05-09 23:46:18 +03:00  
				
					
						
							
							
								 
						
							
								b267957abe 
								
							 
						 
						
							
							
								
								Apply all MTP Key generation checks to calls.  
							
							... 
							
							
							
							Also move all OpenSSL BN_* calls to base/openssl_help header. 
							
						 
						
							2017-05-09 23:46:16 +03:00  
				
					
						
							
							
								 
						
							
								4925af69e2 
								
							 
						 
						
							
							
								
								Add Calls::Panel and handle incoming calls.  
							
							
							
						 
						
							2017-05-09 23:46:15 +03:00  
				
					
						
							
							
								 
						
							
								d18164bc51 
								
							 
						 
						
							
							
								
								Add Calls::Instance. Add libtgvoip as a dependency.  
							
							... 
							
							
							
							Also move all submodules to Telegram/ThirdParty. 
							
						 
						
							2017-05-09 23:46:08 +03:00  
				
					
						
							
							
								 
						
							
								cd3c5e4ade 
								
							 
						 
						
							
							
								
								Fix build in GCC.  
							
							... 
							
							
							
							GCC doesn't allow using scoped enums in bitfields without warnings.
So we use "unsigned" bitfield and a couple of get/set methods. 
							
						 
						
							2017-04-08 14:25:54 +03:00  
				
					
						
							
							
								 
						
							
								34ab04cbe6 
								
							 
						 
						
							
							
								
								Add lambda-based checked timers.  
							
							... 
							
							
							
							Also ApiWrap is now not a QObject. 
							
						 
						
							2017-04-07 18:13:21 +03:00  
				
					
						
							
							
								 
						
							
								5444b8166c 
								
							 
						 
						
							
							
								
								Finalize rename / move of files.  
							
							
							
						 
						
							2017-04-07 18:13:18 +03:00  
				
					
						
							
							
								 
						
							
								c94a88e154 
								
							 
						 
						
							
							
								
								Rename / move a bunch of files.  
							
							... 
							
							
							
							Next commit fixes the build. 
							
						 
						
							2017-04-07 18:13:16 +03:00