Commit Graph

861 Commits

Author SHA1 Message Date
John Preston c92a798e1b Support url authorizations. 2019-05-27 15:09:18 +02:00
John Preston c4aac5fa0e Update API scheme to layer 100. 2019-05-27 15:09:06 +02:00
John Preston cfff744cb1 Parse and render lottie in the background. 2019-05-27 14:11:26 +02:00
23rd 1dd461b24a Moved left elision of counters to Dialogs::Layout::paintUnreadCount. 2019-05-27 14:10:35 +02:00
John Preston 626e7c1f76 Workaround MSVC 16.1 bugs. 2019-05-27 14:10:35 +02:00
John Preston d26924dd6b Allow multiline no-newline input fields.
Fixes poll option limit warning.
2019-05-08 12:36:13 +03:00
John Preston 0b26475300 Fix render glitches in passcodebox. 2019-05-01 16:11:43 +04:00
John Preston f56df0e1d9 Show folder using slide animation. 2019-05-01 16:11:39 +04:00
John Preston 607655941d Improve Ui::Menu interface. 2019-05-01 16:11:37 +04:00
John Preston 58d86af399 Remove SplittedWidget paint optimization.
It doesn't work with dialogs-to-top button anyway.
2019-05-01 16:11:16 +04:00
John Preston 9bf8a8108d Comment out non-folder feed code. 2019-04-25 14:16:30 +04:00
John Preston 56b6673e17 Beta version 1.6.6: Fix animations engine. 2019-04-11 10:43:13 +04:00
John Preston 71f340d9b5 Revert "Don't restart animations timer."
This reverts commit 392d90dc1d.

Otherwise scrolling while typing animates lags terribly on macOS.
2019-04-11 10:16:02 +04:00
John Preston 9bfa6d7cf4 Make animation tick less, almost like before.
Unfortunately otherwise animations look not smooth.

Fixes #5897.
2019-04-09 17:21:29 +04:00
John Preston 392d90dc1d Don't restart animations timer. 2019-04-09 17:12:16 +04:00
John Preston 7808620764 Queue only one update call in animations manager. 2019-04-09 17:10:45 +04:00
John Preston fe3181649b Fix build on macOS and Linux. 2019-04-09 17:10:44 +04:00
John Preston b5be6df5e2 Copy text with expanded links only to external.
Paste valid custom links in message field if copied from messages.
2019-04-08 19:10:06 +04:00
John Preston 0f0c3b7461 Remove FlatLabel::_contextExpandLinksMode. 2019-04-08 16:22:07 +04:00
John Preston ff51423125 Remove ExpandLinksNone, rename Text::originalText. 2019-04-08 15:53:11 +04:00
John Preston 6c17ed2242 Fix crash in event loop nesting. 2019-04-07 11:18:38 +04:00
John Preston 1ab4dbe466 Fix crash in application closing. 2019-04-06 12:12:24 +04:00
John Preston 2bdce7dce6 Fix window activations handling without event loop nesting.
This was causing an assertion violation in Ui::PostponeCall.

- Add a generic Core::QtSignalProducer to convert Qt signals to rpl::producer.
- Track event loop nesting inside QtSignalProducer.
- Use QtSignalProducer for QWindow::activeChanged tracking.
2019-04-05 14:13:54 +04:00
John Preston c3c46f8e29 Fix new animations engine bug. 2019-04-04 19:31:03 +04:00
John Preston 456a949d01 Fix working with document thumbnails. 2019-04-04 00:08:05 +04:00
John Preston db631acf80 Remove old animations code. 2019-04-02 14:33:54 +04:00
John Preston 74dc4e0c62 Allow disabling new animations. 2019-04-02 14:33:54 +04:00
John Preston 99bb09374d Use new animations engine everywhere. 2019-04-02 14:33:53 +04:00
John Preston a6e96f9a28 Use new animations engine in all Basic-s. 2019-04-02 14:33:53 +04:00
John Preston cd3c1c6dc0 Use new animations engine for typings. 2019-04-02 14:33:53 +04:00
John Preston 77fbf19a72 Use serverside keywords for emoji suggestions. 2019-04-02 14:33:53 +04:00
John Preston 3cd9d4b5ec Fix video messages playback on Retina. 2019-04-02 14:33:53 +04:00
John Preston d3bf489bea Improve base::binary_guard interface. 2019-04-02 14:33:52 +04:00
23rd 3fa3428b4b Added ability to go to top of media panel by clicking on selected tab. 2019-04-02 14:33:52 +04:00
John Preston 84e9e37353 Closed alpha version 1.6.3.1: Fix build for Xcode. 2019-03-29 14:24:08 +04:00
John Preston 8759d637ff Use StorageFileLocation in mtpFileLoader. 2019-03-29 14:24:07 +04:00
John Preston 95023ca770 Use StorageFileLocation in streaming loader. 2019-03-29 14:24:07 +04:00
John Preston aa8f62da9d Support new ('modern') API file locations. 2019-03-29 14:24:07 +04:00
John Preston eba2a98703 Add general StorageFileLocation abstraction. 2019-03-29 14:24:06 +04:00
John Preston a0b3b1affd Fix fade in widget animation.
Fixes #5812.
2019-03-24 12:12:40 +04:00
23rd 3a5bad4b7a Fixed incorrect display of uploaded video's thumbnail in edited message.
- After uploading a video the data_document changes a source of the 
 good thumbnail and loses an information about it (e.g. width, height, 
 bytesSize).
