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
9d4558de2b
Fix build in Visual Studio 15.5.1.
...
Looks like compiler had some regressions when updating from 15.4.5.
Range-V3-VS2015 also needs to cherry-pick this commit:
https://github.com/ericniebler/range-v3/commit/9f990c48d0
See https://github.com/Microsoft/Range-V3-VS2015/issues/26
2017-12-12 12:25:54 +04:00
John Preston
38f7f48c17
Open links in AboutBox without confirmation.
...
Fixes #4148 .
2017-12-12 12:25:54 +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
6295d85ef2
Fix possible assertion violation in PeerListBox.
...
Very long stack in crash reports leads to something like that:
- PeerListBox::prepare
- PeerListBox::createMultiSelect
- PeerListBox::updateScrollSkips
- BoxContent::setInnerTopSkip
- _scroll->scrollToY
- sendSynteticMouseEvent
- ChatHelpers::TabbedPanel::showAnimated
- QWidget::render
- QWidgetPrivate::sendPendingMoveAndResizeEvents
- PeerListBox::resizeEvent
- _select->resizeToWidth(0)
- MultiSelect::Inner::computeItemsGeometry(0)
Workaround:
- Don't scrollToY if PeerListBox width was not yet set.
- Initial _scrollBottomFixed is false (at first createMultiSelect).
2017-12-08 17:36:17 +04:00
John Preston
de8de84a33
Fix possible crash in CalendarBox.
...
If month change notification was posted async there was a possibility
to get a mousePressEvent() with already new Context field values, but
with old _selected value. Those two could be inconsistent leading to
an assert violation in (_selected + _context->daysShift() >= 0).
2017-12-08 16:44:52 +04:00
John Preston
c79d16a0d6
Auto-choose first search row in PeerListBox.
2017-12-08 13:30:30 +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
46bafc2dcc
Support Saved messages in chats list and forwards.
2017-12-05 18:07:01 +04:00
John Preston
5eeb8143b6
Move EmptyUserpic from data_peer to empty_userpic.
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
116e3fd9c5
Fix admin stars disappearing in members list.
2017-12-04 16:08:43 +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
9ba482f56f
Fix crash in edit group info box.
2017-12-03 19:24:33 +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
2432845df2
Optimize and rename base::weak_unique_ptr.
...
Rename base::enable_weak_from_this -> base::has_weak_ptr.
Rename base::weak_unique_ptr -> base::weak_ptr.
Rename base::make_weak_unique -> base::make_weak.
Rename base/weak_unique_ptr.h -> base/weak_ptr.h
2017-11-30 21:33:27 +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
837dac50fa
Fix build for the original range-v3.
2017-11-26 18:20:22 +04:00
John Preston
20c9280ada
Add some more debug info for crashes.
2017-11-24 21:41:31 +04:00
John Preston
86c0205faa
Handle USERS_TOO_FEW error in group creation.
2017-11-24 20:33:06 +04:00
John Preston
9f76be9d26
Elide 'Delete for {user}' checkbox text.
2017-11-24 20:28:14 +04:00
John Preston
39428841e4
Improve selected shared media items layout.
...
Also fix night mode theme bug in report spam panel.
2017-11-23 18:58:00 +04:00
John Preston
f6ba59ed14
Improve group stickers choose process.
...
Allow to choose from featured if used has no his own sets.
Allow to choose group sticker set from group info box.
2017-11-22 13:31:02 +04:00
John Preston
542ba89f25
Edit pre-history visibility in megagroups.
2017-11-22 12:04:45 +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
d93c1ccbaa
Improve compile time.
2017-11-21 14:20:52 +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
ac99318f34
Use ranges:: algorithms instead of base::
2017-11-20 16:24:00 +04:00
John Preston
f1f955b7ac
Pass already-members when adding members to channel.
2017-11-19 18:41:52 +04:00
John Preston
903aa46e5c
Disable tabs in third column info.
2017-11-16 13:13:17 +04:00
John Preston
fafcd02e7c
Improve Emoji / GIFs 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
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
aa160e775c
Fix huge CPU consumption in the group info profile.
2017-11-16 07:59:10 +04:00
John Preston
dd3ae22e08
Save data from EditPeerInfoBox.
2017-11-16 07:59:10 +04:00
John Preston
8ff0120642
Add EditPeerInfoBox without saving.
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
1871425b2d
Add 'X' and admin star in group info members.
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
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
aec496d520
Remove RTL Override symbols from filenames.
2017-11-16 07:59:09 +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