John Preston
f8963d7e4b
Read silent flag from PeerData, not SilentToggle.
2017-12-08 15:52:12 +04:00
John Preston
79398fe6cf
Add call button to Info::Profile top bar.
2017-12-07 19:17:53 +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
f0a03223e8
Share contact instantly to Saved Messages.
2017-12-07 12:56:10 +04:00
John Preston
d77afef8b0
Hide Share contact button in saved messages.
2017-12-06 18:41:37 +04:00
John Preston
775cede16f
Use separate phrases for clearing saved messages.
2017-12-06 18:39:27 +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
3845985a6b
Fix third column appearing on window resize.
2017-12-06 11:05:34 +04:00
John Preston
993877b0d4
Change main menu cloud icon to saved messages.
2017-12-05 20:48:03 +04:00
John Preston
46bafc2dcc
Support Saved messages in chats list and forwards.
2017-12-05 18:07:01 +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
8391d43057
Use EditPeerInfoBox for editing groups.
...
This allows to edit group invite links.
Rename EditNameTitleBox to EditNameBox, used only from Settings.
2017-12-02 16:04:22 +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
595af2c6d9
Rename weak(QObject*) to make_weak(QObject*).
2017-11-30 22:04:13 +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
43570d1613
Check current chat before auto-closing it.
...
Close current chat only if it is the one being delete-and-exit'ed.
2017-11-30 21:35:35 +04:00
John Preston
a0c8d522ef
Save window extension on layer->section migration.
...
If the third section is shown inside the existing window remember
it as a zero window extension or third section show. That way it
will hide correctly when it is closed by X button.
Partially fixes #4091 .
2017-11-30 17:08:51 +04:00
John Preston
c10588a7dc
Merge group-supergroup history in jump-to-date.
...
Fixes #4094 .
2017-11-30 16:50:13 +04:00
John Preston
196ff7f4c1
Don't apply count from getParticipants(Recent).
2017-11-28 22:30:01 +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
0ced28f991
Nice animations when selecting shared media items.
2017-11-24 19:47:09 +04:00
John Preston
2387b66e86
Allow supergroup members to clear history.
2017-11-22 12:04:24 +04:00
John Preston
b337d54623
Use custom base::overload() helper.
2017-11-21 18:27:48 +04:00
John Preston
44e94bfbf5
Add workaround for macOS leaveEvent() bugs.
...
On macOS sometimes when mouse leaves the window we don't receive leaveEvent()
calls in the nested widgets, like buttons, only for the window itself.
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
f1f955b7ac
Pass already-members when adding members to channel.
2017-11-19 18:41:52 +04:00
John Preston
c872cd76e1
Improve window extension by third column.
2017-11-16 20:43:52 +04:00
John Preston
cf977cb41a
Improve history -> profile top bar navigation.
2017-11-16 19:24:01 +04:00
John Preston
131efa11be
Various fixes.
2017-11-16 11:45:55 +04:00
John Preston
7fdeab829f
Paint native title instead of using custom.
2017-11-16 07:59:12 +04:00
John Preston
defa0ae4d0
Improve stickers list variable width support.
2017-11-16 07:59:12 +04:00
John Preston
aecc119bac
Add fast chat photo upload to info profile.
2017-11-16 07:59:11 +04:00
John Preston
8dd3f24285
Replace Profile::UserpicButton with one from Ui::
2017-11-16 07:59:11 +04:00
John Preston
830c6a4894
Replace PeerAvatarButton with UserpicButton.
2017-11-16 07:59:11 +04:00
John Preston
3d37ac9235
Replace NewAvatarButton with UserpicButton.
...
This new control should also replace PeerAvatarButton and
Profile::UserpicButton and deliver all the best of those three.
2017-11-16 07:59:11 +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
866ff628b7
Fix render bug, enable wide third column.
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
3a25313e61
Fix restoring shared media state.
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
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
8191ebfc49
Improve peer context menu for info.
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
9a56b2d20f
Move dialogsWidthRatio to AuthSessionData.
2017-11-16 07:59:09 +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
e02d209e6f
Fix build with GCC.
2017-11-16 07:59:07 +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
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
b9fb9af74f
Info shared media and common groups counters.
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
48cbdd9d40
Don't toggle tabbed section from OneColumn.
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
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
c09fbcfeb3
Display author photo / name in search results.
2017-09-05 20:21:56 +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
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
b3da99c302
Replace gsl::not_null<T*> with just not_null<T*>.
2017-08-30 19:15:41 +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
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
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
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
91fda6b654
Add search from group member button to dialogs.
2017-08-01 21:15:02 +03:00
John Preston
2dec9c46a7
Add emoji autocomplete to history message field.
2017-07-26 15:55:02 +03:00
John Preston
3ba210b6e4
Automatically return window to screen.
...
Fixes #3551 .
2017-07-18 19:38:11 +03:00
John Preston
b79ddb7a1c
Handle click on userpic in edit admin/banned box.
...
In admins/banned/restricted lists on row click the edit box is shown.
Now click on the userpic in this box allows to get to user profile.
2017-07-10 15:43:30 +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
f316e3bd17
Add debug logs for window position and autoupdate.
2017-07-03 15:23:41 +03:00
John Preston
ebb10fb8ed
Improve night mode theme.
...
Also fix custom notification border painting with reply button.
2017-07-03 13:51:38 +03:00
John Preston
0798a0148a
Don't change custom background in night mode.
...
This will at least make it a bit better in #3598 .
The real solution with remembering custom backgrounds for both
night mode on and off doesn't fit with current theming way too well.
2017-06-30 15:03:51 +03:00
John Preston
61659244b7
Add night mode switch to the main menu.
...
Also fix a bug with the default background applying.
2017-06-30 09:21:46 +03:00
John Preston
0a9db8533b
Save admin log state to memento and restore it.
2017-06-30 09:21:43 +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
4962fdf5ae
Add phrases and layout for all events in log.
2017-06-30 09:21:41 +03:00
John Preston
25a718c54b
Start recent channel actions log section.
2017-06-30 09:21:41 +03:00
John Preston
6fe0fe6fd6
Use lightButtonFg[Over] for Hide All Notifications.
...
Fixes #3521 .
2017-06-29 11:40:15 +03:00
John Preston
7fdac9cd94
Add restricted users box like kicked users box.
...
Also allow server-side search inside restricted users list.
Also allow server-side search inside kicked users list.
Also allow PeerListController to work not only in PeerListBox.
2017-06-29 11:40:14 +03:00
John Preston
b94099e25b
Realtime UI translation in all fields and buttons.
2017-06-29 11:39:51 +03:00
John Preston
110e7c8074
Finalize rename / move.
2017-06-29 11:39:38 +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
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
1e6d4d6b41
Activate mediaview instead of main window.
...
If the mediaview is currently shown and we receive an activation
event for the main window we should activate and focus mediaview.
2017-05-24 16:25:08 +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
b74dea8662
Move logo images to Messenger. Set call panel icon.
2017-05-12 18:28:44 +03:00
John Preston
530a385d4e
Add sound override support by codes in Settings.
2017-05-09 23:46:40 +03:00
John Preston
fd24aff6b1
Play sounds in calls.
2017-05-09 23:46:31 +03:00
John Preston
2e816f2a67
Play notification sound using Media::Audio::Track.
2017-05-09 23:46:30 +03:00
John Preston
0cdac83f8a
Fix calls build in Xcode. Fix calls panel in Retina.
...
Also implement panels that appear in all spaces on macOS.
Using them for calls panels and custom notifications, so it
will be possible to use custom notifications in macOS as well.
2017-05-09 23:46:27 +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
c4f90983af
Redesign calls service messages.
2017-05-09 23:46:19 +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
0a716036c2
Extract Calls::Call. Add a call button to TopBar.
2017-05-09 23:46:14 +03:00
John Preston
291a6b73ab
Show phone instead of "online" in the main menu.
2017-05-07 12:00:49 +03:00
John Preston
eb240defa3
Display forwarded info in video messages.
2017-04-30 16:43:17 +03:00
John Preston
71e653db30
Fix non-available API usage in OS X 10.6-10.7 version.
2017-04-18 22:00:51 +03:00
John Preston
1b7777e3a0
Pause other GIFs when playing round video message.
2017-04-12 22:37:28 +03:00
srazi
734b426518
Fix canceling forward when clicking on _userpicButton or _cloudButton ( #3248 )
...
- Fixes #3192
Signed-off-by: srazi <s.r.alavizadeh@gmail.com> (github: srazi)
2017-04-11 23:03:34 +03:00
Nicholas Guriev
232d3dcb54
Make theme preview more realistic ( #3250 )
...
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-04-11 21:16:12 +03:00
John Preston
7f7318c0bf
Fix members dropdown and chat info menu position.
2017-04-11 17:27:46 +03:00
John Preston
891d200e2d
Add TabbedSection which uses the TabbedSelector.
2017-04-10 12:08:56 +03:00
John Preston
570cd9bdfa
Move GIF pausing methods to Window::Controller.
2017-04-08 16:31:57 +03:00
John Preston
5444b8166c
Finalize rename / move of files.
2017-04-07 18:13:18 +03:00
John Preston
22d905b39c
Version 1.0.29: Add cloud icon to main menu.
2017-04-05 12:22:45 +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
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
61c5b45d7a
Select exception users in EditPrivacyBox.
2017-03-18 12:49:46 +03:00
John Preston
d91a2403b0
Use refs in AuthSession part getters.
...
Also use only AuthSession data for Contacts/Dialogs loaded state.
2017-03-15 19:24:06 +03:00
John Preston
5aab168b3e
Alpha 1.0.20: fix crash in default notifications.
...
Before showNextFromQueue() was called from a range-for loop over
the _notifications and it invalidated the _notifications iterators.
2017-03-08 23:51:40 +03:00
John Preston
6456a83a22
Finalizing files rename.
...
Also moved peer_avatar_button to ui/special_buttons.
2017-03-07 21:58:35 +03:00
John Preston
81790b2271
Notifications management moved to AuthSession.
...
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +03:00
John Preston
83720d8789
Finalizing file renaming.
2017-03-04 13:23:56 +03:00
John Preston
08167a6a91
Removed #include "stdafx.h" from all files.
...
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).
So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
2017-03-04 12:27:52 +03:00
John Preston
f8318177b9
Platform-dependent file methods called async.
...
Some major platform-dependent file operations refactoring.
All methods like "open file", "open file with", "show in folder"
were moved to core/file_utilities module with platform-dependent
backends. All methods interacting with DesktopServices made async.
2017-02-28 18:03:38 +03:00
John Preston
6f0cf30b12
Some platform-dependent modules refactoring.
...
Now each platform-dependent module declares its interface in
platform/platform_module.h file and after that includes platform-
specific headers like platform/win/module_win.h with implementation.
Also removed the legacy WinRT platform-dependent implementations.
2017-02-28 13:51:00 +03:00
John Preston
c207743338
Made base::lambda a copyable value type.
...
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.
2017-02-26 21:01:23 +03:00
John Preston
7d89b54d1c
Ability to delete authorization keys added.
...
If we start logging in and we know, that some of the authorization
keys were read from the hard drive, not generated, we destroy all
the existing authorization keys and start generating new keys.
2017-02-25 19:48:22 +03:00
John Preston
c3b3819d9f
Moved AppClass to messenger.cpp:Messenger.
2017-02-25 19:48:20 +03:00
John Preston
755325fef3
Updated Xcode build for using standard library.
...
Also trying to use g++-6 for travis build.
2017-02-21 17:37:53 +03:00
John Preston
ffc557a0f9
Using standard library instead of std_ namespace.
...
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston
36fc7d1991
Merge branch 'master' into temp
...
Conflicts:
Telegram/SourceFiles/settings/settings_widget.cpp
2017-02-18 14:37:57 +03:00
John Preston
0411f05c39
Alpha 1.0.11: crashfix in theme preview generator.
2017-02-17 16:07:57 +03:00