Commit Graph

90 Commits

Author SHA1 Message Date
Berkus Decker 8fcbf45bba Convert license headers automatically 2018-11-01 00:12:21 +02:00
Evgenii Zheltonozhskii 4b78d52194 Fix more warnings 2018-10-27 12:40:27 +00:00
Evgenii Zheltonozhskii f1b4a86cfe Fix unused variables, lambda captures. 2018-10-27 12:40:27 +00:00
Stanislav Ershov e2e9b8aefc Fix compilation errors in conformance mode 2018-10-20 20:27:10 +03:00
Evgeniy Zheltonozhskiy 22b0cffccd Fix almost all warnings (#157)
There are possible deprecation warnings could be on new ffmpeg. It will be investigated later.

Related to #42.
2018-06-12 01:59:24 +03:00
Evgenii Zheltonozhskii b9cd813127 Apply clang-format 2018-06-06 11:25:23 +03:00
Evgenii Zheltonozhskii 49982a33a5 Pre-reformat fixes 2018-06-06 11:25:23 +03:00
Alex 69661217d2
Remove PCH (#148)
This commit brings many changes:

1. Remove cotire;
2. Remove PCH files (stdafx.xxx) and mentions;
3. Rearrange and clean includes:
3.1. Remove core includes path, use full header path core/xxx;
3.2. Move object_ptr to separate file base/object_ptr.h;
3.3. Add missing includes;
5. Add forward decls;
6. Get rid of some Qt private parts;
7. Fix ALL compilation errors after removing cotire on Windows, Linux, MacOS.

Closes #133.
Related to #96.
2018-06-04 16:25:31 +03:00
leha-bot c237414cc6 text_entity: Add enum for used Unicode codepoints
It's better to use the named constants instead of magic character codes.
2018-04-21 19:14:34 +03:00
leha-bot 49b3469963 Add option for typographic message formatting
This option allows to turn off the old behaviour with replacing char
sequences like <<, >>, -- to chars represented by HTML escape characters
"&laquo;", "&raquo;", "&mdash;".

Based on upstream pull
https://github.com/telegramdesktop/tdesktop/pull/4553 and commit
fe118833ae
from @PeterMX

Closes #132
2018-04-21 19:14:34 +03:00
leha-bot ed0e5b9958 Reorganize #include's in ui/text/text.cpp
Now it compiles faster

Related to #16
2018-04-17 22:06:33 +03:00
leha-bot 56cbcdcf94 Get rid of qharfbuzz_p private dependency
It's used for weird conversion from "QChar::Script" to internal
HB_Script and back.

Looks like it was in old Qt on this mirror link:
39b4955da3?view=parallel

Related to #96 #27 #16
2018-04-17 22:06:33 +03:00
Pavel Perekhozhikh 40f8f0939a [Refactoring] change qt math function to cmath analog 2018-02-28 22:12:25 +02:00
Berkus Decker e609b4464d Fix non-utf8 text in commit 31ed5214f0 2018-01-14 01:36:38 +02:00
Friedrich von Never 31ed5214f0 Allow unicode quotes as markdown entry separators. (#54)
Fixes #13. (Based on upstream's commit telegramdesktop/tdesktop@2e421e8, )
2017-12-24 20:30:13 +04:00
Berkus Decker c417b45469 Remove useless bitfield qualifier 2017-12-20 14:38:02 +02:00
Berkus Decker e9184f9ab5 Replace non-standard types with Qt equivalents 2017-12-20 14:38:02 +02:00
Berkus Decker 941b306f7a Suppress warnings for unhandled enum values 2017-12-20 14:38:02 +02:00
Berkus Decker cf7ca3df15 Subject: [PATCH] Fixed build under Fedora using rpmbuild and mock.
From dba8b962c805af477ceee699aa1c05143aa19d43 Mon Sep 17 00:00:00 2001
From: Vitaly Zaitsev <vitaly@easycoding.org>
Date: Fri, 31 Mar 2017 14:29:58 +0200
2017-12-20 14:38:02 +02:00
Evgenii 1bb38d5b12 Change used private header
* Hopefully it will be replaced with separate fixed-point lib
2017-12-20 14:38:02 +02: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 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 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 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 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 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 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 4962fdf5ae Add phrases and layout for all events in log. 2017-06-30 09:21:41 +03:00
John Preston 110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +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 5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +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 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 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 63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +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 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