Commit Graph

2869 Commits

Author SHA1 Message Date
John Preston 81e728ada0 Version 1.1.7.
- Improved video messages: radial playback progress,
Picture-in-Picture support, duration countdown.
- Voice and video messages now automatically play one after another.
2017-05-30 21:33:02 +03:00
John Preston 47c22c6cec Update langs. 2017-05-30 21:31:31 +03:00
John Preston 983c2c0869 Support non-standard binary names in autoupdater.
On Linux and Windows support non-standard application binary name.
2017-05-30 21:26:53 +03:00
John Preston a1f2fb46f9 Fix scroll history to down with unread bar.
Regression was introduced in 972b5078f6.

When we show history at a specific message or at unread messages we
need to clear and destroy old showFrom and unreadBar like it is done
in historyLoaded(), otherwise we always scroll to existing unreadBar.
2017-05-27 13:28:17 +03:00
John Preston 9a18ecf93d Fix the chats list width saving with passcode.
Regression was introduced in 0339b1b54b.

If the passcode is enabled the main widget is created after the main
window was fully initialized, so the first main widget resize already
used the shrink algorithm while creating the third column.

No we shrink the left column only after the main widget was started.
2017-05-27 13:28:16 +03:00
John Preston 21df34ad55 Alpha 1.1.6. 2017-05-26 23:10:20 +03:00
John Preston 2c1e27add0 Fix crash in group members list. 2017-05-26 23:05:04 +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 57f0158ade Disable quiet hours check in Windows before 10.
We had several reports about wrong values in registry on Windows 8.1,
like the quiet hours are enabled and all notifications are skipped,
without anything like that being enabled in Windows settings.
2017-05-26 17:40:46 +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 6148b78745 Read after AVERROR_INVALIDDATA in video sound.
Partially reverse c1c3e4af5b that stopped on error in such cases.
2017-05-26 17:18:58 +03:00
John Preston e24b0559d3 Fix message history stick to bottom.
Scroll animation should finish when we want to jump to the bottom.
2017-05-26 16:06:18 +03:00
John Preston 10e34aa996 Fix a crash in round videos with a message text. 2017-05-26 15:20:11 +03:00
John Preston 6052a0de0e Fix crash in history geometry update. 2017-05-25 03:11:59 +03:00
John Preston 78d4f29af3 Alpha 1.1.4: Fix build script for macOS.
Regression was introduced in b86da76613.
2017-05-24 23:00:23 +03:00
John Preston b04c03a5c3 Alpha 1.1.4.
- Fix a crash in animated history scrolling.
- Fix a bug with pinned chat to supergroup upgrade.
2017-05-24 22:59:17 +03:00
John Preston 1cc5b224c7 Fix pinned chat to supergroup upgrade bug.
Pinned chats were always updated in dialogs list, even after being
migrated to supergroups. That was bringing them back to chats list.
2017-05-24 22:54:41 +03:00
John Preston 9665d5cb45 Fix crash and improve animated scrolling.
Also fix reply returns traversing after animated scrolling.
2017-05-24 22:28:24 +03:00
John Preston e0978f86d1 Alpha 1.1.3: Fix some render in macOS. 2017-05-24 17:36:58 +03:00
John Preston 413be7d76d Alpha 1.1.3.
Also update libtgvoip.
2017-05-24 16:59:40 +03:00
John Preston 972b5078f6 Improve animated scroll to message.
Use it in replies navigation and in jumping to message history end.
2017-05-24 16:25:21 +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 03aeaadd5b Update floating player position. 2017-05-24 16:25:19 +03:00
John Preston 18195f9c4e Rename EmojiPanelTab to ChatHelpers::SelectorTab. 2017-05-24 16:25:18 +03:00
John Preston 75dcce0b3c Save floating player position in localstorage. 2017-05-24 16:25:17 +03:00
John Preston ee6d80673a Snap floating player to column and corner. 2017-05-24 16:25:17 +03:00
John Preston 8f290451b6 Handle mouse clicks in floating player widget. 2017-05-24 16:25:16 +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 0bfff65306 Add an animated scroll to current media message. 2017-05-24 16:25:14 +03:00
John Preston 6bde8cdce4 Remove legacy debug information. 2017-05-24 16:25:13 +03:00
John Preston 9332032839 Click on media player goes to voice/video message. 2017-05-24 16:25:12 +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 2661fe5cd5 Fix crash in clear history after report spam. 2017-05-24 16:25:11 +03:00
John Preston 43c8046e4c Don't handle telesco.pe links like t.me links.
It is better to open web version of telesco.pe/username instead of
a channel, because it shows only the round videos. You can share a
t.me link to your channel if you wish to share the full channel.

