Commit graph

100 commits

Author SHA1 Message Date
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
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
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
bef87c6dff Allow showing chat members in a special section. 2017-11-17 17:23:36 +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
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
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
7905694b31 Add tabs and other types links to Info::Media. 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
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
088d23d557 Start new Info section (profile + shared media). 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
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
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