Commit graph

8229 commits

Author SHA1 Message Date
Ivailo Monev
4a4cac8308 reimplemnt png handler
based on code I wrote some time ago

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 22:39:07 +03:00
Ivailo Monev
7b50a8c73b QFontDialog documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 19:36:20 +03:00
Ivailo Monev
97fea30784 implement QFontDialog options similar to the QFontComboBox filters
so that QFontDialog can replace (functionality wise) KFontDialog and
KFontChooser

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 19:00:40 +03:00
Ivailo Monev
fe072de82a remove redundant QFontComboBox enums
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 16:05:58 +03:00
Ivailo Monev
0d24895e9a replace QFontDialogPrivate::getFont() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 15:50:40 +03:00
Ivailo Monev
9a8258aed3 setup icons for QTextControl and QLineEdit context menu actions
standard icons, for reference:
https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 14:25:50 +03:00
Ivailo Monev
f840996b9c partially revert eb5118bce2
events are accepted or ignored by QLabel

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 14:05:22 +03:00
Ivailo Monev
a2ef6f2987 prioritize cleanlooks style
because the default in QGuiPlatformPlugin is cleanlooks

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 12:12:20 +03:00
Ivailo Monev
ad9087f180 remove redundant check in QApplication::style()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 11:24:56 +03:00
Ivailo Monev
9e89650bef properly initialize QFontComboBoxPrivate member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 07:53:09 +03:00
Ivailo Monev
5a9a707716 do not assume the resolved fonts have the same point size in QFontFamilyDelegate
that means no fancy drawing of the font family name with the font itself,
fonts however may not even have the glyphs for that (symbol fonts?)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 07:50:01 +03:00
Ivailo Monev
b18f9e246e request only scalable outlines from QFontDatabase
to reduce the iterations and so that fontconfig can pickup fonts for such
such cases based on the configuration

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 06:23:17 +03:00
Ivailo Monev
d16c5c6164 disable editing of QFontComboBox
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 02:00:15 +02:00
Ivailo Monev
fc14e70d19 adjust QHostAddress tests
separate commit on purpose (in case I want to support zero compression
again) and the final bits to complete the reimplementation of QHostAddress

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 13:02:17 +02:00
Ivailo Monev
e28900041a implement comparison operators for QPixmap and QBitmap
it is that simple

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 12:46:30 +02:00
Ivailo Monev
5766fb7da0 simplify internal application palette and font code
application, system and set are basically the same

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 11:23:28 +02:00
Ivailo Monev
067589df09 remove redundant QHostInfoCache member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 10:12:20 +02:00
Ivailo Monev
9e09132f46 replace flagsDebug() function with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 10:12:05 +02:00
Ivailo Monev
559671161a drop QT_NO_IPV6IFNAME config option
if_indextoname() and if_nametoindex() are POSIX.1-2001

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 10:01:31 +02:00
Ivailo Monev
ed014f6145 manually manage the QNetworkAddressEntry data pointer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 09:54:27 +02:00
Ivailo Monev
f75d9b1e07 remove redundant qscopedpointer header inclusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 09:23:11 +02:00
Ivailo Monev
82afea6b42 copyright QHostAddress to me
there is no meat from the qt toolkit in that one

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 09:22:56 +02:00
Ivailo Monev
bd53fa415d fix QHostAddress asserts
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 07:23:53 +02:00
Ivailo Monev
342f615f7f note that addresses are not compressed by QHostAddress::toString()
what goes in goes out, the difference is in the scope only which is why
QHostAddress exists

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 07:23:35 +02:00
Ivailo Monev
80ae49dc5a drop QHostAddress from QByteArray assignment operator
because it may involve implicit conversion

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 06:10:11 +02:00
Ivailo Monev
b362932d07 manually manage the private QHostAddress data pointer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 06:02:52 +02:00
Ivailo Monev
13130edc98 zero-initialize socket structures passed to inet_pton()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 04:39:17 +02:00
Ivailo Monev
9c47121084 QNetworkInterface documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 04:25:56 +02:00
Ivailo Monev
3c0dd6b866 do not assume the hardware address is IPv4 address in QNetworkInterfacePrivate::scan()
may or may not hold true in the future

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 04:19:09 +02:00
Ivailo Monev
9a5c6fe1e6 QHostAddress documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 04:12:56 +02:00
Ivailo Monev
11fdfa54a3 QNetworkInterface tests adjustment
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 04:11:29 +02:00
Ivailo Monev
bec40b8120 QHostAddress review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 04:11:15 +02:00
Ivailo Monev
10ee130424 document the QHostAddress::FormattingOption enums
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 03:46:07 +02:00
Ivailo Monev
9871d0107c return boolean from the QHostAddress::setAddress() overload
it is documented that it does return boolean but the return type of it was
void, who knows why

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 03:43:01 +02:00
Ivailo Monev
cad6c377aa implement option to not output the scope from QHostAddress::toString()
the people behind the old QHostAddress implementation fucked up, fixing it
is a piece of cake tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 03:19:33 +02:00
Ivailo Monev
64a1e01cac extract the scope from the socket address (sockaddr pointer)
obviously something which was not done before by QHostAddress itself, it is
now tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 02:23:31 +02:00
Ivailo Monev
25beb62343 QHostAddress special addresses optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 01:51:37 +02:00
Ivailo Monev
84905cd974 QHostAddress compat bits
the scope parsing and output (from QHostAddress::toString()) is totally not
according to the RFC mentioned in the QHostAddress documentation tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 01:42:14 +02:00
Ivailo Monev
e2ac5c5b3d replace convertFlags() function with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 16:16:30 +02:00
Ivailo Monev
35205fd485 warn if QCryptographicHash::hash() is called with empty data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 15:54:45 +02:00
Ivailo Monev
ac0689a666 reimplement QHostAddress via inet_pton() and inet_ntop()
both inet_pton() and inet_ntop() are supposed to be part of POSIX.1-2001
(see https://linux.die.net/man/3/inet_pton and
https://linux.die.net/man/3/inet_ntop), this makes QHostAddress input
requirements much more strict (e.g. whitespace in the input makes the
resulting QHostAddress object not valid) thus some QHostAddress tests fail
but QHostInfo tests pass. amends (such as return value checks) can be done
later

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 15:24:30 +02:00
Ivailo Monev
d89749b46e remove unused QWindowSurface::endPaint() argument
less references to QRegion? hell yeah!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 04:17:40 +02:00
Ivailo Monev
42014a3683 delete the old image before creating new one in QWindowSurface::setGeometry()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 04:12:06 +02:00
Ivailo Monev
bcdc1fd136 const-ify the return type of QOutlineMapper::elementTypes()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 04:02:37 +02:00
Ivailo Monev
4ce6c69719 remove redundant QDataBuffer operator
less code to maintain and less symbols to resolve (both at compile and
runtime), can't go wrong with that

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 02:51:04 +02:00
Ivailo Monev
509d507363 take the palette cache key into account in QItemDelegate::selected()
different palette cache key indicates different palette colors

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 02:07:49 +02:00
Ivailo Monev
9618afeec8 remove redundant QPixmapCache::replace() method
does the same as QPixmapCache::insert()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-29 01:55:54 +02:00
Ivailo Monev
f99b0e1adc set the initial cache limit of QPixmapCache by passing it to the QCache constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-28 10:57:05 +02:00
Ivailo Monev
cf1b19860d change the QPixmapCache key type to QByteArray from QString
QString is 2x the size of QByteArray (in terms of memory allocated)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-28 10:44:16 +02:00
Ivailo Monev
32d252d3cf different take on hex string generator
with this approach the hex string generation can be optimized via
per-object or per-thread buffer (by passing it to qHexString()), that
is yet to be tested tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-28 09:48:16 +02:00