It is not bad to open web version of telesco.pe/username/post instead
of a specific post in a channel, because the video message is shown
in the web page preview and can be viewed without following the link.
2017-05-24 16:25:10 +03:00
John Preston 611a3e2f8a Handle voice playlist in Media::Player::Instance.
This allows video and voice messages to autoplay one after another.
2017-05-24 16:25:09 +03:00
John Preston b9119e5ef6 Play video messages as Type::Voice.
Use AudioMsgId instead of videoPlayId.
Any audio track now can be a child loader track of some video clip.
Use Type::Voice instead of Type::Video for round video messages.
Video messages play / pause / resume the same way as voice messages.
2017-05-24 16:25:09 +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 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 8446fa5a4d Change round video playback duration to countdown. 2017-05-24 16:25:06 +03:00
John Preston efb59e8c3a Show GIF in Mediaview on click.
This way you can watch GIF on full screen and switch between them.
2017-05-24 16:25:05 +03:00
John Preston 2377873c45 Add items to overviews inside HistoryMedia.
This allows one history item to exist in several media overviews.
See voice message, which should be in VoiceFiles and RoundVoiceFiles.
2017-05-24 16:25:04 +03:00
John Preston 2049f3e55a Fix Mac App Store entitlements. 2017-05-19 17:13:33 +03:00
John Preston b86da76613 Move project files tdesktop to tdesktop/Telegram.
After adding the libtgvoip submodule its project was created by GYP
outside the project folder, because the relative path to libtgvoip.gyp
is "../ThirdParty/libtgvoip/" and projects are created in the same
relative folders.

Now we place MSVC and Xcode projects in tdesktop/Telegram, so the
libtgvoip project is created at tdesktop/ThirdParty/libtgvoip.
2017-05-18 12:04:39 +03:00
John Preston 59100a51c6 Version 1.1.2 update and changelog. 2017-05-18 00:07:06 +03:00
John Preston bf0f956325 Preserve panels state through visibility toggles.
Emoji/Stickers/GIFs panel saves all the state between activations.
2017-05-18 00:02:31 +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 b4d10ca693 Alpha 1.1.1: Update langs. 2017-05-17 17:37:19 +03:00
John Preston 38a99c4669 Alpha 1.1.1: Improved protocol, emoji tooltip. 2017-05-17 17:35:47 +03:00
John Preston e2b212dba9 Update libtgvoip submodule. 2017-05-17 17:34:28 +03:00
John Preston c1598ff4ed Highlight mentions in sticker set box title. 2017-05-17 17:32:36 +03:00
John Preston 299143108b Improve protocol support. 2017-05-17 16:39:17 +03:00
John Preston 0339b1b54b Shrink dialogs column when enabling emoji sidebar.
Try to hold the ratio between the chat width and the dialogs list
width when the emoji sidebar is created by shrinking the left column.
2017-05-17 15:38:42 +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 966dcd5509 Fix render lag in the new tooltip.
Geometry update, animation cache grab and show call should be invoked
queued, because they depend on the later controls geometry update.
2017-05-17 14:15:08 +03:00
John Preston 52f7c8f064 Mark connection as inited only on a non-error response. 2017-05-17 14:01:58 +03:00
John Preston b88a49d2f8 Show a tooltip about the emoji section toggling. 2017-05-17 12:40:03 +03:00
John Preston 0eb2d28d90 Show floating date only when scrolling up. 2017-05-16 16:41:47 +03:00
Igor Gnatenko 185bdb6704 localstorage: qFlags is working only on enumeration types
Closes: https://github.com/telegramdesktop/tdesktop/issues/3379
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-05-15 14:03:28 +03:00
John Preston 206dcd1102 Fix calls in Mac App Store build. 2017-05-15 11:18:37 +03:00
John Preston 8a60658af7 Fix crash in calls panel closing. 2017-05-15 11:17:59 +03:00
John Preston 0b77c0bce8 Version 1.1: Show user name in call top bar. 2017-05-14 22:46:05 +03:00
John Preston 983a13f66b Version 1.1: Display changelog. 2017-05-14 20:33:54 +03:00
John Preston 820b07b2bc Version 1.1: Calls. 2017-05-14 19:15:30 +03:00
John Preston 0496a52cdd Alpha 1.0.38: Fix webpage layout.
Webpage layout is broken if title contains a newline.
Remove all newline characters from webpage / game / invoice title.
2017-05-13 17:31:00 +03:00
John Preston 9da9775043 Update langs. 2017-05-13 17:30:38 +03:00
John Preston e3ddac1686 Handle t.me/iv links, just open the requested url. 2017-05-13 15:14:34 +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 565b56fb5f Pause all media if a call is created.
Pause video, voice messages, songs and stop video messages.
2017-05-12 20:44:18 +03:00
John Preston 040ee90aec Fix call panel animation in OS X 10.6-10.7. 2017-05-12 19:25:56 +03:00
John Preston 843f983051 Skip call ended sound if ended from other device. 2017-05-12 19:09:34 +03:00
John Preston 9dfd7f4ba9 Play the outgoing call sound only in Ringing state. 2017-05-12 18:53:59 +03:00
John Preston b74dea8662 Move logo images to Messenger. Set call panel icon. 2017-05-12 18:28:44 +03:00
John Preston 7593be4361 Display a userpic placeholder in the call panel. 2017-05-12 17:33:30 +03:00
John Preston 5fe75fbd5f Attempt to fix an assertion violation.
In some cases HistoryItem::attachToBlock was not calling
History::setHasPendingResizedItems (if it was not pending resize).

