Commit Graph

3241 Commits

Author SHA1 Message Date
John Preston 3998fad7ef Add manage supergroup / channel box. 2017-11-16 07:59:10 +04:00
John Preston 7f8cdf85d5 Grow history stack following joinchat links. 2017-11-16 07:59:10 +04:00
John Preston 1871425b2d Add 'X' and admin star in group info members. 2017-11-16 07:59:10 +04:00
John Preston 5f0ba48309 Add top bar menu and notifications toggle. 2017-11-16 07:59:10 +04:00
John Preston 9743dc1ffb Add some more actions to three dot menu. 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 9f37820901 Add bot Help and Settings buttons in info. 2017-11-16 07:59:09 +04:00
John Preston 4295a823c6 Improve bot About section in info profile. 2017-11-16 07:59:09 +04:00
John Preston 8191ebfc49 Improve peer context menu for info. 2017-11-16 07:59:09 +04:00
John Preston 3fe12f1249 Display verified badge in the info. 2017-11-16 07:59:09 +04:00
John Preston 230c83d218 Follow group->supergroup migration in info. 2017-11-16 07:59:09 +04:00
John Preston 11a3308cf5 Scroll to field on search query update. 2017-11-16 07:59:09 +04:00
John Preston 3992ff6b59 Switch add member and search members buttons. 2017-11-16 07:59:09 +04:00
John Preston a05c7a815a Fix animation lag in info layer wrap. 2017-11-16 07:59:09 +04:00
John Preston a7807420fa Fix animation lag in shared media. 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 d67a8a4708 Fix edit bio in Settings. 2017-11-16 07:59:09 +04:00
John Preston 9c01bbca95 Fix invoice amount display. 2017-11-16 07:59:09 +04:00
John Preston 554eb3a342 Move stickers state variables to AuthSessionData.
Also allow to click on the selected set when choosing megagroup
sticker set and allow to paste a t.me link to the set there.
2017-11-16 07:59:09 +04:00
John Preston 9a56b2d20f Move dialogsWidthRatio to AuthSessionData. 2017-11-16 07:59:09 +04:00
John Preston 4771ea7cd4 Display "{from}:" in global search results.
Regression was introduced in c09fbcfeb3.
2017-11-16 07:59:09 +04:00
John Preston aec496d520 Remove RTL Override symbols from filenames. 2017-11-16 07:59:09 +04:00
John Preston cb5c59c86c Fix build and crash in Xcode. 2017-11-16 07:59:09 +04:00
John Preston 628c8e10f7 Search and save state in common groups. 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 39c5898fa4 Save media search state to memento. 2017-11-16 07:59:08 +04:00
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
John Preston 6861059d18 Fix build for old OS X with Qt 5.3.2 2017-11-16 07:59:05 +04:00
John Preston 80d9938e96 Support and use not type-erased consumers. 2017-11-16 07:59:05 +04:00
John Preston fddcdf359b Use not type-erased producers in code. 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 086e46c162 Add and use only rpl::start_with_*() methods. 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 7c4e4d7fa2 Closed beta 1.1.23.1. 2017-11-16 07:59:05 +04:00
John Preston 4180ed09a5 Add user actions to info profile. 2017-11-16 07:59:05 +04:00
John Preston f50bf0b97f Show old overview / common groups for now. 2017-11-16 07:59:05 +04:00
John Preston 2c75b4836d Improve sorting by online in info profile. 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 1c5d410373 Move info-profile modules to info/profile/
Next commit fixes the build.
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 812dcb5e8d Update styles to match the design. 2017-11-16 07:59:04 +04:00
John Preston 703b944839 Return FlatLabel.margins in getMargins(). 2017-11-16 07:59:04 +04:00
John Preston e1ba9f8ff8 Hide send message in Info for current chat. 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 6d0dbebda9 Fix tabbed selector section / panel exchange. 2017-11-16 07:59:04 +04:00
John Preston f4d9618487 Improve layer / section exchange for Info. 2017-11-16 07:59:04 +04:00
John Preston b7077eb71d Enable third column info by default. 2017-11-16 07:59:03 +04:00
John Preston 1a4d326abb Show Info if writing is forbidden. 2017-11-16 07:59:03 +04:00
John Preston 48cbdd9d40 Don't toggle tabbed section from OneColumn. 2017-11-16 07:59:03 +04:00
John Preston 26532ab9b4 Fix small chats list column bug with boxes. 2017-11-16 07:59:03 +04:00
John Preston c0e780a28f Allow small dialogs list with three columns. 2017-11-16 07:59:03 +04:00
John Preston 5c4daeee4c Add rpl::variable, improve filter / combine. 2017-11-16 07:59:03 +04:00
John Preston 1c5abaa518 Remove mutex locks from rpl for now. 2017-11-16 07:59:03 +04:00
John Preston 5586d231de Switch Info between columns and layer. 2017-11-16 07:59:03 +04:00
John Preston 3fbb643d51 GCC bug workaround.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67274
2017-11-16 07:59:03 +04:00
John Preston 766e7dadb1 Use improved rpl::start(). 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 5e7aa4ff81 Move third column from HistoryWidget to MainWidget. 2017-11-16 07:59:03 +04:00
John Preston f162462111 Move info between Layer and Narrow wrap. 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 21d136e224 myEnsureResized() now forces recursive create. 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 873ccf8096 Implement SharedMediaWithLastViewer using rpl. 2017-11-16 07:59:02 +04:00
John Preston 696478843e Implement UserPhotosViewer using rpl. 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 68a0e32a3d Add SharedMediaSliceWithLast for chat photos. 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 e70052e966 Add piping and on_next, on_error, on_done, start. 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 1c8db1e2e9 Fix travis build for the latest ffmpeg code. 2017-11-13 13:55:11 +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
visuve 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
visuve 8c92f42de3 Fix uninitialized values
- Use C++11 default member initializers