2019-03-22 13:39:12 +04:00
John Preston a5e6890b77 Fix icon pixmap sizes on Retina with scaling. 2019-03-12 14:27:22 +04:00
John Preston 846499a4fb Fix volume saving to settings. 2019-03-12 09:09:53 +04:00
John Preston 261720c941 Fix radial animations on macOS.
QOpenGLWidget doesn't draw antialiased ellipses and arcs,
so we use a software rasterizer and then draw the resulting image.
2019-03-11 13:51:15 +04:00
John Preston 7b3c452316 Change direction of infinite radial animation. 2019-03-11 13:19:38 +04:00
John Preston aa00f9bd34 Fix new animations engine restarts. 2019-03-11 12:08:21 +04:00
John Preston 3706be77ea Fix macOS media viewer controls hiding. 2019-03-11 12:08:19 +04:00
John Preston a56a12a1ef Optimized video frame pushing. 2019-03-11 12:08:18 +04:00
John Preston 5c4b459f57 Use new animations in video viewer. 2019-03-11 12:08:18 +04:00
John Preston 9a616edf2a Add new animations engine. 2019-03-11 12:08:17 +04:00
John Preston 71b733a018 Display receivedTill in video player controls. 2019-03-11 12:08:13 +04:00
John Preston 8171828c2a Fix build on GCC. 2019-03-11 12:08:09 +04:00
John Preston e631d98230 Implement media cache management. 2019-03-11 12:08:09 +04:00
John Preston 648cd44ddd Display correct video / music state. 2019-03-11 12:08:08 +04:00
23rd bfc9e43eb4 Added a handler for "MESSAGE_EMPTY" error to delete a local message.
- Added a determination of the zero-width-space as the space.
 - Fixes #3145.
