John Preston
ac99318f34
Use ranges:: algorithms instead of base::
2017-11-20 16:24:00 +04:00
John Preston
de15da8a93
Improve info layer presentation.
2017-11-19 15:37:15 +04:00
John Preston
903aa46e5c
Disable tabs in third column info.
2017-11-16 13:13:17 +04:00
John Preston
131efa11be
Various fixes.
2017-11-16 11:45:55 +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
bca9b3ca3f
Extract a reusable Ui::ResizeArea class.
2017-11-16 07:59:11 +04:00
John Preston
fc66550a32
Support variable width tabs slider.
2017-11-16 07:59:11 +04:00
John Preston
5c12b0e5fa
Use /permissive- flag for Visual Studio builds.
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
8191ebfc49
Improve peer context menu for info.
2017-11-16 07:59:09 +04:00
John Preston
11a3308cf5
Scroll to field on search query update.
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
39c5898fa4
Save media search state to memento.
2017-11-16 07:59:08 +04:00
John Preston
09d1e3629a
Add media search to all info modes.
2017-11-16 07:59:08 +04:00
John Preston
86ad15612a
Use Info::Controller for the whole info section.
2017-11-16 07:59:08 +04:00
John Preston
eb2719fad1
Added search to files and links shared media.
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
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
54cc3e6315
Shared media multiple items selection.
2017-11-16 07:59:07 +04:00
John Preston
583b0fa778
Display common groups in Info profiles.
2017-11-16 07:59:07 +04:00
John Preston
a08dd1f6e1
Fix build for macOS.
2017-11-16 07:59:06 +04:00
John Preston
65cc4d3fbc
Support item repaint in Info media overview.
2017-11-16 07:59:06 +04:00
John Preston
7905694b31
Add tabs and other types links to Info::Media.
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
c4d33f9986
Add rpl::take(count).
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
21b1ba1f88
Move build to Ubuntu 14.04 and GCC 7.2.
...
To be able to run on the same distributions as before we need to have
the same GLIBC version dependency as in Ubuntu 12.04, which is 2.15.
For that we need to remove all usages of GLIBC features from 2.16 and above.
Currently there are three methods used, so they're wrapped in a separate
static library, linux_glibc_wraps.
It is a separate library because it must be compiled without '-flto' flag,
otherwise the inline __asm__ is not working and we get unresolved symbols.
2017-11-16 07:59:05 +04:00
John Preston
fddcdf359b
Use not type-erased producers in code.
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
ed061252a5
Move to Xcode 9.0 and fix errors in Clang build.
2017-11-16 07:59:05 +04:00
John Preston
292e57ffc7
Use PeerListBox content in info profile.
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
812dcb5e8d
Update styles to match the design.
2017-11-16 07:59:04 +04:00
John Preston
703b944839
Return FlatLabel.margins in getMargins().
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
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
21d136e224
myEnsureResized() now forces recursive create.
2017-11-16 07:59:02 +04:00
visuve
8c92f42de3
Fix uninitialized values
...
- Use C++11 default member initializers
Signed-off-by: Veli-Matti Visuri <veli-matti.visuri@cerescon.fi> (github: visuve)
2017-09-28 18:23:42 +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
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
John Preston
3b373e236e
Make all owned MTPD types immutable.
...
Remove custom refcounting in mtpData, use std::shared_ptr instead.
2017-03-10 23:27:23 +03:00
John Preston
6061d9d65b
Fix WidgetFadeWrap::showFast() after animation. Fix #3096
2017-03-10 19:41:44 +03:00
John Preston
b80dd99172
Ui::FadeAnimation now supports scaling.
...
Ui::WidgetScaledFadeWrap<> wrapper added for fading widgets out and
fading them in with a scale effect similar to Ui::SendButton.
2017-03-07 21:58: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
9510492174
Renamed history_down_button module.
...
Next commit fixes the build.
2017-03-07 21:58:24 +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
31009b19c6
Removed obsolete storage_file_type fields.
2017-03-04 14:28:21 +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
fb230a443e
Fixed text with right bearings display.
...
Sometimes Text::_maxWidth was not accumulated correctly because
the intermediate text blocks had negative right bearing larger
than the whole width of the next text block, so the final computed
line width was less than some intermediate value. Now we accumulate
the _maxWidth value after each block making this value correct.
2017-02-28 19:38:23 +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
5195b4d3ef
RTL strings with trailing spaces render fix.
...
Commit 8d354382a4
introduced a regression in RTL phrases display.
When an RTL line had trailing spaces we started displaying them in
front of the text still assuming counted line width value that did
not include those trailing spaces.
Line width is not including trailing spaces width because it is
allowed to fit in the line any number of spaces.
Also text block "left padding" entity was eliminated. If we have
some spaces in the start of the text block (for example a text block
after a link) we just add an empty word and mark those spaces as its
right padding.
2017-02-26 21:02:45 +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
f82989c9c3
Using std::vector<> and const fields for emoji.
2017-02-25 23:35:55 +03:00
John Preston
c48ed2e62b
Closed beta 1000014001: fixed GCC build.
2017-02-25 21:17:50 +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
63c61637f8
Moved MTP::authedId() to AuthSession::Current().
2017-02-25 19:48:19 +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
7fa1986b27
Version 1.0.14: crash fix in text rendering.
...
Fix a regression introduced in 8d354382a4
which caused an overflow
in _parAnalysis access. We were resizing _parAnalysis array for a
line width without the pending newline character while we used it
for painting a line including the pending newline character. It was
not a problem before, when we were trimming them from the end of
the string, but it results in a buffer overflow and crashes in the
lastest versions. So now we just don't include the newline in the
painted string, so it has exactly the same size as _parAnalysis.
2017-02-20 23:58:54 +03:00
John Preston
8060c7e141
Alpha 1.0.11: fix Qt 5.3.2 build.
...
Qt 5.3.2 QVector works only with types having an assignment operator.
2017-02-17 22:59:25 +03:00
John Preston
b7c4e867e8
Alpha 1.0.11: emoji parsing fixed.
...
We should count emoji length correctly in cases we have a partial
match for a longer one, but not a full match. If we start reading
the next characters but don't find a full emoji there we need to
have a correct length of a previously found emoji saved already.
2017-02-17 21:57:21 +03:00
John Preston
d259656e89
Alpha 1.0.11: emoji parsing fixed.
...
Now we ignore all 0xFE0F characters, because some other
apps send or not send them randomly, not like iOS/macOS.
2017-02-17 20:31:46 +03:00
John Preston
695733f520
Alpha 1.0.10: fix clang/GCC and old OS X build.
2017-02-17 12:56:42 +03:00
John Preston
8d354382a4
Text selection display fixes.
...
- Use QPainter current pen for selected text in cases we
didn't specify it explicitly in the TextPalette.
- Better rounding of QRectF from QFixed values to QRect selected
background filling areas.
- Using QPainter::viewport() instead of random huge QRect() in
clipping, because it fails to apply this huge QRect() clip region
in Retina paint devices: 2x scale QMatrix::map() is not defined for
QRegion-s having rects with sum of dimensions larger than 100000.
2017-02-16 17:07:16 +03:00
John Preston
9757489645
Moved to the latest emoji set.
...
Also the old MetaEmoji project was converted to codegen_emoji.
All emoji now use full string identifiers for local storage.
2017-02-15 21:27:31 +03:00
John Preston
25f90b5159
Fix build of the new TWidgetHelper<> for GCC, finally.
...
Also fixed a char-related warning in codegen project.
2017-02-13 02:17:06 +03:00
John Preston
232ed0a7c0
Fix build of the new TWidgetHelper<> for Clang and GCC.
2017-02-12 23:41:29 +03:00
John Preston
25583fa813
Replace T_WIDGET macro with a template base class.
2017-02-11 14:24:37 +03:00
John Preston
3c18532612
Fixed Ui::PopupMenu submenu creation. #2971
2017-02-09 17:20:49 +03:00
John Preston
e8ead2974b
Added logging of file location invalidations.
...
If file size or file last modified time were changed we
invalidate our known location for a downloaded file. Now
we log those events to DebugLogs to see if they're responsible
for reported download problems.
2017-02-09 16:51:49 +03:00
John Preston
8e3274cd8f
Colors added in palette for selected messages.
...
User names in groups, text and links in messages and names
in files and shared contacts not can have different colors
in plain inbox / outbox messages and in selected messages.
Now we can use a separate color for selected parts in Text.
2017-02-09 16:46:14 +03:00
John Preston
cce99a96ac
Fixed directory choose dialog in Windows XP.
2017-02-09 16:44:37 +03:00
John Preston
b842761ea3
Closed beta 1000006001: Built in theme and color palette editor.
2017-02-07 17:56:33 +03:00
John Preston
60f45ab9b3
Improved location coords precision when converting them to string.
...
Also disabled some options for a packaged build.
2017-02-03 13:17:40 +03:00
John Preston
d1b9b8e3a3
Alpha 1.0.4: Click and drag to reorder pinned chats.
2017-01-30 18:27:13 +03:00
John Preston
041e366df7
Alpha 1.0.1: resize chats list with mouse press-and-drag.
...
Also fixed drag-n-drop images from Firefox in Windows.
Also some additional colors added to themes palette:
HistoryToDown button now has separate colors.
Windows title bar and buttons have separate active/inactive colors.
2017-01-16 16:27:11 +03:00
John Preston
47aa03ce37
Logging string in case of crash inside Qt text processing.
...
There are some crash reports from OS X 10.6 and it is the way
to find out which string exactly crashes the app in that place.
2017-01-16 13:18:34 +03:00
John Preston
4424dbf64a
Allow to resize chats list. One more mode added (narrow chats list).
2017-01-16 12:55:03 +03:00
John Preston
c58df19b93
Fix popup menu rendering in OS X 10.6-10.7. #2839
2017-01-15 16:12:35 +03:00
John Preston
7fb1463c43
Version 1.0 stable: bump copyright date to 2017.
2017-01-11 23:02:13 +04:00
John Preston
2d185cf66e
Some colors split for the palette. Theme preview applying improved.
...
Also attempting to fix travis build.
2017-01-11 12:16:44 +04:00
John Preston
30c9bcb985
Alpha 0.10.27: appoint admins in your supergroups from context menu.
2017-01-11 09:30:51 +04:00
John Preston
143181095f
Alpha 0.10.26: t.me links, latest OpenAL code used.
...
Also inline results should be displayed above the message field.
2017-01-07 15:55:05 +04:00
John Preston
d0a7e6be73
Delete messages box labels fix and confirm by Enter key.
...
Also context menu fixed in case of non-transparent windows.
Also pausing GIFs when the window is not active.
2017-01-02 21:11:49 +04:00
John Preston
72e34dc5b1
Fixed alpha 0.10.23 build for Linux.
2017-01-01 21:49:44 +04:00
John Preston
c65a280b9d
Alpha 0.10.23: small tiled background performance improved.
...
Also some error texts improved. Also Ctrl+W closes MediaView now.
2017-01-01 20:59:33 +04:00
John Preston
eec5b78054
Delete for everyone checkbox added. Various bugfixes.
2017-01-01 15:47:00 +04:00
John Preston
218f991547
Alpha version 0.10.22: critical bug fixes.
2016-12-31 17:34:41 +04:00
John Preston
b39987c343
Closed beta 10020007: New selected messages count animation.
2016-12-30 17:53:10 +04:00
John Preston
1d8e76aa08
New empty user/chat photos: with filled background and initials.
2016-12-30 17:53:09 +04:00
John Preston
38e6a0ae7e
Closed beta 10020005: Added several buttons animations.
2016-12-30 17:53:06 +04:00
John Preston
ef927c8465
Theme preview ready.
...
Also style::color is now copyable, constructed only inside a palette.
Also macOS setup new background ready.
2016-12-30 17:53:05 +04:00
John Preston
1d895cd953
Closed beta 10020004: stickers box fixed, manage admins box fixed.
2016-12-30 17:53:03 +04:00
John Preston
eb4d2a38b6
Closed beta 10020003: All colors moved to palette, some bug fixes.
2016-12-30 17:53:02 +04:00
John Preston
177078b0af
Closed beta 10020002: Use default color theme link in Settings.
2016-12-30 17:53:00 +04:00
John Preston
0480e02b23
Closed beta 10020001: application icon changed.
2016-12-30 17:52:58 +04:00
John Preston
2436ad74bd
Boxes redesigned. Common groups moved to Shared Media.
...
Also transparent images sending fixed.
2016-12-30 17:52:56 +04:00
John Preston
90234cb7a0
Closed beta 10019014: New input fields design and animations.
2016-12-30 17:52:52 +04:00
John Preston
4692fdeb5f
Closed beta 10019013: Groups in common now are opened in a section.
2016-12-30 17:52:50 +04:00
John Preston
47977009b8
Moved FloatAnimation->Animation, Animation->BasicAnimation.
2016-12-30 17:52:48 +04:00
John Preston
06ed7b8eaf
Some more ripple animations. Now only anim::value (float64).
...
Also each FloatAnimation now stops MTP responses.
Also slide animations done by FloatAnimation.
Closed beta 10019012.
2016-12-30 17:52:46 +04:00
John Preston
7bb3b4d807
Common groups profile block done. Moved to layer 59.
...
Also profile block modules were renamed.
2016-12-30 17:52:42 +04:00
John Preston
a3c406dd00
Some macOS improvements for animations and retina support.
2016-12-30 17:52:41 +04:00
John Preston
3e6d483939
Closed beta 10019011: fixed build in Xcode, langs updated.
2016-12-30 17:52:40 +04:00
John Preston
b0f14d1856
Closed beta 10019011: various style improvements.
2016-12-30 17:52:39 +04:00
John Preston
2796c53542
Some more ripple animations.
2016-12-30 17:52:37 +04:00
John Preston
8958ae0377
Typing animations from android.
2016-12-30 17:52:36 +04:00
John Preston
3cff50009c
Closed beta 10019010: unified attach button, new intro, new stickers.
...
Now all files sending is confirmed before preparing for sending.
You can paste from clipboard and drag many files at once.
2016-12-30 17:52:32 +04:00
John Preston
26c08236cd
Fixed build for Xcode. Round cap used in radial animations.
2016-12-30 17:52:31 +04:00
John Preston
3da0533339
Intro redesign done.
2016-12-30 17:52:30 +04:00
John Preston
6e0394dd42
Stickers box redesigned.
2016-12-30 17:52:28 +04:00
John Preston
38d20c506e
Image options are used in cache key. Medias with captions has tails.
2016-12-30 17:52:27 +04:00
John Preston
b1ca0f5ea3
Fixed build for macOS old versions.
2016-12-30 17:52:26 +04:00
John Preston
eb05e62422
Not rounding images (photos/videos/gifs) that continue to a bubble.
2016-12-30 17:52:25 +04:00
John Preston
9155591e8a
New cancel search icon animation.
2016-12-30 17:52:24 +04:00
John Preston
9fa284a6d1
Photo and video overview and background gallery checkboxes improved.
2016-12-30 17:52:23 +04:00
John Preston
e880c4876e
Strict alignment request for base::lambda. Various improvements.
2016-12-30 17:52:21 +04:00
John Preston
8a0c275658
Group and channel create box photo select button improved.
2016-12-30 17:52:20 +04:00
John Preston
2ada4d841f
Top bar buttons design improved, emoji pan animations removed.
2016-12-30 17:52:18 +04:00
John Preston
31a66d66e2
Layers show/hide rewritten, animated show over mainmenu and settings.
2016-12-30 17:52:15 +04:00
John Preston
07689476a6
Closed beta 10019008: Some more ripple animations added.
2016-12-30 17:52:13 +04:00
John Preston
cdef9fa14f
Active state for IconButton added, when ripple is not hidden.
2016-12-30 17:52:11 +04:00
John Preston
7fa274a68e
Improved ripple animation colors and styles for different buttons.
...
Also moved FlatLabel and LabelSimple to ui/widgets/labels module.
Also moved ScrollArea to ui/widgets/scroll_area module.
2016-12-30 17:52:10 +04:00
John Preston
3186e1e495
Ripple animations done for IconButton, FlatButton and RoundButton.
...
Also moved input field classes to ui/widgets/input_fields module.
2016-12-30 17:52:08 +04:00
John Preston
48eb72a9c2
Optimized dropdown animation. Dropdown animation for EmojiPan done.
2016-12-30 17:52:07 +04:00
John Preston
78f55c10e9
Closed beta 10019006: left main menu.
2016-12-30 17:52:06 +04:00
John Preston
807bebb3cf
Buttons moved to ui/widgets/buttons module, BoxButton removed.
2016-12-30 17:52:04 +04:00
John Preston
55b1ba128d
Fixed PanelAnimation for Retina, added 1px padding to emoji.
2016-12-30 17:52:01 +04:00
John Preston
bd2be4e0c1
Build fixed for Linux, checking for compositing manager running.
...
Backported QX11Info::isCompositingManagerRunning from Qt 5.7.
2016-12-30 17:52:00 +04:00
John Preston
27ff8d4bf5
Closed beta 10019004: improved new dropdown animation on macOS.
2016-12-30 17:51:58 +04:00
John Preston
1310b156dc
Closed beta 10019004: new add contact button, various improvements.
2016-12-30 17:51:57 +04:00
John Preston
3366e05b77
Rich dropdown animations.
2016-12-30 17:51:56 +04:00