That could lead to addition of a whole block of items without
setting pending resize for the history and it violated the history
invariant of the _blocks y/height and their _items y/height.

Now each time we attachToBlock an item we also setPendingResize it.
2017-05-12 17:05:06 +03:00
John Preston d581e00299 Improve history items management.
Encapsulate HistoryBlock::y and HistoryBlock::height.
2017-05-12 16:53:08 +03:00
John Preston 3f2bed8a92 Improve report spam code. Fix a possible crash.
HistoryWidget::setReportSpamStatus was called even if the _peer
has changed to nullptr, which used this _peer and crashed.
2017-05-11 20:08:08 +03:00
John Preston ba1f1af83e Test QImage instead of QPixmap for render.
Trying to fix a strange crash inside QWidget::render().
2017-05-11 19:29:57 +03:00
John Preston 8bb4d31409 Fix crash in HistoryWidget::mousePressEvent.
When the mouse was over edit / reply and the history was closed,
mouse click handler still tried to jump to the message. Now we
update the mouse over state each time the history changes.
2017-05-11 19:11:08 +03:00
John Preston 0557eeddbd Switch base::TaskQueue to Qt sync primitives.
std::mutex in the current build environment is not supported
by Windows XP, I guess because Ninja uses v140 platform toolset.
2017-05-11 17:21:43 +03:00
John Preston c438692d49 Fix Travis build. 2017-05-10 15:05:19 +03:00
John Preston 086684ca69 Use SSE2 flags (instead of SSE4.1) for Linux build. 2017-05-10 14:04:31 +03:00
John Preston d6a919c372 Alpha 1.0.37: Multiple crash fixes.
Also rate call box style is improved.
2017-05-10 11:01:34 +03:00
John Preston 8a4a7897a0 Fix contract violation in Call::startIncoming.
Also fix call answer while dhConfig is not received yet.
2017-05-10 10:58:02 +03:00
John Preston e99739ca0e Alpha 1.0.36: First public release of calls. 2017-05-09 23:51:07 +03:00
John Preston 96062039c7 Improve RateCallBox design. 2017-05-09 23:46:43 +03:00
John Preston c78cc331d1 Discard call in case of an error.
Also add a couple of call error messages.
2017-05-09 23:46:43 +03:00
John Preston 061bd109d2 Closed beta 1000035003: Try new sounds + fixes. 2017-05-09 23:46:42 +03:00
John Preston e7dcd5ab15 Don't decline awaited incoming call on app quit. 2017-05-09 23:46:41 +03:00
John Preston 530a385d4e Add sound override support by codes in Settings. 2017-05-09 23:46:40 +03:00
John Preston 23874a0a26 Animate call answer button with an outer ripple. 2017-05-09 23:46:39 +03:00
John Preston 3b46382550 Add logging for libtgvoip when we have DebugLogs. 2017-05-09 23:46:39 +03:00
John Preston b3d5ac1660 Fix call discard when hanging up before request. 2017-05-09 23:46:38 +03:00
John Preston 622fbdb64b Fix BN_div/mod_word() usage. 2017-05-09 23:46:37 +03:00
John Preston d0afe83beb Fix call panel in macOS build. 2017-05-09 23:46:36 +03:00
John Preston 771bba4e01 Closed beta 1000035002: Sounds in separate qrc. 2017-05-09 23:46:36 +03:00
John Preston ded6933867 Add call button answer->hangup->redial animation. 2017-05-09 23:46:35 +03:00
John Preston 2214e980ef Add call panel show / hide animation. 2017-05-09 23:46:34 +03:00
John Preston 299dc3fc96 Reuse call panel if current call is in Busy state. 2017-05-09 23:46:33 +03:00
John Preston 0a6e012e90 Add call debug window on Ctrl+Click Show Info.
It is available only when debug logs are enabled.
2017-05-09 23:46:33 +03:00
John Preston 96a0fcb28f Closed beta 1000035001. 2017-05-09 23:46:32 +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 6f89d01452 Add new Media::Audio::Instance for audio tracks.
Move some audio-related code from Media::Player to Media::Audio.
2017-05-09 23:46:29 +03:00
John Preston 11525a1e50 Add RateCallBox for calls feedback collection. 2017-05-09 23:46:28 +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 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 e050e270fc Try to hangup current call when quitting the app. 2017-05-09 23:46:26 +03:00
John Preston 29fc69ebaa Show emoji fingerprint tooltip in call panel. 2017-05-09 23:46:25 +03:00
John Preston f42f79ea95 Add "line busy" call state with a redial button. 2017-05-09 23:46:24 +03:00
John Preston d5ff728da6 Show privacy / incompatibility errors in calls. 2017-05-09 23:46:24 +03:00
John Preston a3252c13d7 Edit phone calls privacy in Settings. 2017-05-09 23:46:23 +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 f4911431d5 Request, parse and apply phone.getCallConfig. 2017-05-09 23:46:21 +03:00
John Preston 28c0e815b3 Add new calls to Calls log box in realtime.
Also improve button ripple effect in Calls log box.
2017-05-09 23:46:20 +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 f6eb2c5205 Add call top bar above the media player. 2017-05-09 23:46:18 +03:00
John Preston 60ac7572af Display name, status and emoji in Call Panel. 2017-05-09 23:46:17 +03:00
John Preston b267957abe Apply all MTP Key generation checks to calls.
Also move all OpenSSL BN_* calls to base/openssl_help header.
2017-05-09 23:46:16 +03:00
John Preston 4925af69e2 Add Calls::Panel and handle incoming calls. 2017-05-09 23:46:15 +03:00
John Preston 0a716036c2 Extract Calls::Call. Add a call button to TopBar. 2017-05-09 23:46:14 +03:00
John Preston d18164bc51 Add Calls::Instance. Add libtgvoip as a dependency.
Also move all submodules to Telegram/ThirdParty.
2017-05-09 23:46:08 +03:00
John Preston d78523e905 Fix resource leak in SPMediaKeyTap. 2017-05-09 14:49:56 +03:00
John Preston 3156dc0f1a Preserve video filename and mime from cloud data. 2017-05-08 17:13:16 +03:00
John Preston 038361a1e9 Fix overview items layout after message deletion. 2017-05-08 17:01:14 +03:00
John Preston b71a901182 Round thumbs for round videos in shared links. 2017-05-08 17:00:26 +03:00
John Preston caf2e19d27 Better error message for banned in public groups.
Also improve the changelog.
2017-05-08 16:30:59 +03:00
John Preston aedf85c965 Update opus library to v1.2-alpha2 version. 2017-05-08 16:26:06 +03:00
John Preston a7e695d914 Better show in folder in Windows / Linux.
Inspired by https://github.com/qbittorrent/qBittorrent.
2017-05-07 16:28:58 +03:00
John Preston 291a6b73ab Show phone instead of "online" in the main menu. 2017-05-07 12:00:49 +03:00
John Preston 475f0e9544 Fix build for the new GYP version, fix Appveyor. 2017-05-05 12:25:06 +03:00
John Preston bf659938ba Fix stickers list remote set button update. 2017-05-03 16:56:14 +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 33f59dd3ec Fix an infinite recursion in Emoji panel/section.
HistoryWidget::resizeEvent() can start taking TabbedSelector from
TabbedPanel which will call QWidget::render() which can call again
HistoryWidget::resizeEvent() from sendPendingMoveAndResizeEvents().

