Commit Graph

206 Commits

Author SHA1 Message Date
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 8eb7f1f1aa Display round video messages using HistoryGif.
Use autodownload and autoplay options from GIFs.
Also improve EditCaptionBox code.
2017-04-12 22:37:26 +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 5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +03:00
John Preston c94a88e154 Rename / move a bunch of files.
Next commit fixes the build.
2017-04-07 18:13:16 +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 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 47c5d56c7b Use QLocale for amount + currency formatting. 2017-03-30 12:49:15 +03:00
John Preston fde769e0b9 Don't use WebDocument size field.
WebDocument size field is not a reliable information,
it can be > 0 and != upload.WebFile size field, so just ignore it
and load all WebDocument files as files with unknown size.
2017-03-30 12:49:15 +03:00
John Preston 23b39923ad Closed beta 1000018002: more phrases for payments.
Also replacing the Buy keyboard button with Receipt if the invoice
was payed already (like in mobile apps). This required to move the
inline markup apply before the media apply in message editing.
2017-03-30 12:49:15 +03:00
John Preston a7d0473a1a WebDocument without size is allowed to load.
We load a WebDocument with an unknown size the same way as we load
normal photos with FileLocation, that doesn't contain size as well.

If the size information from WebDocument and upload.WebFile is
inconsistent we still fail to load the file.
2017-03-30 12:49:15 +03:00
John Preston 12ca6f3819 Closed beta 1000018001: calls and payments dummies. 2017-03-30 12:49:15 +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 7b5985445c Payment service messages supported. 2017-03-30 12:49:15 +03:00
John Preston 2019c24e08 Pay button and messageMediaInvoice supported.
New button type keyboardButtonBuy just shows a box with information.
WebDocument photo type is not supported yet, 'photo' is ignored.
Also HistoryMediaPtr is now implemented as a std::unique_ptr wrapper.
2017-03-30 12:49:15 +03:00
John Preston 0cc7cdd212 Added phrases for phone calls service messages.
Also refactored service message text parsing from an action object.
2017-03-30 12:49:15 +03:00
John Preston 743743ca10 Fix WebPage reply preview.
Sometimes HistoryWebPage::hasReplyPreview() was returning true while
the HistoryWebPage::replyPreview() method was not offering anything.
2017-03-21 20:59:35 +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 2e17b480a5 Fix crash in HistoryVideo::draw. 2017-03-12 11:52:28 +03:00
John Preston bc254228c9 Alpha 1.0.21: Use custom refcount for MTP types.
It seems that heavy using std::shared_ptr and std::make_shared
like it was before completely kills the compilation time.

