Commit graph

7819 commits

Author SHA1 Message Date
Ivailo Monev
07d438624a lock QSettings files via flock()
now QSettings will behave much like opening a file via open() and the like,
see the QFile hijack test case

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-20 17:51:00 +02:00
Ivailo Monev
71e7c743d8 add QSidebar test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-20 16:29:29 +02:00
Ivailo Monev
39ca7d62e0 effectively revert c3c697ea5b
it being static means its destruction will be delayed until exit and it
holds shared data references the meta types of which may be unregistered by
the time it is destroyed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-20 15:57:36 +02:00
Ivailo Monev
0bf1b3d2cf use patternForFont() in getFcPattern() and rename getFcPattern()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-20 14:30:34 +02:00
Ivailo Monev
0b1c43e52b fix regression since 81cc260944
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-20 03:10:27 +02:00
Ivailo Monev
4e1d48fa13 build fix for the case when QT_NO_TEMPORARYFILE is defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-20 00:34:47 +02:00
Ivailo Monev
73133d024b QT_NO_WIZARD config option is no longer broken
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 23:19:16 +02:00
Ivailo Monev
392f9eabf8 adjust expected result in QFontDatabase test case
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 22:55:07 +02:00
Ivailo Monev
f0e7d43b37 query all fonts to get the styles for font family from QFontDatabase::styles()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-20 00:37:33 +02:00
Ivailo Monev
d83fe65a52 check if qt_x11Data pointer is valid before using its members from QFontDatabase
qt_x11Data pointer is valid only if QApplication instance is created, fixes
possible crashes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 23:49:13 +02:00
Ivailo Monev
51bb046646 remove now unused QFontFamily struct
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 21:29:08 +02:00
Ivailo Monev
d01d9549d9 compiler warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 21:28:05 +02:00
Ivailo Monev
9ee07bb1cd plug QFontDatabase memory leak
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 21:25:36 +02:00
Ivailo Monev
04259f3921 compiler warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 21:10:00 +02:00
Ivailo Monev
8e37eb99c6 QFontDatabase review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 20:54:47 +02:00
Ivailo Monev
ca3cf1d93f query fontconfig directly from QFontDatabase
since fontconfig has its own cache mainting internal QFontDatabase cache
is kinda redundant, have to leak check still but font tests pass

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 20:35:15 +02:00
Ivailo Monev
68ae3393d1 inline qt_pixelSize() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 05:39:06 +02:00
Ivailo Monev
fc836182d5 scale the fontconfig weight value to QFont::Weight in QFontDatabase
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 05:25:01 +02:00
Ivailo Monev
b90d8bf1ba remove compat QFontDatabase methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 05:06:44 +02:00
Ivailo Monev
4129e183bd de-duplicate QFontDatabase code
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 04:28:46 +02:00
Ivailo Monev
aa39dbb344 add case-sensitivity test for QFontDatabase
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 04:14:44 +02:00
Ivailo Monev
a06e3b8be8 de-duplicate QFontDatabase code
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 03:48:13 +02:00
Ivailo Monev
ac8bc30ad4 const-ify QFontDatabase::styleString() methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 03:39:55 +02:00
Ivailo Monev
605c6280ab test case for converting QFont from and to QString
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 01:45:16 +02:00
Ivailo Monev
b59672856d add config file for testing X 16 bit depth support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 01:19:32 +02:00
Ivailo Monev
98653b029b update comment in QVariant test data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-19 01:07:52 +02:00
Ivailo Monev
ced3473020 zero-copy QX11Data::copyXImageToQImage() for some cases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 21:28:52 +02:00
Ivailo Monev
f1e363b911 QX11Data::copyXImageToQImage() optimization
the cake is a lie - even tho XGetPixel() and XPutPixel() take ulong as
pixel value it has to converted manually to value appropriate for the
XImage depth

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 20:52:58 +02:00
Ivailo Monev
34182fbae4 Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie 2022-11-18 20:21:43 +02:00
Ivailo Monev
f06ca4f2c5 special-case QImage::Format_RGB16 with different bytes per line
for some reason on Debian XImage with depth equal to 16 can have different
bytes per line (off by 2 bits), on Arch it was not a thing when I tested
it so it could be a bug in X

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 20:21:18 +02:00
Ivailo Monev
ad589d273b remove QTextDecoder and QTextEncoder leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 18:26:30 +02:00
Ivailo Monev
ac19ddd82a convert the SVG image to QImage::Format_ARGB32_Premultiplied only if it is not in format with alpha channel
since it is painting of image (not painting to image) the performance
impact of it not being QImage::Format_ARGB32_Premultiplied is neglectable

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 14:33:44 +02:00
Ivailo Monev
041b961c0b drop noop SVG quality implementation
altought it would be pretty easy to implement it seems to be in somewhat
unsupported state anyway, for reference:
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering
https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 14:10:13 +02:00
Ivailo Monev
dcddc9b718 remove redundant QCompleter::event() reimplementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 04:06:34 +02:00
Ivailo Monev
6b1d9fe048 remove unused QPdf::generateLinearGradientShader() method
USE_NATIVE_GRADIENTS is never defined

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 03:26:33 +02:00
Ivailo Monev
699f8f95b1 remove unused QFontSubset::toTruetype() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-18 01:26:21 +02:00
Ivailo Monev
db92f4ae56 correct logic in isStyleMatch() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 22:15:19 +02:00
Ivailo Monev
5e55866122 load the application font as last resort instead of adding it to each patterns
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 21:26:19 +02:00
Ivailo Monev
4897f79893 remove now bogus QFont test
italic/oblique are handled as enum (QFont::Style) and hint for fontconfig
what kind of slant to match (if style name is not specified that is) which
means exact style match or nothing. trying to substitute, mix and match
such style names in QFontDatabase was bad idea to begin with (not my idea)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 20:50:11 +02:00
Ivailo Monev
c6c621b9fe do not add the last resort font to the pattern when loading font
the default QApplication font is the last resort font

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 20:37:30 +02:00
Ivailo Monev
e8ee198ae3 minor QFont documentation review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 20:36:13 +02:00
Ivailo Monev
706673c71c do not add fonts with empty style to the database
Source Code Variable font has such entries for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 21:44:47 +02:00
Ivailo Monev
99a6715db2 query and set font pixel size from QFontDatabase
note that font pixel size is DPI-scaled, it being -1 means scale it to the
DPI of the paint device for example and Katie supports only scalable fonts
for a reason

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 19:09:54 +02:00
Ivailo Monev
995f46c975 preperations to drop QFontInfo
since I do not care about qt compat only normal and regular style
names are matched as equal, for now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 18:39:31 +02:00
Ivailo Monev
dc830212a1 resolve family aliases from QFontDatabase methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 16:30:48 +02:00
Ivailo Monev
a4e2c2edb0 fix font style matching in QFontDatabase::font() and test case it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 14:47:52 +02:00
Ivailo Monev
90b1be03c7 set the pitch of the font from QFontDatabase::font()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 14:41:30 +02:00
Ivailo Monev
78556dafb5 export qt_getClipRects() only for the QRegion test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 14:32:27 +02:00
Ivailo Monev
57b03e40f6 move qt_getClipRects() function to qregion source file, where it belongs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-17 14:30:53 +02:00
Ivailo Monev
7d03dc89ed lock before accessing the custom meta types global static in QMetaType::type()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-16 22:17:47 +02:00