Commit Graph

3036 Commits

Author SHA1 Message Date
John Preston c2a1cc2ae8 Fix crash in contacts list box global search.
Regression was introduced in f7359093b4.
2017-09-03 22:50:16 +03:00
John Preston ad41a81b66 Fix window size reset on every launch.
Regression was introduced in b08732cf28.

In MediaView constructor a call to setWindowState(WindowFullScreen)
invokes QWindowSystemInterface::flushWindowSystemEvents() which then
delivers some delayed system window resize event for the main window,
resetting its size to something default.
2017-09-03 22:50:15 +03:00
John Preston 2e374e68c5 Fix working with layers.
Regression was introduced in df64c97.

New base::flags work correctly only if all mutually exclusive flag
values use mutually exclusive bits (a & b == 0 for exclusive (a, b)).

Closes #3856.
2017-09-03 22:49:33 +03:00
John Preston 8f82880b93 Version 1.1.20.
- Groups with unread mentions and replies are now marked
with an '@' badge in the chats list.
- Navigate new mentions and replies in a group
using the new '@' button.
- Mark your stickers as “favorite” to quickly access them
from the redesigned sticker panel.
- Add an official sticker set for your group which all members will
be able to use while chatting in your group (100+ member groups only)
2017-09-03 19:23:50 +03:00
John Preston cd8d73c7ad Langs updated. 2017-09-03 19:14:47 +03:00
John Preston c76389e126 Allow to use base::lambda independently. 2017-09-03 15:45:49 +03:00
John Preston 76489a7885 Fix stack overflow in passcode lock check.
A regression was introduced in e209737b1a.

We call MainWindow::doWeReadMentions() in the history paintEvent,
that calls Auth().checkAutoLock() and may start passcode locking.

Passcode locking starts animation and grabs the window content,
calling history paintEvent() which leads to deadlock.

Now we call Auth().checkAutoLock() asyncronously.
2017-09-03 15:45:48 +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 48e2a5472e Return not_null<History*> in App::history(). 2017-09-03 15:45:43 +03:00
John Preston 5a20014b1a Highlight all mentions when marking them read. 2017-08-30 19:15:53 +03:00
John Preston 20efa47126 Fix layout for the log entries of caption edits. 2017-08-30 19:15:52 +03:00
John Preston 5a1d52f82e Fix unread mentions navigation issues.
When the unread bar was destroyed we first jumped to the bottom
of the history by updateHistoryGeometry() and only after that
animated scroll to the desired message started. The last messages
were always painted (and marked as read) in that case.
2017-08-30 19:15:51 +03:00
John Preston 4c604b34c1 Allow service messages to be unread mentions. 2017-08-30 19:15:50 +03:00
John Preston ee5c827f26 Closed beta 1.1.19.3. 2017-08-30 19:15:49 +03:00
John Preston 643bedd4cf Display faved stickers before recently used. 2017-08-30 19:15:48 +03:00
John Preston af165115f8 Fix media caption line breaks in MediaView. 2017-08-30 19:15:48 +03:00
John Preston 5964261db5 Allow to view sticker set from admin event log. 2017-08-30 19:15:47 +03:00
John Preston d4814c5cb0 Display only mention badge if one unread message. 2017-08-30 19:15:46 +03:00
John Preston a8df4453ff Fix cancel search in peer ripple painting. 2017-08-30 19:15:45 +03:00
John Preston 638d64d6f2 Closed beta 1.1.19.2. 2017-08-30 19:15:44 +03:00
John Preston c97227825f Send images as files if no way to send as photos.
Fixes #3710.
2017-08-30 19:15:44 +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 b3da99c302 Replace gsl::not_null<T*> with just not_null<T*>. 2017-08-30 19:15:41 +03:00
John Preston cc4023d26a Improve unread mentions badge layout. 2017-08-30 19:15:39 +03:00
John Preston ca15fa3a97 Use sync notifications for name changes.
Search index updates must be sync or it may use new values twice.
2017-08-30 19:15:38 +03:00
John Preston 67bdb4cec8 Closed beta 1.1.19.1. 2017-08-30 19:15:37 +03:00
John Preston e13ed9b909 Remove main()->peerUpdated and some other signals. 2017-08-30 19:15:36 +03:00
John Preston 8e433971c9 Improve current executable path computing.
Fixes #960 (hopefully).
2017-08-30 19:15:35 +03:00
John Preston f2801d4775 Fix possible crash in file download after error.
Regression was introduced in 2fa2fa41c5.