Use a separate flag for _tabbedSection to prevent recursion there.
2017-05-01 11:29:02 +03:00
John Preston aedbd6dfe4 Fix assertion violation when editing GIF / video.
If a GIF / video had no thumbnail the _animated flag was removed.
2017-05-01 11:03:56 +03:00
John Preston 5a8ce36181 Alpha 1.0.35: Admins delete messages in chat. 2017-04-30 20:17:35 +03:00
John Preston 10b7d7c473 Update langs. 2017-04-30 20:00:52 +03:00
John Preston 7fedf24d9e Fix video message and sticker reply preview on Retina.
Wrong preview image size was a reason for image resize before
drawing the preview and it caused black background, not transparent.
2017-04-30 19:58:31 +03:00
John Preston 5ed698ac69 Link correct OS X 10.6-10.7 libraries. 2017-04-30 19:56:13 +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 6418c9c718 Handle updates from MTP after RPC responses.
If some RPC responses and MTP updates are received together a fake
requestId in the negative range was used and that way updates were
processed before responses.

That could lead to an incorrect "out" message flag when sending
messages to supergroups, because a broadcast update about the new
message without "out" flag was handled before the request response.

Now a separate response map and updates list are used and responses
are handled always before the updates.
2017-04-30 17:23:57 +03:00
John Preston 413eafb240 Allow chat creator/admins to delete for everyone.
Chat creator and admins (if admins are enabled) now can delete
any message for everyone, not only outgoing ones.
2017-04-30 16:58:45 +03:00
John Preston 4c2a0fa630 Fix top bar layout when emoji section is visible. 2017-04-30 16:58:27 +03:00
John Preston a925822141 Generate and handle new video message links. 2017-04-30 16:43:19 +03:00
John Preston cd6a189990 Show some info for USER_BANNED_IN_CHANNEL error. 2017-04-30 16:43:18 +03:00
John Preston 07a274f927 Improve video message status text in a web page.
Show duration / progress text in the bottom left bubble corner.
2017-04-30 16:43:17 +03:00
John Preston eb240defa3 Display forwarded info in video messages. 2017-04-30 16:43:17 +03:00
John Preston 4659b664e7 Skip fwd_info for msgs from chat with yourself.
Server doesn't add fwd_info if a non-forwarded message is forwarded
from chat with yourself so don't add it locally as well.
2017-04-30 16:43:16 +03:00
John Preston d2c6de3df6 Play audio documents inside app by actionOnLoad. 2017-04-30 16:43:15 +03:00
John Preston e8a3535c74 Support audio documents playback inside app.
Also add some more decoders in ffmpeg configuration (wav).
Also stop audio device restart on PKEY_AudioEndpoint changes.
Also deduce channel layout from channel count in ffmpeg loaders.
2017-04-30 14:34:23 +03:00
John Preston 46690da488 Make round reply preview for video messages.
Also add a reply bar for video messages.
Also add a reply preview for stickers.
2017-04-25 13:47:52 +03:00
John Preston f11c76d06b Show featured sticker sets when no sets installed. 2017-04-24 18:59:54 +03:00
John Preston 5ec758637d Alpha 1.0.34: Update langs. 2017-04-21 16:25:17 +03:00
John Preston 33ffa0715d Alpha 1.0.34: Fix tabbed section widget render.
Also fix error message layout in EditCaptionBox.
2017-04-21 16:22:45 +03:00
John Preston 8f719f8c06 Remove edit caption UI for not my messages.
Regression was introduced in 8eb7f1f1aa.
2017-04-21 13:59:03 +03:00
John Preston da0387a23e Fix forwarded message original id. Closes #3305. 2017-04-21 13:47:39 +03:00
John Preston 9eea4fcf03 Update API scheme. Closes #3311, closes #3310. 2017-04-21 13:45:34 +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 bc1eff83cb Fix crash in audio device property change handler.
PSStringFromPropertyKey should be checked before being used.
2017-04-18 21:58:49 +03:00
John Preston f619afc4c6 Alpha 1.0.33: Fix build for Xcode. 2017-04-16 00:45:25 +03:00
John Preston 7ad7028880 Alpha 1.0.33: Various fixes and improvements. 2017-04-16 00:36:46 +03:00
John Preston 8e241e8b78 Improve Emoji-Stickers-GIFs panel.
Fix broken minimal panel size.
Remove HistoryWidget context menu from the panel.
2017-04-16 00:05:57 +03:00
John Preston 6226cf2809 Display video message playback progress time. 2017-04-15 23:30:28 +03:00
John Preston 7312114b75 Use full volume for video messages.
Set video volume to VideoVolume in MediaView and to 1 in HistoryGif.
2017-04-15 22:51:53 +03:00
John Preston 0ff299758a Use correct lang phrases for video messages. 2017-04-15 22:51:44 +03:00
John Preston de7c886008 Move passcode management from MainWindow.
Check for auto lock in AuthSession. Don't autolock while video plays.
Closes #3219
2017-04-15 21:51:12 +03:00
John Preston e3aacc8072 Don't change notification sound to empty on mute.
If notifications are muted no one from official apps play sound.
So there is no need to turn the sound off, otherwise if you enable
the notifications from a different app the sound stays off.

