John Preston
aebb40dc1e
Fix volume control disappearing in audio player.
2017-12-26 19:20:06 +03:00
John Preston
3b3a705a67
First working code for sending albums.
2017-12-26 19:20:06 +03:00
John Preston
92333e982c
Move message components to history_item_components.
...
Also fix channel signatures rendering.
2017-12-18 19:52:36 +04:00
John Preston
3a56b7cabd
Forward grouped items. Fast share grouped items.
2017-12-16 20:50:43 +04:00
John Preston
b6087ce7ce
Select/forward/delete group of messages.
2017-12-16 20:50:42 +04:00
John Preston
4c9931ab02
Support grouped media rendering.
2017-12-16 20:50:42 +04:00
John Preston
97c15865a5
Move some code around.
...
Move logs:SignalHandlers to core/crash_reports:CrashReports.
Move all pre-launch windows to core/crash_report_window module.
Move some global code to core/launcher:Launcher.
It should replace settings / platform_specific module in some way.
2017-12-12 16:47:32 +04:00
John Preston
8b69e6ab99
Rename some methods in DocumentData.
...
Also fix voice message mark as read when autoplaying after previous.
Also show play icon and don't show playlist for audio files that do
not have shared music files attributes but have audio file mime type.
2017-12-10 14:28:04 +04:00
John Preston
5a7d8bcffb
Add audio playlist using Info::Media::ListWidget.
2017-12-09 19:13:06 +04:00
John Preston
9bbcbd4bb3
Remove all legacy media overview code.
2017-12-08 22:34:26 +04:00
John Preston
f8963d7e4b
Read silent flag from PeerData, not SilentToggle.
2017-12-08 15:52:12 +04:00
John Preston
355747d7bf
Remove send actions in Saved Messages.
...
Fixes #4122 .
2017-12-07 18:27:59 +04:00
John Preston
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
John Preston
c6d3fd883a
Display right action button not too high.
2017-12-06 18:15:41 +04:00
John Preston
1473c14668
Forward messages to Saved Messages instantly.
2017-12-06 17:56:40 +04:00
John Preston
6764a3cc86
Replace SelectedItemSet with MessageIdsList.
...
Use vector<FullMsgId> everywhere instead QMap<..,HistoryItem*>.
The old way the app crashed in case some messages were deleted.
If the items are needed use HistoryItemsList=vector<HistoryItem*>.
2017-12-06 14:13:38 +04:00
John Preston
85d8273009
Implement correct saved messages history layout.
...
Forwarded info is displayed as a message author info (name/photo).
Outgoing messages without forwarded info are displayed as out().
Messages with save_from_ info have a button for GoToOriginal().
2017-12-05 20:14:28 +04:00
John Preston
46bafc2dcc
Support Saved messages in chats list and forwards.
2017-12-05 18:07:01 +04:00
John Preston
1d85c8a6b6
API scheme updated to layer 73.
2017-12-05 12:44:27 +04:00
John Preston
68009b6fba
Refactor userpic storage and access in PeerData.
2017-12-05 11:58:18 +04:00
John Preston
62568daffe
Refactor NotifySettings in PeerData.
2017-12-04 21:48:45 +04:00
John Preston
e1c68892d4
Show third column only when explicitly requested.
...
This allows you to show info in layer from mention links.
2017-12-04 13:42:05 +04:00
John Preston
f3c8da4819
Request all admins when first opening a supergroup.
2017-12-03 20:43:42 +04:00
John Preston
675499df4d
Fix render bug in single column layout.
2017-12-02 14:22:48 +04:00
John Preston
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
John Preston
2bbf17b672
Fix t.me/share links.
...
Regression was introduced in ffc20e4492
.
Fixes #4099 .
2017-11-30 21:47:58 +04:00
John Preston
41b143cb7e
Fix and improve back navigation with three columns.
2017-11-29 00:01:04 +04:00
John Preston
efdba3a482
Handle errors in getMessages().
2017-11-23 19:41:13 +04:00
John Preston
2387b66e86
Allow supergroup members to clear history.
2017-11-22 12:04:24 +04:00
John Preston
75d8d01b17
Allow pinned messages in channels.
2017-11-21 18:27:48 +04:00
John Preston
6ca105a290
Minimal layer 72 support.
2017-11-20 23:54:05 +04:00
John Preston
eb8800f2d4
Replace $ with _ in rpl::mappers.
2017-11-20 16:32:55 +04:00
John Preston
131efa11be
Various fixes.
2017-11-16 11:45:55 +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
534b578598
Fix crash when switching two columns at once.
2017-11-16 07:59:11 +04:00
John Preston
fe9630bb20
Allow to resize third column.
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
0255d0c59e
Support any size in the tabbed selector.
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
7f8cdf85d5
Grow history stack following joinchat links.
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
8191ebfc49
Improve peer context menu for info.
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
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
65cc4d3fbc
Support item repaint in Info media overview.
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
93c15e5ee6
Use internal section stack in Info::WrapWidget.
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
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
5cc7cb1d85
Allow empty arg list in rpl next/error handlers.
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
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
e1ba9f8ff8
Hide send message in Info for current chat.
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
1a4d326abb
Show Info if writing is forbidden.
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
5586d231de
Switch Info between columns and layer.
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
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
c302219f9e
Use rpl in some widgets and effects.
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
41ed2d1b84
New storage for shared media messages index.
2017-11-16 07:59:02 +04: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
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
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
e13ed9b909
Remove main()->peerUpdated and some other signals.
2017-08-30 19:15:36 +03:00
John Preston
b816d33d48
Replace add bot to group box with PeerListBox.
2017-08-30 19:15:29 +03:00
John Preston
e209737b1a
Display and follow unread mentions in history.
2017-08-30 19:15:13 +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
b08732cf28
Move MediaView from MainWindow to Messenger.
2017-08-25 14:39:27 +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
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
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
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
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
96a2af842f
Remove glitch with video messages floating player.
2017-08-01 21:14:44 +03:00
John Preston
34d2e78308
Allow to edit Bio in Settings.
2017-07-23 12:34:43 +03:00
John Preston
cf02a4cc31
API scheme updated to layer 70.
2017-07-23 12:34:40 +03:00
John Preston
949104d879
Improve queued by pts updates handling.
...
The updates are ordered by pts and applied in the correct order.
Also some pts-dependent updates handling was moved to ApiWrap.
2017-07-14 14:57:05 +03:00
John Preston
f32af6999b
Add a fast share button in channels and bots.
2017-07-11 20:11:06 +03:00
John Preston
ac99784bf7
Change chat for forwarded items by click on them.
...
Closes #3637
2017-07-11 13:23:15 +03:00
John Preston
da0d78135d
Some refactoring in working with text entities.
...
Also move this code to TextUtilities namespace.
2017-07-06 14:37:42 +03:00
John Preston
7d342b9c6d
Add search to channel / supergroup recent actions.
2017-07-05 16:11:08 +03:00
John Preston
42febdb240
Fix alpha version changelog notification.
...
We should call window->serviceNotification() because it checks for
the service chat history being loaded before adding the message.
The method in MainWidget was renamed to prevent bugs in the future.
2017-06-30 14:30:11 +03:00
John Preston
4993ff1921
Finalize rename / move.
2017-06-30 09:21:45 +03:00
John Preston
836fe119d9
Improve display of admin event log entries.
...
Don't show the Forward, Delete and Go to message in MediaView.
Better handle round video floating player in admin event log.
2017-06-30 09:21:45 +03:00
John Preston
82912f4a0b
Handle socks internal links.
2017-06-30 09:21:43 +03:00
John Preston
0a9db8533b
Save admin log state to memento and restore it.
2017-06-30 09:21:43 +03:00
John Preston
cedf8a65e7
Better channel log entry layout inside messages.
...
Also move HistoryService class to a separate module.
2017-06-30 09:21:42 +03:00
John Preston
5c87b42135
Use plain HistoryItem in channel admin events log.
...
Instead of using a complex AdminLog::Item use just HistoryItem*.
2017-06-30 09:21:42 +03:00
John Preston
e39b95175b
Handle channel event log mouse events.
2017-06-30 09:21:42 +03:00
John Preston
1791b251ad
Fix tabbed section / panel render glitches.
2017-06-30 09:21:42 +03:00
John Preston
6ba57e713e
Use forwarded messages only for one selected chat.
...
Different chats now can have different forwarded "drafts".
2017-06-29 11:40:26 +03:00
John Preston
5c0a1bafe2
Add supergroup restriction placeholders / labels.
2017-06-29 11:40:13 +03:00
John Preston
7d2d5c6100
Edit admin and restricted rights in channels.
2017-06-29 11:40:11 +03:00
John Preston
330b4a0b00
API scheme updated to layer 68.
2017-06-29 11:40:08 +03:00
John Preston
85e6f55536
Support new plural keys format.
...
All the old plural phrases were changed to work with the new format.
2017-06-29 11:39:56 +03:00
John Preston
3f0b57ec11
Retranslate Settings when language is changed.
...
Also suggest user to change language from 'en' to his for one time.
2017-06-29 11:39:45 +03:00
John Preston
f5dfeb0c50
Support cloud languages list and switching.
...
Add Lang::Current().updated() observable for retranslating the UI.
2017-06-29 11:39:43 +03:00
John Preston
139d4e72b5
Start cloud langpack support.
...
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston
2334ba1fe1
Use QString + Lang::Tag() instead of Lang::String.
2017-06-29 11:39:40 +03:00
John Preston
110e7c8074
Finalize rename / move.
2017-06-29 11:39:38 +03:00
John Preston
a813793007
API scheme updated to layer 67.
2017-06-29 11:39:35 +03:00
John Preston
9a18ecf93d
Fix the chats list width saving with passcode.
...
Regression was introduced in 0339b1b54b
.
If the passcode is enabled the main widget is created after the main
window was fully initialized, so the first main widget resize already
used the shrink algorithm while creating the third column.
No we shrink the left column only after the main widget was started.
2017-05-27 13:28:16 +03:00
John Preston
c91e29d15d
Improve floating player show / hide animations.
...
Also replace Window::Corner with a generic RectPart enumeration.
2017-05-24 16:25:20 +03:00
John Preston
03aeaadd5b
Update floating player position.
2017-05-24 16:25:19 +03:00
John Preston
75dcce0b3c
Save floating player position in localstorage.
2017-05-24 16:25:17 +03:00
John Preston
ee6d80673a
Snap floating player to column and corner.
2017-05-24 16:25:17 +03:00
John Preston
c58a48276f
Hide floating player if video message is visible.
2017-05-24 16:25:15 +03:00
John Preston
b7550f63c9
Add a floating player for round video messages.
2017-05-24 16:25:15 +03:00
John Preston
7873cb4373
Using media player for voice / video messages.
...
Media::Player::Widget displays the current voice / video message
if it is played and the current song otherwise.
It is created when a voice / video message starts and is destroyed
when all the voice / video messages in the playlist are finished.
2017-05-24 16:25:12 +03:00
John Preston
611a3e2f8a
Handle voice playlist in Media::Player::Instance.
...
This allows video and voice messages to autoplay one after another.
2017-05-24 16:25:09 +03:00
John Preston
b9119e5ef6
Play video messages as Type::Voice.
...
Use AudioMsgId instead of videoPlayId.
Any audio track now can be a child loader track of some video clip.
Use Type::Voice instead of Type::Video for round video messages.
Video messages play / pause / resume the same way as voice messages.
2017-05-24 16:25:09 +03:00
John Preston
efb59e8c3a
Show GIF in Mediaview on click.
...
This way you can watch GIF on full screen and switch between them.
2017-05-24 16:25:05 +03:00
John Preston
2377873c45
Add items to overviews inside HistoryMedia.
...
This allows one history item to exist in several media overviews.
See voice message, which should be in VoiceFiles and RoundVoiceFiles.
2017-05-24 16:25:04 +03:00
John Preston
0339b1b54b
Shrink dialogs column when enabling emoji sidebar.
...
Try to hold the ratio between the chat width and the dialogs list
width when the emoji sidebar is created by shrinking the left column.
2017-05-17 15:38:42 +03:00
John Preston
9f7c45e35c
Fix enabling emoji sidebar from a small window.
...
Extend the window size after the tabbedSelectorSectionEnabled flag
is already set to true. Otherwise we extend the window and switch
to a normal from single column layout before showing the sidebar.
2017-05-17 14:50:00 +03:00
John Preston
8d02d81a9a
Switch layout to Normal in a wide enough window.
...
A lot of people didn't know how to bring the dialogs column back
after it was gone in a wide single column MainWindow.
Now we switch to a two column layout if the window allows it,
preserving the emoji / stickers / GIFs section in case it is shown.
2017-05-13 15:02:07 +03:00
John Preston
565b56fb5f
Pause all media if a call is created.
...
Pause video, voice messages, songs and stop video messages.
2017-05-12 20:44:18 +03:00
John Preston
30d000e139
Toggle calls controls using config and user flags.
...
Also use calls timeout values from config.
Also request config each time when the auth session changes.
2017-05-09 23:46:22 +03:00
John Preston
06b081f509
Add calls log box.
...
PeerListBox can have many rows with the same PeerData.
PeerListBox::Row can have arbitrary action on the right side.
2017-05-09 23:46:18 +03:00
John Preston
f6eb2c5205
Add call top bar above the media player.
2017-05-09 23:46:18 +03:00
John Preston
d18164bc51
Add Calls::Instance. Add libtgvoip as a dependency.
...
Also move all submodules to Telegram/ThirdParty.
2017-05-09 23:46:08 +03:00
John Preston
caf2e19d27
Better error message for banned in public groups.
...
Also improve the changelog.
2017-05-08 16:30:59 +03:00
John Preston
cd6a189990
Show some info for USER_BANNED_IN_CHANNEL error.
2017-04-30 16:43:18 +03:00
John Preston
33ffa0715d
Alpha 1.0.34: Fix tabbed section widget render.
...
Also fix error message layout in EditCaptionBox.
2017-04-21 16:22:45 +03:00
John Preston
de7c886008
Move passcode management from MainWindow.
...
Check for auto lock in AuthSession. Don't autolock while video plays.
Closes #3219
2017-04-15 21:51:12 +03:00
John Preston
e3aacc8072
Don't change notification sound to empty on mute.
...
If notifications are muted no one from official apps play sound.
So there is no need to turn the sound off, otherwise if you enable
the notifications from a different app the sound stays off.
Enable the sound (change to "default") when turning notifications on.
2017-04-15 21:51:11 +03:00
John Preston
891d200e2d
Add TabbedSection which uses the TabbedSelector.
2017-04-10 12:08:56 +03:00
John Preston
330fc35800
Move some classes to separate modules.
...
MessageField, BotKeyboard, HistoryInner from historywidget.
2017-04-08 16:31:58 +03:00
John Preston
570cd9bdfa
Move GIF pausing methods to Window::Controller.
2017-04-08 16:31:57 +03:00
John Preston
0d0307e175
Move ApiWrap to AuthSession.
...
Also send all ApiWrap requests as an MTP::Sender.
Also create AuthSession only after starting MTProto.
2017-04-07 18:13:19 +03:00
John Preston
835b1801bc
Remove Q_OBJECT dependency from ApiWrap.
...
Also remove it from SingleDelayedCall -> SingleQueuedInvocation.
2017-04-07 18:13:19 +03:00
John Preston
5444b8166c
Finalize rename / move of files.
2017-04-07 18:13:18 +03:00
John Preston
ffc9585196
Add hierarchy of GIF pausing inside a window.
...
GIFs get paused if some other layer is displayed above.
Media preview > Box or layer > Saved GIFs panel > Inline bot results.
If any of those is displayed, GIFs inside message history pause too.
2017-04-03 19:46:12 +03:00
John Preston
3d846fcd49
Show inline bot results in a separate widget.
...
Add a InlineBots::Layout::Widget for inline bot results.
GIF search from EmojiPan is disabled for now.
2017-03-31 15:48:00 +03:00
John Preston
8d4be19952
Use separate TopBar for History and Overview.
...
Move TopBar widget to History and Overview from MainWidget.
2017-03-31 15:47:58 +03:00
John Preston
d41372dccd
Allow MTP_flags(0) and MTP_flags(single_flag).
2017-03-25 18:42:01 +03:00
John Preston
fc77b0a51c
Save privacy in ApiWrap. Handle privacy updates.
2017-03-18 12:49:47 +03:00