In file download failed handler we suggest to try to load the file
once again to the same location. After some changes we started to
forget filename before failed handler. That resulted in large files
loading to memory instead of hard drive.

Add a precondition in FileLoader to prevent such bugs in the future.
2017-08-30 19:15:34 +03:00
John Preston 6cedf20c39 Remove old crash debug information. 2017-08-30 19:15:33 +03:00
John Preston 7df63db9b3 Hide "Ban Users" admin rights changes in channels. 2017-08-30 19:15:32 +03:00
John Preston 0303f18ac6 Fix check for _mouseSelection flag in dialogs.
Fixes #3781.
2017-08-30 19:15:32 +03:00
John Preston 81fb32504b Apply faved stickers limit when faving. 2017-08-30 19:15:31 +03:00
John Preston a72453fb1b Remove ContactsBox and contacts_box module. 2017-08-30 19:15:30 +03:00
John Preston b816d33d48 Replace add bot to group box with PeerListBox. 2017-08-30 19:15:29 +03:00
John Preston 782114d644 Add and use base::make_weak_unique() helper. 2017-08-30 19:15:28 +03:00
John Preston 0880c01a20 Replace group admins ContactsBox with PeerListBox. 2017-08-30 19:15:28 +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 17cef93ac0 Use gsl::finally() instead of base::scope_guard(). 2017-08-30 19:15:26 +03:00
John Preston 012d59ab42 Use nullptr instead of std::unique_ptr<Type>(). 2017-08-30 19:15:25 +03:00
John Preston 0bea2620b5 Replace BoxContent::closeHook() with boxClosing. 2017-08-30 19:15:24 +03:00
John Preston 95af8da66a Call correct destructor in base::Observable.
base::Subscription::Node doesn't have a virtual destructor.
2017-08-30 19:15:23 +03:00
John Preston 71e0e6ac4d Mark history as read at the bottom in any case. 2017-08-30 19:15:22 +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 7ad21ff713 Move std and gsl includes to precompiled header. 2017-08-25 14:39:33 +03:00
John Preston c8810f87b9 Move a lot of code from scheme.h to scheme.cpp. 2017-08-25 14:39:32 +03:00
John Preston 1207ddb2ea Add flat_map and flat_set using std::deque. 2017-08-25 14:39:31 +03:00
John Preston edbc3f8fde Use QDataStream directly on QByteArray. 2017-08-25 14:39:30 +03:00
John Preston dd9d604966 Fix incorrect scroll jumps.
If we invoke showHistory(h, msgId) several times we call
forgetScrollState() for this history being on the same scroll place.

