Commit Graph

3355 Commits

Author SHA1 Message Date
John Preston 09d1e3629a Add media search to all info modes. 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 15cc4502b4 Save scroll top state to media memento. 2017-11-16 07:59:08 +04:00
John Preston 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
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 fde3ff1bbf Simplify rpl::consumer. 2017-11-16 07:59:08 +04:00
John Preston 53de44f272 Clear selection after forward in info shared media. 2017-11-16 07:59:08 +04:00
John Preston f5c5c32d1d Add context menu to info shared media. 2017-11-16 07:59:08 +04:00
John Preston 9a988d89e3 Remove std::any dependency (for now).
Xcode 9 still doesn't have std::any :(
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 fb46c33d7f Add context menu support to info members list. 2017-11-16 07:59:07 +04:00
John Preston 856ca22aad Display online count in the info profile section. 2017-11-16 07:59:07 +04:00
John Preston 508fa14385 Workaround render glitches on new MacBooks.
For unknown reason large windows have bad render glitches in High Sierra.
Forcing of OpenGL composition (by adding a fake child QOpenGLWidget) fixes it.
2017-11-16 07:59:07 +04:00
John Preston 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
John Preston 6b5e06de50 Removed collapsing of shared media. 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 54cc3e6315 Shared media multiple items selection. 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 989f0cc683 Fix build in Xcode. 2017-11-16 07:59:07 +04:00
John Preston e02d209e6f Fix build with GCC. 2017-11-16 07:59:07 +04:00
John Preston 6445c0563e Fix reading from freed memory in rpl::take(). 2017-11-16 07:59:07 +04:00
John Preston 583b0fa778 Display common groups in Info profiles. 2017-11-16 07:59:07 +04:00
John Preston fee517384c Disable round videos in shared media for now. 2017-11-16 07:59:07 +04:00
John Preston aa260d263b Don't forget current item in MediaView. 2017-11-16 07:59:07 +04:00
John Preston a08dd1f6e1 Fix build for macOS. 2017-11-16 07:59:06 +04:00
John Preston f107866b42 Add basic click handler support to info shared media. 2017-11-16 07:59:06 +04:00
John Preston 7f3c97fb01 Add info media preloading to both sides. 2017-11-16 07:59:06 +04:00
John Preston 65cc4d3fbc Support item repaint in Info media overview. 2017-11-16 07:59:06 +04:00
John Preston fdd89d65ca Allow using custom comparators in flat_[map|set]. 2017-11-16 07:59:06 +04:00
John Preston ecbc0ae57e Show info media overview using Overview::Layout. 2017-11-16 07:59:06 +04:00
John Preston 7905694b31 Add tabs and other types links to Info::Media. 2017-11-16 07:59:06 +04:00
John Preston 335704e176 Fix layer resize animation glitches. 2017-11-16 07:59:06 +04:00
John Preston c0bb8a8af7 Return third section when returning in main section. 2017-11-16 07:59:06 +04:00
John Preston 76b8078bd9 Save section expand state in Info memento. 2017-11-16 07:59:06 +04:00
John Preston c6c75a1980 Animate Info-to-Info transitions. 2017-11-16 07:59:06 +04:00
John Preston 93c15e5ee6 Use internal section stack in Info::WrapWidget. 2017-11-16 07:59:06 +04:00
John Preston 525cde3498 Use make_state for flatten_latest(). 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 f0ad78d808 Change *[Fast|Animated] to anim::type in SlideWrap. 2017-11-16 07:59:06 +04:00
John Preston 83850d9b86 Change *[Fast|Animated] to anim::type in FadeWrap. 2017-11-16 07:59:06 +04:00
John Preston 0c4bda71fd Remove some unused / rare phrases. 2017-11-16 07:59:05 +04:00
John Preston d1687ab963 Improve info wrapping in section / layer.
Also move layerwidget to window/layer_widget.
Also replace ui/effects/widget_fade_wrap with ui/wrap/fade_wrap.
2017-11-16 07:59:05 +04:00
John Preston ea0f6b9a12 Use 'if constexpr ()' instead of tag dispatch. 2017-11-16 07:59:05 +04:00
John Preston 5cc7cb1d85 Allow empty arg list in rpl next/error handlers. 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 1cd126d728 Disable not type-erased consumers on GCC. 2017-11-16 07:59:05 +04:00