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
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
012d59ab42
Use nullptr instead of std::unique_ptr<Type>().
2017-08-30 19:15:25 +03:00
John Preston
e209737b1a
Display and follow unread mentions in history.
2017-08-30 19:15:13 +03:00
John Preston
edbc3f8fde
Use QDataStream directly on QByteArray.
2017-08-25 14:39:30 +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
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
ce51abd9d0
Change dialogs filter text area for two icons.
2017-08-25 12:58:09 +03:00
John Preston
6f746c238a
Search for messages from a specific user in group.
2017-08-01 21:38:01 +03:00
John Preston
180f83c528
Fix crash in InnerDropdown widget animations.
2017-07-26 23:43:18 +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
2dec9c46a7
Add emoji autocomplete to history message field.
2017-07-26 15:55:02 +03:00
John Preston
65371ec1b8
Fix selected text render on Retina.
...
QPainter::viewport() can be a too large rect to be passed as a
clipping region to QPainter on Retina displays.
QPainter in case of Retina displays tries to transform QRegion using
scale matrix and fails with "QRegion: creating region from big
polygon failed" warning message and disables painting completely.
2017-07-26 15:51:24 +03:00
John Preston
077e128e9a
Don't uncheck a radiobutton on second click.
2017-07-18 20:11:44 +03:00
John Preston
794ad7bda7
Fix main menu night theme layout for non-English.
...
The place for the phrase was too small because of huge left padding.
2017-07-18 20:10:55 +03:00
John Preston
7cc38f8f6a
Improve disabled Ui::Checkbox layout.
2017-07-14 12:47:44 +03:00
John Preston
2f816942b8
Use objects instead of pointers for corners.
...
Also don't change mask corner images when color theme is changed.
This prevents race condition in mask corner images access, because
the GIF frame readers access mask corner images from other threads.
2017-07-13 17:42:46 +03:00
John Preston
f5a405e6f1
Fix auto media download settings box layout.
2017-07-12 16:53:42 +03:00
John Preston
f32af6999b
Add a fast share button in channels and bots.
2017-07-11 20:11:06 +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
0402b4f5f4
Add X / V vector icon to checkbox Toggle view.
...
Also use them in the admin rights / restrictions boxes.
2017-07-09 18:06:27 +03:00
John Preston
d5c5549c1a
Make Checkbox text position relative to the View.
2017-07-07 14:27:13 +03:00
John Preston
21d2f6a44f
Generalize Checkbox layout.
...
Now any Checkbox can have Check, Radio or Toggle layout.
Radiobutton is now a subclass of Checkbox with default Radio layout.
2017-07-07 14:16:37 +03:00
John Preston
28f7dc73a5
Optimize markdown parser, use less regex matches.
2017-07-06 19:57:19 +03:00
John Preston
8d43bdb084
Use std::unique_ptrs for ITextBlocks.
2017-07-06 18:59:47 +03:00
John Preston
8550099110
Improve markdown parsing.
2017-07-06 18:59:38 +03:00
John Preston
921c27c9b1
Apply markdown bold/italic when editing a message.
2017-07-06 18:19:50 +03:00
John Preston
148c04fb41
Fix multiline monospace pre blocks editing.
...
Now we pass current flags and lnkIndex to the NewlineBlock, so that
we don't get one multiline pre block split to separate line blocks.
2017-07-06 17:10:33 +03:00
John Preston
eaf91bba58
Parse bold / italic markdown entities.
2017-07-06 16:44:11 +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
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
19023b4cc2
Display a toggle in Menu for Checkable actions.
2017-06-30 09:21:46 +03:00
John Preston
58b4798b79
Fix tooltip hiding when window is hidden by Cmd+H.
...
For some reason deleteLater() called for the tooltip from the main
window deactivation signal is really handled only on app quit :/
So now we use InvokeQueued(p, [p] { delete p; }); there instead.
Fixes #3461
2017-06-30 09:21:45 +03:00
John Preston
75fdd5315f
Add some more colors for theming.
2017-06-30 09:21:44 +03:00
John Preston
816ee794e8
Event log context menu + improved text selection.
2017-06-30 09:21:43 +03:00
John Preston
624f33c5e2
Allow to select and copy text in the events log.
...
Also better handle window resize in the events log.
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
4962fdf5ae
Add phrases and layout for all events in log.
2017-06-30 09:21:41 +03:00
John Preston
665a1acfd8
Apply language with app restart if logged in.
...
Confirm and restart if logged in, just quickly apply if not.
2017-06-29 11:39:54 +03:00
John Preston
b94099e25b
Realtime UI translation in all fields and buttons.
2017-06-29 11:39:51 +03:00
John Preston
5fc4f4ed36
Realtime UI translation in Intro.
...
Also support realtime translation testing by F7-F6-F7-F8 keys.
2017-06-29 11:39:49 +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
110e7c8074
Finalize rename / move.
2017-06-29 11:39:38 +03:00
John Preston
0e4b057220
Fix transparent reply previews.
...
The transparent reply previews (for stickers) were not filled by
transparent background before resizing, now there is a flag for that.
2017-06-29 11:39:33 +03:00
John Preston
6869cc7d04
Fix non-square reply preview in selected messages.
...
After introducing video messages and sticker reply previews they may
be not a rounded rectangle but any transparent image. So instead of
painting a selected rounded rect over them we just colorize them with
an overlay color like it is done with the selected sticker images.
2017-06-29 11:39:32 +03:00
John Preston
878e46c61a
Alpha 1.1.5.
...
Also fix build in Xcode.
2017-05-26 19:03:41 +03:00
John Preston
7cea6ede1a
Improve input field placeholders with IME.
...
Respect the IME preedit string when toggling the placeholder.
2017-05-26 18:50:25 +03:00
John Preston
9e3f13ba2e
Destroy members dropdown when the peer changes.
...
Also use object_ptr for passing widget in InnerDropdown.
2017-05-26 17:36:59 +03:00
John Preston
e0978f86d1
Alpha 1.1.3: Fix some render in macOS.
2017-05-24 17:36:58 +03:00
John Preston
25587d7e8e
Replace different side enums with RectPart.
...
Including Ui::Shadow::Side, App::RectPart and ImportantTooltip::Side.
2017-05-24 16:25:20 +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
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
5915f3f928
Display radial playback progress in round videos.
2017-05-24 16:25:07 +03:00
John Preston
87ff770020
Make Media::Clip::Playback independent of slider.
...
Now animation of the playback progress is processed inside the
Media::Clip::Playback and the sliders just hold plain float64 value.
2017-05-24 16:25:06 +03:00
John Preston
132d884600
Fix Ui::ImportantTooltip render on OS X 10.6-10.7.
2017-05-17 23:49:20 +03:00
John Preston
b88a49d2f8
Show a tooltip about the emoji section toggling.
2017-05-17 12:40:03 +03:00
John Preston
23874a0a26
Animate call answer button with an outer ripple.
2017-05-09 23:46:39 +03:00
John Preston
ded6933867
Add call button answer->hangup->redial animation.
2017-05-09 23:46:35 +03:00
John Preston
5f2e295d63
Improve calls panel in macOS.
...
Use Qt::Dialog instead of Qt::Tool which works better with window
activation / deactivation handling.
Stop displaying the panel on all spaces when the call is established.
2017-05-09 23:46:28 +03:00
John Preston
29fc69ebaa
Show emoji fingerprint tooltip in call panel.
2017-05-09 23:46:25 +03:00
John Preston
f6eb2c5205
Add call top bar above the media player.
2017-05-09 23:46:18 +03:00
John Preston
4925af69e2
Add Calls::Panel and handle incoming calls.
2017-05-09 23:46:15 +03:00
John Preston
392ab20a47
Use Segoe UI if no Open Sans in all Win versions.
2017-05-01 12:25:57 +03:00
John Preston
297856db32
Load and use Segoe UI [Semibold] if no Open Sans.
...
Sometimes Open Sans Semibold fails to load properly on the latest
Windows Creators Update. In that case try to load Segoe UI instead.
An attempt to fix #3276 .
2017-04-30 19:03:12 +03:00
John Preston
4fc2c18f58
Fix crash in intro label crossfade animation.
...
Remove the assertion because the assumption was not valid.
Closed #3270
2017-04-15 20:40:23 +03:00
John Preston
7b7b9db20b
Add support for video messages send actions.
...
Animate record and upload the same way as voice messages.
2017-04-12 22:37:47 +03:00
John Preston
5480a63beb
Support round video inline playback with sound.
2017-04-12 22:37:27 +03:00
John Preston
cbf040b4dc
Crop round video messages to a circle.
...
Also display unread media dot like in voice messages.
2017-04-12 22:37:26 +03:00
John Preston
647ea44881
Extract TabbedSelector from TabbedPanel.
...
Now we can use TabbedSelector separately, not only inside the panel.
2017-04-10 12:08:55 +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
03a59b04be
Add progress animation to GIFs search.
...
Also display "no results" phrase.
2017-04-04 16:19:49 +03:00
John Preston
f1718f1d10
Generate emoji config by a build action.
...
Also hopefully optimize the build speed for emoji config.
2017-04-01 17:08:42 +03:00
John Preston
e8ed307278
Add search in GIFs to EmojiPanel.
2017-03-31 18:58:59 +03:00
John Preston
0690c4f98c
Move EmojiPanel bottom controls to Controller.
...
Open sticker set by click on the name.
Add a delete sticker set button.
2017-03-31 15:58:52 +03:00
John Preston
bed3aa1a7f
Finalize rename / move of files.
...
Also rename EmojiPan to EmojiPanel.
2017-03-31 15:48:02 +03:00
John Preston
1540f6f528
Use emoji/stickers/gifs slider in EmojiPan.
...
Also rename EmojiTabs to EmojiSections.
2017-03-31 15:48:01 +03:00
John Preston
5bb68cfd8f
Support reading me_url_prefix from config.
...
The default value 'https://t.me ' can be overriden from server config.
2017-03-30 12:49:16 +03:00
John Preston
31e3c6a2c6
WebDocument wrap to HistoryPhoto supported.
...
Only WebDocument with a valid 'size' field value and with a valid
'documentAttributeImageSize' attribute works wrapped as a photo.
2017-03-30 12:49:15 +03:00
John Preston
47044ab25e
Fix GCC warning on Release build in Emoji::Init.
...
Also use initializer_list instead of recursion in Emoji::ComputeId.
2017-03-23 15:47:01 +03:00
John Preston
7fcc5d649c
Change push_back to emplace_back in emoji_config.
...
Perhaps that way GCC won't give a warning on variable count inside
one method Ui::Emoji::Init() in Release builds.
2017-03-22 12:24:53 +03:00
John Preston
bd121752f1
Change your account phone number in Settings.
2017-03-21 20:13:34 +03:00
John Preston
a5df46f381
Improve EditPrivacyBox layout.
...
Also fix incorrect killTimer() calls in DiscreteSlider.
2017-03-19 11:32:24 +03:00
John Preston
5530172add
Alpha 1.0.24: Fix build in Xcode.
2017-03-19 00:29:43 +03:00
John Preston
12cbf78191
Refactor Ui::Radiobutton. Add Ui::Radioenum<Enum>.
...
Now group of Ui::Radiobutton instances share Ui::RadiobuttonGroup.
All value management is done through the group instance, not through
separate radio buttons. Also a template for groups over enums added.
2017-03-19 00:06:10 +03:00
John Preston
0a40bf2071
WIP radiobuttons refactoring.
2017-03-18 14:55:04 +03:00
John Preston
61c5b45d7a
Select exception users in EditPrivacyBox.
2017-03-18 12:49:46 +03:00
John Preston
85fd117675
Add EditPrivacyBox. Edit last seen privacy.
...
Selecting exception users is not supported yet.
2017-03-18 12:49:45 +03:00
John Preston
16fa56de48
Finalize rename / move of files.
2017-03-16 12:53:13 +03:00
John Preston
1027bd431a
Add some helper methods to effect wrappers.
...
Add and use similar methods to WidgetSlideWrap and WidgetFadeWrap:
[show|hide|toggle]Fast() and [show|hide|toggle]Animated().
2017-03-15 18:10:18 +03:00
John Preston
805be84bff
Add block user box. Search isn't working yet.
...
Add a box containing all chats and contacts for blocking users.
Contacts and dialogs loaded state can be accessed in AuthSession.
2017-03-14 17:16:03 +03:00