To compute it again we need to call visibleAreaUpdated() even if
the real scroll position was not changed.
2017-08-25 14:39:29 +03:00
John Preston 65d81f96f3 Remove some App::wnd() occurences. 2017-08-25 14:39:28 +03:00
John Preston b08732cf28 Move MediaView from MainWindow to Messenger. 2017-08-25 14:39:27 +03:00
John Preston fa818407e6 Improve group sticker set setup box. 2017-08-25 14:39:25 +03:00
John Preston 7f5a91d2bb Allow to hide empty megagroup sticker set. 2017-08-25 14:39:24 +03:00
John Preston 25f18c0c3a Allow to fave stickers from deleted sticker packs. 2017-08-25 14:39:23 +03:00
John Preston 472a714ef1 Apply faved stickers limit when faving a new one. 2017-08-25 14:39:22 +03:00
John Preston 9b01621791 Add height for checkbox/radiobutton ripple effect. 2017-08-25 14:39:20 +03:00
John Preston f04b25ea26 Allow setting group stickers set. 2017-08-25 14:39:19 +03:00
John Preston ab35829358 Remove App::app(), App::uploader(), App::api().
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston 417f5684dc Add ability to disable animations. 2017-08-25 14:39:16 +03:00
John Preston a143505fd6 Remove lambda_slot() and lambda_slot_once(). 2017-08-25 14:39:15 +03:00
John Preston cb5b6d0cb8 Add megagroup stickerset to StickersListWidget. 2017-08-25 14:39:13 +03:00
John Preston d44b303fb3 Suggest faved stickers by emoji.
Request added faved sticker emoji if its pack is not loaded yet.
2017-08-25 14:39:12 +03:00
John Preston 8188724920 Remove faved stickers from StickersListWidget. 2017-08-25 14:39:11 +03:00
John Preston 070456882e Manage faved stickers from sticker context menu. 2017-08-25 14:39:09 +03:00
John Preston 134bc13169 Show faved stickers in StickersListWidget. 2017-08-25 14:39:07 +03:00
John Preston 667eb288d7 Add faved stickers set loading and saving.
Also move stickers loading methods to ApiWrap.
2017-08-25 12:58:13 +03:00
John Preston b0cc61c621 API scheme updated to layer 71. 2017-08-25 12:58:12 +03:00
John Preston 99afa1196c Improve search in peer / search from user design. 2017-08-25 12:58:11 +03:00
John Preston 0a6535ea94 Show "choose from user" box when typing "from:". 2017-08-25 12:58:10 +03:00
John Preston ce51abd9d0 Change dialogs filter text area for two icons. 2017-08-25 12:58:09 +03:00
Nicholas Guriev a2c93bc040 Fix updates of mute status in context menu of dialog list
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru>
2017-08-25 12:56:50 +03:00
nyuszika7h 31b460fe46 Improve multiple people typing/playing message
This is consistent with the Android version, and is more clear.

Also, in languages that use singular for all numbers, it avoids
confusion between "3 people are typing" and "a person named '3' is
typing".

Signed-off-by: nyuszika7h <nyuszika7h@gmail.com> (github: nyuszika7h)
2017-08-04 18:24:37 +02: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 98f3e9a853 Version 1.1.19: Update langs. 2017-08-01 22:57:41 +03:00
John Preston a90a18920b Version 1.1.19.
- Search by messages of specific group members.
- Bug fixes and other minor improvements.
2017-08-01 21:45:04 +03: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 91fda6b654 Add search from group member button to dialogs. 2017-08-01 21:15:02 +03:00
John Preston 6f27e310ae Send reply and forward when choosing bot command. 2017-08-01 21:14:45 +03:00
John Preston 96a2af842f Remove glitch with video messages floating player. 2017-08-01 21:14:44 +03:00
John Preston 9d81ea59dd Attempt to fix an out of memory crash. 2017-08-01 21:14:43 +03:00
John Preston 91f0d049db Fix saving a loaded file as another existing file. 2017-08-01 21:14:42 +03:00
John Preston 27151d5e25 Show who banned or restricted user in supergroup. 2017-08-01 21:14:41 +03:00
John Preston 1b46cec4fb Version 1.1.18.
- Bug fixes and other minor improvements.
2017-07-27 14:26:48 +03:00
John Preston 027340a8e0 Copy public channel link instead of following it. 2017-07-27 14:24:37 +03:00
John Preston 0517f9f780 Insert emoji instead of text replacement. 2017-07-27 13:22:51 +03:00
John Preston 80ee40eb18 Add debug info for out of memory crash. 2017-07-27 13:14:39 +03:00
John Preston 9194c68bd3 Version 1.1.17.
- Bug fixes and other minor improvements.
2017-07-26 23:47:17 +03:00
John Preston 2dadc9bd7a Langs updated. 2017-07-26 23:46:16 +03:00
John Preston 180f83c528 Fix crash in InnerDropdown widget animations. 2017-07-26 23:43:18 +03:00
John Preston dfa7cb1826 Version 1.1.16: Fix build for Qt 5.3.2 and GCC. 2017-07-26 19:10:04 +03:00
John Preston fdcb28f1a0 Version 1.1.16: Hide emoji replaces list for now. 2017-07-26 17:59:08 +03:00
John Preston 0e059ec788 Version 1.1.16: Add some debug info. 2017-07-26 17:56:01 +03:00
John Preston c681f75ad3 Version 1.1.16.
- Autocompletion for emoji. Start typing :e to get suggestions.
- Fixed a bug with forwarding messages.
2017-07-26 15:56:32 +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