Enable the sound (change to "default") when turning notifications on.
2017-04-15 21:51:11 +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 8a8e101cd0 Fix crash in file downloader destruction.
Regression was introduced in 835b1801bc.

We need to destroy all FileLoader instances before destroying the
Downloader instance, because they hold pointers to it and call its
methods in destructor if they need to cancel some MTP requests.
2017-04-15 20:39:32 +03:00
John Preston c10dee11e8 Fix crash in macOS notifications manager init.
Regression was introduced in 1725927aea.

Also create the thread only when it is first needed.
2017-04-15 20:39:25 +03:00
John Preston 4e5c4a462b Fix crash in videoplayer audio stream loader.
Regression was introduced in 835b1801bc.
2017-04-15 20:32:14 +03:00
John Preston bc7139d67a Fix crash in AuthSession::Exists() if there is no Messenger.
Also use toggleAnimated instead of show/hideAnimated in intro.
2017-04-15 19:28:07 +03:00
John Preston dd005d9027 Generate correct lang tag count, not hardcoded. 2017-04-13 11:51:47 +03:00
John Preston 670a725c53 Alpha 1.0.32: Fix round video checks in MediaView. 2017-04-12 23:34:57 +03:00
John Preston af28e3b0d7 Alpha 1.0.32: Fix build in Xcode. 2017-04-12 23:28:04 +03:00
John Preston ca90b8b8fd Alpha 1.0.32: Test the new API and CDN support. 2017-04-12 23:04:34 +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 96dbb38aaa Improve mute and info display in video messages.
Display mute on top of the video and move info to the right side
for incoming messages (because of channel authors and views count).
2017-04-12 22:37:28 +03:00
John Preston 1b7777e3a0 Pause other GIFs when playing round video message. 2017-04-12 22:37:28 +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 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 8d28d0691f API scheme updated to layer 66.
Support CDN file download.
2017-04-12 22:36:25 +03:00
John Preston 7dd24a30b5 Replace MetaLang with codegen_lang. 2017-04-12 22:18:42 +03:00
John Preston 1725927aea Clear macOS notifications in a separate thread.
Sometimes NSUserNotificationCenter -deliveredNotifications method call
freezes for a long time, so now we use it only in a separate thread and
we group all the requests for clearing while another clearing is done.
2017-04-12 15:50:35 +03:00
John Preston 50ea4e316e Improve macOS window behavior.
Don't deactivate the application when the main window is hidden.
Such behavior provides some unwanted windows reordering in the
current workspace when the window is hidden by Cmd+W.