Also HistoryItem::_create now uses perfect forwarding.
2017-03-11 20:03:36 +03:00
John Preston f2465eba73 Make MTPstring and MTPvector value types.
Also move MTPstring implementation to QByteArray.
2017-03-10 23:27:26 +03:00
John Preston a1b53c660e Show video thumbnail in SendFileBox.
Read media information (image / song / video) in SendFileBox in the
same way it is read in FileLoadTask::process() and reuse it in
FileLoadTask if it was loaded already for the box.
2017-03-10 17:14:10 +03:00
John Preston 9ed8cbe2d1 Send mp4 and quicktime files as videos. 2017-03-10 17:12:51 +03:00
John Preston a441a9fca9 Fix service message highlighting. 2017-03-07 21:58:16 +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 e8b03248e1 Fix members list in supergroups when scrolling up.
When we load previous messages in chat history we add all authors
of the messages to lastAuthors in regular groups (so that we can
suggest them in mention autocomplete). The same logic was (blindly)
applied to supergroups lastParticipants list which is used not only
for the mention autocomplete but also in Profile members list. That
way we were showing there users who could've already left the group.
2017-02-26 21:02:47 +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 63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +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 8ffdfa7923 Fixed a render glitch when highlighting a message. #3023 2017-02-18 14:38:15 +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 25583fa813 Replace T_WIDGET macro with a template base class. 2017-02-11 14:24:37 +03:00
John Preston d3420b6a92 Fixed info display in media in non-group chats.
Version 1.0.8 introduced a regression in displaying forwarded,
reply and via @bot information in photo, video, GIFs and locations.
2017-02-11 10:55:43 +03:00
John Preston e922e5be39 Alpha 1.0.8: seek in voice messages (by waveform). 2017-02-11 01:37:37 +03:00
John Preston c39bf239ea Removed legacy HistoryItem::type() code. 2017-02-10 17:16:50 +03:00
John Preston 2becd307df Always display name in media messages in groups. 2017-02-09 17:34:19 +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 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 33d2ec0f54 Version 1.0.5: new audio code + reorder pinned chats. 2017-01-31 12:13:51 +03:00
John Preston 4964b8b488 Beta 1000002001: Recreate audio device when no output or device changes. 2017-01-25 08:45:09 +03:00
John Preston 6ae68b337d Audio capture moved to a separate module. 2017-01-25 00:25:21 +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 4424dbf64a Allow to resize chats list. One more mode added (narrow chats list). 2017-01-16 12:55:03 +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 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 9d66e88fc1 Alpha 0.10.24: fixed image alignment for ffmpeg, using ffmpeg 3.2. 2017-01-05 13:08:16 +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 3da020dffd Alpha 0.10.23: tiled background fixed for macOS. 2017-01-01 21:10:35 +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 bc0c355d2d Alpha version 0.10.21: pinned chats, groups in common, new design. 2016-12-30 22:23:17 +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 eb4d2a38b6 Closed beta 10020003: All colors moved to palette, some bug fixes. 2016-12-30 17:53:02 +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 85b434bee4 Scheme updated. Pinned dialogs support added. 2016-12-30 17:52:53 +04:00
John Preston 90234cb7a0 Closed beta 10019014: New input fields design and animations. 2016-12-30 17:52:52 +04:00
John Preston 2d48cde27a Fixed crashes in thumb animation. Fix notifications show.
Also allow reporting bots. Also disable last used stickers click.
2016-12-30 17:52:51 +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 a248cef15d Moved back to layer 58, fixed some style issues. 2016-12-30 17:52:44 +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 b0f14d1856 Closed beta 10019011: various style improvements. 2016-12-30 17:52:39 +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 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 eb05e62422 Not rounding images (photos/videos/gifs) that continue to a bubble. 2016-12-30 17:52:25 +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 d607f0768a Closed version 10019009: bubbles with tails. 2016-12-30 17:52:16 +04:00
John Preston 07689476a6 Closed beta 10019008: Some more ripple animations added. 2016-12-30 17:52:13 +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 807bebb3cf Buttons moved to ui/widgets/buttons module, BoxButton removed. 2016-12-30 17:52:04 +04:00
John Preston 1310b156dc Closed beta 10019004: new add contact button, various improvements. 2016-12-30 17:51:57 +04:00
John Preston 494254496e 10019003: Some compose area icons improved. Box headers redesigned. 2016-12-30 17:51:52 +04:00
John Preston 19f4e50e33 New compose area icons. 2016-12-30 17:51:50 +04:00
John Preston fac8e48381 Default background changed to green, "video file" -> "video" in lang. 2016-12-30 17:51:48 +04:00
John Preston 23c2e5364a Removed anim::cvalue and ColorAnimation, all done by fvalue now.
Also moved style::interpolate to anim::color/anim::pen/anim::brush.
2016-12-30 17:51:46 +04:00
John Preston d12177befd Update Telegram button added to DialogsWidget/Intro. Three dot menu. 2016-12-30 17:51:41 +04:00
John Preston 0cbb0014db Removed blue window title, new small title used only in Windows. 2016-12-30 17:51:37 +04:00
John Preston 2a3fd0066d Closed beta 10019001: style::color copy is denied, only const refs. 2016-12-30 17:51:33 +04:00
John Preston c932f3d9df Removing almost all animated over states in IconButton. 2016-12-30 17:51:30 +04:00
John Preston e08f5437a6 Palette usage improvements. 2016-12-30 17:51:29 +04:00
John Preston dbb6371e67 First version on loading themes is ready. 2016-12-30 17:51:27 +04:00
John Preston 2e4426aac0 Old sprites removed completely. Only #rrggbb and #rrggbbaa in styles.
Also moved Checkbox and Radiobutton to Ui namespace.
Also child widgets in many boxes were wrapped in ChildWidget<>.
2016-10-28 12:20:24 +03:00
John Preston f7374aa7b7 Almost all icons moved from sprite.
It is a broken build, some of sprite()s are in stickers.style file.
2016-10-28 00:19:38 +03:00
John Preston 29493a0693 All emoji icons moved from sprite. 2016-10-27 17:10:28 +03:00
John Preston 6e33f039b2 Dropdown replaced by Ui::DropdownMenu. ScrolledWidget removed.
Ui::DropdownMenu is like Ui::PopupMenu, both based on Ui::Menu.
2016-10-27 15:56:48 +03:00
John Preston ec6e46dae7 Some more icons moved from sprite. 2016-10-26 15:24:21 +03:00
John Preston a65c76ea69 Venue layout fixed for multiline address text.
We don't make the bubble wider for the address text to fit in,
so we should not respect address Text::maxWidth() for item _maxw.
2016-10-25 20:30:49 +03:00