Signed-off-by: Veli-Matti Visuri <veli-matti.visuri@cerescon.fi> (github: visuve)
2017-09-28 18:23:42 +03:00
Alexander GQ Gerasiov 07106897a6 Fix CVE-2016-10351: Insecure cWorkingDir permissions.
Set 700 permisson on dir on every start.

Signed-off-by: Alexander GQ Gerasiov <gq@cs.msu.su>
2017-09-28 18:19:27 +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
Yonsh Lin 11a46a1072 Fix IME being interrupted after reconnection
Signed-off-by: Yonsh Lin <yonsh@live.com> (github: yonsh)
2017-09-28 12:57:25 +03:00
John Preston b8d1b8d6c1 Update build docs for VS 2017.
Closes #3117. Closes #3729.
2017-09-06 17:11:30 +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 aca957595a Version 1.1.23.
- See the message author photo and name
while searching specific chat messages.
- Fix "Send To" menu action on Windows.
2017-09-05 20:38:38 +03:00
John Preston c09fbcfeb3 Display author photo / name in search results. 2017-09-05 20:21:56 +03:00
John Preston def97b3f70 Update faved sticker / saved GIF remove button. 2017-09-05 19:34:36 +03:00
John Preston da373e3334 Update emoji / sticker icons. 2017-09-05 17:44:14 +03:00
John Preston 28a0402253 Fix command line parsing. 2017-09-05 17:38:40 +03:00
John Preston a09fa1b267 Fix sending files from "Send To" in Windows.
Regression was introduced in 8e433971c9.
2017-09-05 16:45:58 +03:00
John Preston 917be105ac Version 1.1.22: Faved stickers limit is 5 right now. 2017-09-04 16:29:35 +03:00
John Preston 710f9d049f Version 1.1.22.
- Bug fixes and other minor improvements.
2017-09-04 15:34:40 +03:00
John Preston 34a43fc62f Update langs. 2017-09-04 15:34:11 +03:00
John Preston 5e77fe8412 Don't display admin stars if admins are disabled. 2017-09-04 15:21:54 +03:00