Commit graph

432 commits

Author SHA1 Message Date
23rd
92fe8b138b Replaced raw PopupMenu pointer with unique_qptr in FlatLabel. 2021-05-31 22:54:24 +03:00
23rd
8c381e6bd4 Replaced singleShot with InvokeQueued in FlatLabel. 2021-05-31 22:54:24 +03:00
Ilya Fedin
cedff6dbb5 Use new XCB::ReplyPointer 2021-05-31 22:51:23 +03:00
Ilya Fedin
6ff8d15de0 Move qtextitemint ifdef to cmake 2021-05-31 22:51:06 +03:00
Ilya Fedin
0dbb210385 Fix deprecated declarations warning in QTextItemInt 2021-05-31 22:51:06 +03:00
John Preston
6fa01d0a1e VertexPassTextureCoord may be reused. 2021-05-29 15:54:32 +04:00
John Preston
28b72295ab Add framebuffers wrapper class. 2021-05-29 12:29:26 +04:00
John Preston
5389de6b96 Add outline support to rounded corners shader. 2021-05-28 21:05:01 +04:00
John Preston
f475fe28e4 Improve ImportantTooltip. 2021-05-28 19:07:50 +04:00
John Preston
8fbeb7f503 Fix build on macOS. 2021-05-25 19:18:25 +04:00
John Preston
52d5934dff Add Ui::GL::Rect::empty method. 2021-05-25 17:23:22 +04:00
John Preston
808f8c7dea Add some utilities for OpenGL shaders. 2021-05-25 14:54:41 +04:00
John Preston
2a26d4a91a Add texture / image OpenGL helper. 2021-05-25 12:07:11 +04:00
John Preston
c946611689 Improve OpenGL logging. 2021-05-24 20:35:27 +04:00
John Preston
8d7ced5c74 Add OpenGL deinit(). 2021-05-22 19:47:37 +04:00
John Preston
5e38964fbf Allow force-disabling OpenGL. 2021-05-20 16:07:19 +04:00
John Preston
ca5b2e6746 Fix GL detection without a parent window. 2021-05-20 12:22:26 +04:00
John Preston
95ee92088e Allow choosing OpenGL / Raster in runtime. 2021-05-19 16:46:58 +04:00
John Preston
e9fcbfcbac Remove 'StartTranslucentPaint'. 2021-05-18 17:04:45 +04:00
John Preston
aeeb13bd02 Send QCloseEvent to custom-closed Ui::Window-s. 2021-05-17 15:19:43 +04:00
John Preston
d515956f76 Allow any QWidget in Ui::ScrollArea. 2021-05-12 12:07:39 +04:00
John Preston
6bc9586644 Fix CrossLineAnimation with semi-transparent color. 2021-05-11 12:56:28 +04:00
John Preston
b486260559 Don't change cursor in fixed-size windows. 2021-05-10 16:12:42 +04:00
John Preston
2b36c36dcb Allow fractional strokes in CrossLineAnimation. 2021-05-07 16:20:23 +04:00
John Preston
52326fffd0 Add couple of colors for text over video. 2021-05-07 12:40:54 +04:00
John Preston
b0c5d9220b Allow to specify RoundButton radius. 2021-05-06 19:48:43 +04:00
John Preston
3c1866f52d Allow to change some styles in CallButton. 2021-04-27 16:03:12 +04:00
John Preston
14c67cf724 Handle locked screen as overlapping window. 2021-04-27 12:33:23 +04:00
John Preston
db1df1b4bd Allow gradients default constructors. 2021-04-26 13:44:28 +04:00
John Preston
594572199c Move call mute button styles to td_ui. 2021-04-26 13:20:13 +04:00
John Preston
372c576127 Fix build with some headers includes. 2021-04-23 21:36:08 +04:00
John Preston
af105b377c Remove shadows from defaultScrollArea. 2021-04-23 14:56:06 +04:00
John Preston
eb768c8c4b Add IsOverlapped implementation for macOS. 2021-04-20 16:47:09 +04:00
John Preston
98e3ba2c58 Remove legacy Integration::startFonts[Begin|End]. 2021-04-20 16:39:27 +04:00
John Preston
d07bee87cd Use LOG/DEBUG_LOG from lib_base. 2021-04-20 16:39:27 +04:00
Ilya Fedin
50a0e7da64 Add IsOverlapped method 2021-04-20 15:35:31 +03:00
Ilya Fedin
a37e28d2f3 Multiply scroll step for scale 2021-04-12 11:56:13 +03:00
Loïc Molinari
f783243e13 Fix dangling timer event in animations manager
A race condition in the animations manager can leave a dangling
timerEvent() callback firing at a high frequency (>120 FPS) in the
main loop even though there is no active animations.

An update of the animations manager returns directly when there is no
active animations. If there is at least one active animation, it stops
the timer and schedules a new update before updating animations.
Depending on the Integration implementation, the scheduling call can
be postponed after the current update. The actual postponed call
unconditionally schedules an update by starting the timer. The issue
is that in the meantime the last remaining animation could have been
removed and, when the timer callback would be fired, the update would
return directly (since there is no active animations) without being
able to stop.

The explanation above ignores the updateQueued() cases of the
postponed call for simplicity. These cases do not result in infinite
updates like the timer case but still imply one useless (invoked)
update.

This fix adds a condition in the postponed call ensuring there is at
least one active animation before processing.

telegramdesktop/tdesktop#3640
telegramdesktop/tdesktop#4854
telegramdesktop/tdesktop#5436
2021-04-11 12:48:27 +03:00
John Preston
51b4074cc9 Support 64 bit mention ids in entities. 2021-04-08 16:19:50 +04:00
John Preston
a51db55ef2 Allow changing GenericBox later. 2021-04-07 15:42:12 +04:00
John Preston
876f0f06dc Remove not-needed Integration::modalWindowParent. 2021-04-06 18:52:43 +04:00
John Preston
8686905ee4 Add custom brush support in RoundButton. 2021-04-06 13:58:45 +04:00
Ilya Fedin
99089134e3 Add a method to clear transient parent 2021-04-05 10:16:46 +03:00
John Preston
d1dda0b2ac Add a new color and style::complex_color. 2021-04-02 14:14:47 +04:00
John Preston
f288c5649c Add MaskedInputField::showErrorNoFocus. 2021-03-26 21:05:02 +04:00
John Preston
52ac632bc4 Allow destroying Ui::Window on close. 2021-03-23 16:32:21 +04:00
John Preston
91e1979da5 Restore opacity in ArcsAnimation::paint. 2021-03-22 18:10:28 +04:00
John Preston
f6a1a44efe Fix maximize/restore button state in TitleWidget. 2021-03-20 15:16:50 +04:00
Ilya Fedin
0adf0383d8 Remove unused non-trivial variable 2021-03-17 15:39:09 +03:00
Ilya Fedin
40815d4d55 Replace QMap with base::flat_map for pointer keys 2021-03-17 15:38:59 +03:00