2019-03-10 10:26:40 +04:00
John Preston fe618bd652 Use crl::time/now instead of TimeMs/getms. 2019-02-19 11:06:33 +04:00
John Preston d208236994 Accept binary_guard in crl::guard(). 2019-02-17 15:56:07 +04:00
John Preston 7c1704e68b Fix crash in EditCaptionBox. 2019-02-17 13:51:53 +04:00
John Preston 98cb85df66 Polymorphic classes without virtual dtor warning. 2019-02-15 15:55:34 +04:00
John Preston 032694ad9e Move files to media/audio and media/clip. 2019-02-13 15:41:33 +03:00
John Preston 26f1ade5ba Optimize connecting widget. 2019-02-10 21:35:44 +03:00
John Preston 9dd93a77a0 Always keep inline thumbnail images loaded. 2019-02-10 11:19:27 +03:00
John Preston f9d56eb4c1 Send installWallPaper requests. 2019-02-08 19:47:02 +03:00
John Preston e2f0886950 Add option to blur chat background. 2019-02-07 19:36:30 +03:00
John Preston fe21b5a502 Support blurred backgrounds. 2019-02-06 17:38:37 +03:00
John Preston 5ca12a73c3 Use new HistoryWallPaper media type for wallpaper. 2019-01-29 19:26:19 +03:00
John Preston b6edf4561d Add support for pattern wallpapers. 2019-01-29 14:52:33 +03:00
John Preston a1baa23a52 Use both thumbnails in photos and documents.
Fixes #5602.
2019-01-28 13:10:45 +03:00
John Preston a70e72f75d Application->Sandbox, Messenger->Application. 2019-01-23 12:51:58 +04:00
John Preston 4111da1dd0 Move some calls from App namespace. 2019-01-22 17:10:01 +04:00
John Preston 6d706fd222 Improve unacessible permissions design. 2019-01-21 17:43:24 +04:00
John Preston 6066265717 Fix emoji suggestions in monospace. 2019-01-21 11:02:20 +04:00
John Preston 314e30272b Replace SingleTimer with base::Timer. 2019-01-18 16:41:08 +04:00
John Preston 1894b8fcf7 Handle t.me/bg links with wallpapers / colors. 2019-01-18 16:41:07 +04:00
John Preston eff90395b6 Add EditPeerPermissionsBox. 2019-01-17 12:21:29 +04:00
John Preston c5a41e1f55 Divide data/data_peer and remove from PCH. 2019-01-17 12:21:29 +04:00
John Preston 65430d92ea Refactor calls settings panel. 2019-01-11 17:30:57 +04:00
John Preston c4d919d46b Improve emoji quality while creating cache. 2019-01-11 17:30:57 +04:00
John Preston bb8defeb42 Improve change emoji set box design. 2019-01-11 17:30:57 +04:00
John Preston c7469075ab Closed beta version 1.5.6.1: Fix build in GCC. 2019-01-11 17:30:57 +04:00
John Preston 219b824338 Refresh filtered results on more dialogs. 2019-01-11 17:30:00 +04:00
John Preston df389a365c Display emoji set loading radial animation. 2019-01-11 17:30:00 +04:00
John Preston aa2c52c1f8 Unpack and prepare emoji asynchronously. 2019-01-11 17:30:00 +04:00
John Preston f48ae29f22 Load emoji sets from the cloud. 2019-01-11 17:30:00 +04:00
John Preston de00e0e15c Add simple switch emoji set box. 2019-01-11 17:30:00 +04:00
John Preston 79fea49272 Add updating emoji on the run. 2019-01-11 17:30:00 +04:00
John Preston 8190b10680 Support custom emoji sets loading. 2019-01-11 17:30:00 +04:00
Gregory K 11b991cddc Add call settings (#5540) 2019-01-05 15:08:02 +04:00
John Preston 874d76b16b Ignore activations from ~PopupMenu in file dialog event loops. 2018-12-26 13:54:49 +04:00
John Preston a0c6104fae Redesign auto download box. 2018-12-25 22:15:22 +04:00
John Preston 97b0288c7d Add automatic loading of videos/files. 2018-12-25 22:15:22 +04:00
John Preston e3cc8652e4 New structs for media autodownload settings. 2018-12-25 22:15:22 +04:00
John Preston 44ff8f92ac Fix crash with invalid custom langpacks. 2018-12-25 15:22:25 +04:00
John Preston 57f2ae098f Show exact option votes count in a tooltip.
Fixes #5505.
2018-12-24 14:24:16 +04:00
John Preston 8bd3051224 Fix crop photo box title. 2018-12-23 21:23:36 +04:00
John Preston b6f7832745 Add create poll box from groups three-dot menu. 2018-12-22 10:29:03 +04:00
John Preston 4bb5dcf50c Simplest poll layout. 2018-12-21 17:09:32 +04:00
John Preston 89cf733d24 Add Ui::PostponeCall() on return to event loop. 2018-12-12 14:14:28 +04:00
John Preston f59e824ec1 Possibly fix a crash in image loader. 2018-12-05 15:50:41 +04:00
John Preston 310c68a744 Disable DemiBold fallback for Semibold.
This reverts changes from commit 089c4ceb30.

There were complaints that Persian font becomes unreadable :(
2018-12-05 14:51:47 +04:00
John Preston efe3dfad5c Fix crash in radiobutton destruction.
It crashed if the button was destroyed from group _changedCallback.
2018-12-05 13:55:59 +04:00
John Preston 59ecf375b0 Move tg:// handlers to a separate module.
Also move joinGroupByHash and stickerSetBox from MainWidget.
2018-11-26 17:31:13 +04:00
John Preston 3461f3dfc7 Destroy file loaders not delayed. 2018-11-26 11:33:29 +04:00
John Preston 23dc9ef494 Destroy layers not delayed. 2018-11-26 11:33:29 +04:00
John Preston 0a754b8982 Adding emoji in SendFilesBox and EditCaptionBox. 2018-11-22 16:48:50 +04:00
John Preston ef4f0168f8 Remove Qt MOC dependency for tabbed selector. 2018-11-22 10:50:41 +04:00
John Preston 9f5b09c263 Add emoji autocomplete to all fields. 2018-11-21 14:09:46 +04:00
John Preston 9a8ab84ecb Add edit / view of user information for support. 2018-11-20 19:50:36 +04:00
John Preston d3a261de89 Scroll to cursor after template replacement. 2018-11-20 19:38:39 +04:00
John Preston 6d65cf2382 Redesign languages box with a search filter. 2018-11-16 20:17:58 +04:00
John Preston 089c4ceb30 Use DemiBold fallback for Open Sans Semibold. 2018-11-16 20:17:58 +04:00
John Preston aba6cc2c64 Don't force WEBP format for stickers.
Fixes #5374.
2018-11-12 14:39:21 +04:00
John Preston 0718520f36 Disable default fallback to Segoe UI.
Fixes #5368.
2018-11-12 14:39:21 +04:00
23rd c20ab0b93e Removed unused variables in input_fields.cpp. 2018-11-07 14:53:21 +04:00
John Preston e6c4c48261 Animate check in album sending. 2018-11-04 15:51:39 +04:00
John Preston 8eb0f3b60a Remove some unneeded Q_OBJECTs. 2018-11-04 15:51:39 +04:00
John Preston fabf830132 Allow up to 128 MB of cached images. 2018-11-04 15:51:39 +04:00
John Preston f2348fc749 Fix document unloading. 2018-11-04 15:51:39 +04:00
John Preston 264ab285a7 Fix ImageSource unloading. 2018-11-04 15:51:39 +04:00
John Preston f28a92be1d Fix another crash in DocumentData destructor. 2018-11-04 15:51:39 +04:00
John Preston 711b8cfa36 Fix auto interface scale by primary screen dpi. 2018-11-04 15:51:39 +04:00
John Preston 885e7f0471 Fix pen reset in TextPainter of empty text. 2018-11-04 15:51:39 +04:00
John Preston 8c1e546123 Fix crash in DocumentData destructor.
~DocumentData sometimes calls ~Image that calls RemoteSource::unload.
It tries to schedule delayed loaded deletion and accesses Auth().
But ~DocumentData is called from ~Session, so Auth() is unaccessible.
2018-11-04 15:51:39 +04:00
John Preston 88a82eecf3 Fix crash in unloaded null Image. 2018-11-04 15:51:39 +04:00
John Preston 906122a334 Insert Segoe UI and San Francisco font substitutions.
Fixes #1791, fixes #3354, fixes #4454.
2018-11-04 15:51:39 +04:00
John Preston 46162ed3c4 Fix grouped media corner in one layout. 2018-11-04 15:51:39 +04:00
John Preston 9aa23dac80 Fix ripple glitch on theme switching. 2018-11-04 15:51:38 +04:00
John Preston 4837117719 Use photo as video thumbnail in WebPageData. 2018-11-04 15:51:38 +04:00
John Preston 550b67236e Reactive main window only if app is active.
Otherwise when we choose "Show in Folder" app looses focus,
then destroys PopupMenu and instantly regains focus back.
2018-11-04 15:51:38 +04:00
John Preston a961615076 Clear unused emoji cache with DB. 2018-11-04 15:51:38 +04:00
John Preston f0e18ac619 Add better unloading for ImageSource. 2018-11-04 15:51:38 +04:00
John Preston 8e7117fa22 Don't unload all media on switching between chats. 2018-11-04 15:51:38 +04:00
John Preston f8eef7c9a6 Forget least used images gradually. 2018-11-04 15:51:37 +04:00
John Preston 595134cab5 Move image-related modules to ui/image/. 2018-11-04 15:51:37 +04:00
John Preston 8b76428c7e Create ImagePtr-s using a factory method. 2018-11-04 15:51:37 +04:00
John Preston 591fbf0ec6 Replace image source after photo sending. 2018-11-04 15:51:37 +04:00
John Preston 4b5b79e415 Use final Image with different Images::Source-s. 2018-11-04 15:51:37 +04:00
John Preston 5a50248055 Remove Image::toDelayedStorageImage downcaster. 2018-11-04 15:51:36 +04:00
John Preston 113f665295 Move Image and derived to ui/image. 2018-11-04 15:51:36 +04:00
John Preston 19e407532b Beta version 1.4.4: Fix emoji cache. 2018-10-17 16:04:13 +03:00
John Preston 54f2b1b2d8 Beta version 1.4.4: Fix emoji quality. 2018-10-17 14:43:17 +03:00
John Preston 5b4abe69aa Add interface scale (100%..150%) for Retina.
Fixes #69, fixes #3126, fixes #3789.
2018-10-16 23:00:55 +03:00
John Preston f2866442d2 Fix location thumb image sizes 2018-10-16 17:32:12 +03:00
John Preston 19a9a990b6 Allow using any interface scale between 100%-300%. 2018-10-16 11:38:09 +03:00
John Preston 149639a53d Add and bundle @3x icons.
Also bundle only 1x, @2x, @3x and generate 125% and 150%.
2018-10-16 11:38:09 +03:00
John Preston 2812d2911f Remove media_volume icon, use volume slider. 2018-10-15 11:06:27 +03:00
John Preston 2b2b9c2f03 Check emoji cache signature asynchronously. 2018-10-15 09:04:07 +03:00
John Preston b847c8424a Use single emoji sprite and scale + cache it. 2018-10-15 09:03:29 +03:00
John Preston 2444acb041 Fix image data forgetting.
In case image was almost loaded (loader was ready, but not destroyed yet),
forget() didn't do anything, leaving bytes and image inside loader untouched.

Now we check loader state in forget() so that bytes and image are passed to
Image instance before they're forgot from the memory. This will improve memory
clearing while scrolling through chats with images and switching between them.
2018-10-09 19:27:18 +03:00
John Preston 9f90d3a7fc Load maps using mtproto instead of google. 2018-10-09 19:27:18 +03:00