Ignore app activation by applicationDidBecomeActive: notification
for a short period of time after a user notification for other app
instance was received (the system sends them sometimes and the main
window is shown + activated for a wrong instance of the application).
2017-04-12 15:50:12 +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 eaf1e2b18e Alpha 1.0.31: Fix layout for message edit. 2017-04-11 21:04:28 +03:00
John Preston 4b7e5750ec Alpha 1.0.31: Fix crash in localstorage. 2017-04-11 20:31:20 +03:00
John Preston d4af14041c Fix build for OS X 10.6-10.7.
Qt 5.3.2 doesn't support QTimer::singleShot(delay, lambda).
2017-04-11 18:44:11 +03:00
John Preston b736d45bc4 Alpha 1.0.30: New tabbed panel as a third column. 2017-04-11 18:02:46 +03:00
John Preston 7f7318c0bf Fix members dropdown and chat info menu position. 2017-04-11 17:27:46 +03:00
John Preston 0e2c282476 Don't stop GIFs when TabbedSection is opened.
Also improve the appearance of Stickers and GIFs tabs with no items.
2017-04-11 17:03:47 +03:00
John Preston 891d200e2d Add TabbedSection which uses the TabbedSelector. 2017-04-10 12:08:56 +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 2c81014188 Fix crash on precondition in PeerListBox.
If a global search request was sent and we clear the query the
response still was being processed which caused an Expects() fail.
2017-04-10 12:08:15 +03:00
Viktor Oreshkin f1d97fb92c Fix build in Xcode (#3241)
Signed-off-by: Viktor Oreshkin <stek29@users.noreply.github.com>
2017-04-08 18:05:59 +03:00
John Preston 26b05cf844 Finalize rename / move.
Also removed non-existent emoji_section module from GYP.
2017-04-08 17:05:19 +03:00
John Preston 155cd8ce42 Rename / move emoji_panel to tabbed_panel.
Next commit fixes the build.
2017-04-08 16:56:14 +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 cd3c5e4ade Fix build in GCC.
GCC doesn't allow using scoped enums in bitfields without warnings.
So we use "unsigned" bitfield and a couple of get/set methods.
2017-04-08 14:25:54 +03:00
John Preston 38f94c63e9 Add blocked users list in supergroups profiles. 2017-04-07 18:13:22 +03:00
John Preston 34ab04cbe6 Add lambda-based checked timers.
Also ApiWrap is now not a QObject.
2017-04-07 18:13:21 +03:00
John Preston 6b242a982b Fix GIF pause by layer.
Let MainWindow enable / disable GIF pausing when a layer is shown.
2017-04-07 18:13:20 +03:00
John Preston 0d0307e175 Move ApiWrap to AuthSession.
Also send all ApiWrap requests as an MTP::Sender.
Also create AuthSession only after starting MTProto.
2017-04-07 18:13:19 +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 c94a88e154 Rename / move a bunch of files.
Next commit fixes the build.
2017-04-07 18:13:16 +03:00
John Preston 8504bbb9d5 Improve icons and scripts for Windows Store. 2017-04-06 14:35:35 +03:00
John Preston 6746d4ba2d Build crashpad from git. Crashpad path has changed. 2017-04-06 11:06:29 +03:00
John Preston 7b7df23e3b Version 1.0.29: Fix crash on app quit.
Some cleanup actions in App::clearHistories() queue file loader
destructions that should be completed before MTProto is reset.
2017-04-05 13:39:31 +03:00
John Preston 252a6f9d5a Version 1.0.29: Fix cancel GIFs search button. 2017-04-05 13:14:17 +03:00
John Preston a1adf2dae6 Version 1.0.29: Fix crash on app quit.
Destroy queued file loaders before destroying AuthSession, because
they have references to Downloader which is owned by AuthSession.
2017-04-05 13:04:26 +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 03a59b04be Add progress animation to GIFs search.
Also display "no results" phrase.
2017-04-04 16:19:49 +03:00
John Preston 4384c80961 Prefer appindicator only on Unity and Pantheon.
Commit dcd6028e91 introduced a regression which caused
appindicator tray icon to be preferred everywhere else.
2017-04-04 12:59:48 +03:00
Lonami b7ea15b83d Use message date by default when saving a photo (#1586) (#3150)
Signed-off-by: Lonami <totufals@hotmail.com> (github: Lonami)
2017-04-04 12:14:32 +03:00
John Preston 20ad611924 Alpha 1.0.28: bump version. 2017-04-03 22:08:22 +03:00
John Preston 57b85ac30f Alpha 1.0.28: new emoji panel, GNOME tray icon. 2017-04-03 22:06:20 +03:00
John Preston 81375a05f1 Always write MTP data right after login.
Also write to DebugLogs all keys write attempts.
2017-04-03 21:59:13 +03:00
John Preston 50586eb06d Build codegen_emoji without GUI dependencies.
We need GUI dependencies only when we generate images.
2017-04-03 21:49:07 +03:00
John Preston afa9393f38 Expose IsPrimeAndGood() interface from connection.
Also fix a race in MTProto debug type serialization initialization.
2017-04-03 21:28:18 +03:00
John Preston c1aa1c5a0f Enable Qt tray icon in GNOME and derivatives.
As tested in Fedora Qt 5.6.2 tray icon works well in GNOME.
Also add more logs about DE and tray icon. Fix #3175 #3188
2017-04-03 20:46:09 +03:00
John Preston 78d245c02c Improve positioning of chat helper panels. 2017-04-03 19:46:24 +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 6003ac2132 Add base::weak_unique_ptr<T> template class.
Sometimes you don't need shared ownership (shared_ptr), but you
still need to be able to have weak pointers to an object.

Now you can derive the object from base::enable_weak_from_this
and use base::weak_unique_ptr<T> after that.
2017-04-03 14:08:36 +03:00
John Preston 0cdd0a9ff9 Remove old 'using std::string' from mtproto. 2017-04-02 20:11:30 +03:00
John Preston 7a7f157a8e Fix crash in EmojiListWidget.
Changing recent emoji list was giving us inconsistent emoji list
in _emoji[section] and its size in SectionInfo::count field.
2017-04-01 17:08:56 +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 a1b53f07d5 Fix build for Xcode and GCC. 2017-04-01 16:14:56 +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 6d27172b20 Move [Emoji|Sticker]PanInner to separate modules.
Now we have three separate [Emoji|Stickers|Gifs]ListWidget.
2017-03-31 15:48:03 +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 477f175f76 Rename / move emoji_pan module to emoji_panel.
Next commit fixes the build.
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 3d846fcd49 Show inline bot results in a separate widget.
Add a InlineBots::Layout::Widget for inline bot results.
GIF search from EmojiPan is disabled for now.
2017-03-31 15:48:00 +03:00
John Preston 5cb66c99bd Make stickers FeaturedReader an MTP::Sender. 2017-03-31 15:47:59 +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 cdca00368f Improve EmojiPan: resource management.
Store inline results and layouts in unique_ptrs.
Move EmojiPan from RPCSender to MTP::Sender.
2017-03-31 15:47:57 +03:00
John Preston 8884cb190a Version 1.0.27: Fix launch in Ubuntu 17.04
Ubuntu 17.04 launch results in segfault if the build was done
by GCC 6.2 (works fine with GCC 4.9). Backtrace shows that it
crashes in gtk_init_check() call somewhere in libmirclient and
tests show that it works fine with GDK_BACKEND=x11.

So we use gdk_set_allowed_backends() method to explicitly state
that we support only "x11" GDK backend, that way it doesn't try
to use libmirclient and it does not crash.

Fix #3176 #3162
2017-03-31 13:46:55 +03:00
John Preston df6972eeba Update API scheme. 2017-03-31 13:31:51 +03:00
John Preston f0ab72ffbc Fix AutoConnection::debugState() for TCP connections. Fix #3171
Also silent new Xcode version warning.
2017-03-30 18:20:51 +03:00
John Preston a851497bbf Version 1.0.26 for macOS: Fix Clang builds.
Custom build of libc++ for OS X 10.6-10.7 already has C++17 as_const.
Add workaround for Apple Clang has strange issues (freeze and segfault).
2017-03-30 15:00:02 +03:00