OSDN Git Service
Ivailo Monev [Tue, 22 Nov 2022 23:12:29 +0000 (01:12 +0200)]
QEasingCurve::valueForProgress() optimization
doing qreal (either float or double) math on demand is much more optimal,
also reducing the switches to one is a bonus
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 22:54:18 +0000 (00:54 +0200)]
QEasingCurve::InCurve, QEasingCurve::OutCurve, QEasingCurve::SineCurve and QEasingCurve::CosineCurve are deffinetly not internal
used by plasma system-monitor applet for example
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 22:49:24 +0000 (00:49 +0200)]
QEasingCurve documentation review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 22:34:53 +0000 (00:34 +0200)]
call FatalSignalHandler constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 22:24:22 +0000 (00:24 +0200)]
QOpacityEffect review
by starting the elapsed timer just before the fade timer the opacity
transition will be smoother at the start of the effect
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 18:42:18 +0000 (20:42 +0200)]
explicitly convert the elapsed time to double
QElapsedTimer::elapsed() returns qint64 btw
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 18:37:06 +0000 (20:37 +0200)]
do not send move and resize events to the widget from qFadeEffect()
the position and size of the widget matter not to the effect
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 17:38:17 +0000 (19:38 +0200)]
drop effects other than fade
QComboBox animation was essentially non-operational (see
5b5fbca2ed070acc4ed37fe20fc1d16532469aef), UI_AnimateToolBox was just
reserved and unused . there is fade effect for QMenu and QToolTip so
the relevant effect is there
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 17:02:50 +0000 (19:02 +0200)]
QOpacityEffect optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 14:16:53 +0000 (16:16 +0200)]
set the global static variables before deleting the effect instances in qScrollEffect() and qFadeEffect()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 14:15:52 +0000 (16:15 +0200)]
snapshot the widget as QImage from QRollEffect
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 14:15:03 +0000 (16:15 +0200)]
remove declaration of now non-existing QRollEffect::run() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 14:00:31 +0000 (16:00 +0200)]
actually animate QComboBox
for some reason the code for it was Q_WS_WIN && !QT_NO_EFFECTS guarded and
I purged Q_WS_WIN code programatically
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 13:28:10 +0000 (15:28 +0200)]
merge QRollEffect::run() into QRollEffect constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 22 Nov 2022 01:07:43 +0000 (03:07 +0200)]
cancel the opacity/fade effect when the widget is destroyed
widgets are supposed to call qFadeEffect(0) to cancel the effect but just
in case
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 21 Nov 2022 23:57:29 +0000 (01:57 +0200)]
fade effect class rewrite to not use QWidget and event filter
since the effect sets a X11 window property the only thing it has to care
about is if the widget pointer is valid and the elapsed time. moving,
resizing the widget, etc. do not matter
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 21 Nov 2022 22:42:26 +0000 (00:42 +0200)]
remove unused graphics effects feature
doubles as performance optimzation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 21 Nov 2022 21:19:08 +0000 (23:19 +0200)]
trc man page correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 21 Nov 2022 18:41:53 +0000 (20:41 +0200)]
apply style from settings only if it is not empty and the style override is empty from QApplicationPrivate::x11_apply_settings()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 21 Nov 2022 18:40:20 +0000 (20:40 +0200)]
QApplication::setStyle() documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 21 Nov 2022 01:28:47 +0000 (03:28 +0200)]
optimize QAlphaWidget (fade effect) further by using window opacity
relies solely on the compositor for it and assumes window opacity is not
set by the user, Katana has animation override
(_KDE_NET_WM_SKIP_CLOSE_ANIMATION X11 atom) and the Katie fade effect
should probably have such (or just check if the opacity value is not 1.0
before running the effect) because effects may overlap with window manager
/compositor effects resulting in all sort of bad things
for that reason I am considering dropping the effects that alter the way
windows/widgets show, hide, are moved, etc. altogether and leaving that
to the window manager/compositor. effects such as colorization of pixmap
and grayscaling (used in QIcon) however are unlikely to be removed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 21 Nov 2022 00:49:32 +0000 (02:49 +0200)]
optimize QAlphaWidget by avoiding QImage to QPixmap conversion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 22:27:07 +0000 (00:27 +0200)]
use icons from the system in scripttools component
less static data in the library and better looks - can't go wrong with that
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 22:03:49 +0000 (00:03 +0200)]
remove unused scripttools component images
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 21:44:48 +0000 (23:44 +0200)]
remove unused qicon header inclusion in qscriptbreakpointsmodel source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 21:44:23 +0000 (23:44 +0200)]
correct indendation in QKeyMapper::translateKeyEvent()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 21:35:48 +0000 (23:35 +0200)]
fix ODR-violation in md5c and sha2 source files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 21:34:46 +0000 (23:34 +0200)]
remove qbitmap source file from the unity exclude list
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 20:50:33 +0000 (22:50 +0200)]
simplify QKeyMapper::clearMappings() and do not use the cached locale codec
since it is known what locale the X11 input method uses it is redundant to
verify that via XLocaleOfIM() (unless X11 fails to detect what locale is
set for some strange reason).
also not using the cached codec returned by QTextCodec::codecForLocale()
because the locale may change at any time (either environment variable
change or just plain setlocale() call as was done by KCatalog as gettext
workaround) and QKeyMapper has to reflect such changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 19:24:55 +0000 (21:24 +0200)]
QFontDatabase optimizations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 16:55:27 +0000 (18:55 +0200)]
do not set the internal QApplicationPrivate::styleOverride from QApplicationPrivate::x11_apply_settings()
the style name is either from the settings or the platform plugin, not from
-style argument
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 16:51:12 +0000 (18:51 +0200)]
show preview even of the desktop style
the desktop style is now determined by QT_PLATFORM_PLUGIN and
DESKTOP_SESSION environment variables with fallback to cleanlooks style so
even if it is the fallback style there is something to show but if it is
not the fallback the user will be able to preview the style chosen by
QGuiPlatformPlugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 15:49:06 +0000 (17:49 +0200)]
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>
Ivailo Monev [Sun, 20 Nov 2022 14:29:29 +0000 (16:29 +0200)]
add QSidebar test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 13:57:36 +0000 (15:57 +0200)]
effectively revert
c3c697ea5b4e141f08c4607955f085c49667b806
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>
Ivailo Monev [Sun, 20 Nov 2022 12:30:34 +0000 (14:30 +0200)]
use patternForFont() in getFcPattern() and rename getFcPattern()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 20 Nov 2022 01:10:27 +0000 (03:10 +0200)]
fix regression since
81cc2609442d5ee1e445040d9863e2538904a7f7
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 22:34:47 +0000 (00:34 +0200)]
build fix for the case when QT_NO_TEMPORARYFILE is defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 21:19:16 +0000 (23:19 +0200)]
QT_NO_WIZARD config option is no longer broken
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 20:55:07 +0000 (22:55 +0200)]
adjust expected result in QFontDatabase test case
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 22:37:33 +0000 (00:37 +0200)]
query all fonts to get the styles for font family from QFontDatabase::styles()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 21:49:13 +0000 (23:49 +0200)]
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>
Ivailo Monev [Sat, 19 Nov 2022 19:29:08 +0000 (21:29 +0200)]
remove now unused QFontFamily struct
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 19:28:05 +0000 (21:28 +0200)]
compiler warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 19:25:36 +0000 (21:25 +0200)]
plug QFontDatabase memory leak
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 19:10:00 +0000 (21:10 +0200)]
compiler warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 18:54:47 +0000 (20:54 +0200)]
QFontDatabase review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 16:08:31 +0000 (18:08 +0200)]
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>
Ivailo Monev [Sat, 19 Nov 2022 03:39:06 +0000 (05:39 +0200)]
inline qt_pixelSize() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 03:25:01 +0000 (05:25 +0200)]
scale the fontconfig weight value to QFont::Weight in QFontDatabase
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 03:06:44 +0000 (05:06 +0200)]
remove compat QFontDatabase methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 02:28:46 +0000 (04:28 +0200)]
de-duplicate QFontDatabase code
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 02:14:44 +0000 (04:14 +0200)]
add case-sensitivity test for QFontDatabase
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 01:48:13 +0000 (03:48 +0200)]
de-duplicate QFontDatabase code
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 19 Nov 2022 01:39:55 +0000 (03:39 +0200)]
const-ify QFontDatabase::styleString() methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 18 Nov 2022 23:45:16 +0000 (01:45 +0200)]
test case for converting QFont from and to QString
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 18 Nov 2022 23:19:32 +0000 (01:19 +0200)]
add config file for testing X 16 bit depth support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 18 Nov 2022 23:07:52 +0000 (01:07 +0200)]
update comment in QVariant test data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 18 Nov 2022 19:28:52 +0000 (21:28 +0200)]
zero-copy QX11Data::copyXImageToQImage() for some cases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 18 Nov 2022 18:52:58 +0000 (20:52 +0200)]
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>
Ivailo Monev [Fri, 18 Nov 2022 18:21:43 +0000 (20:21 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Fri, 18 Nov 2022 18:21:18 +0000 (20:21 +0200)]
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>
Ivailo Monev [Fri, 18 Nov 2022 16:26:30 +0000 (18:26 +0200)]
remove QTextDecoder and QTextEncoder leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 18 Nov 2022 12:33:44 +0000 (14:33 +0200)]
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>
Ivailo Monev [Fri, 18 Nov 2022 12:10:13 +0000 (14:10 +0200)]
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>
Ivailo Monev [Fri, 18 Nov 2022 02:06:34 +0000 (04:06 +0200)]
remove redundant QCompleter::event() reimplementation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 18 Nov 2022 01:26:33 +0000 (03:26 +0200)]
remove unused QPdf::generateLinearGradientShader() method
USE_NATIVE_GRADIENTS is never defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 23:26:21 +0000 (01:26 +0200)]
remove unused QFontSubset::toTruetype() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 20:15:19 +0000 (22:15 +0200)]
correct logic in isStyleMatch() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 19:26:19 +0000 (21:26 +0200)]
load the application font as last resort instead of adding it to each patterns
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 18:50:11 +0000 (20:50 +0200)]
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>
Ivailo Monev [Thu, 17 Nov 2022 18:37:30 +0000 (20:37 +0200)]
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>
Ivailo Monev [Thu, 17 Nov 2022 18:36:13 +0000 (20:36 +0200)]
minor QFont documentation review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 19:44:47 +0000 (21:44 +0200)]
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>
Ivailo Monev [Thu, 17 Nov 2022 17:09:54 +0000 (19:09 +0200)]
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>
Ivailo Monev [Thu, 17 Nov 2022 16:37:21 +0000 (18:37 +0200)]
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>
Ivailo Monev [Thu, 17 Nov 2022 14:30:48 +0000 (16:30 +0200)]
resolve family aliases from QFontDatabase methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 12:47:52 +0000 (14:47 +0200)]
fix font style matching in QFontDatabase::font() and test case it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 12:41:30 +0000 (14:41 +0200)]
set the pitch of the font from QFontDatabase::font()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 12:32:27 +0000 (14:32 +0200)]
export qt_getClipRects() only for the QRegion test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 17 Nov 2022 12:30:53 +0000 (14:30 +0200)]
move qt_getClipRects() function to qregion source file, where it belongs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 20:17:47 +0000 (22:17 +0200)]
lock before accessing the custom meta types global static in QMetaType::type()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 19:27:57 +0000 (21:27 +0200)]
Revert "always allocate QGlyphLayout data on the heap"
will have to wait until the QTextEngine redo
This reverts commit
4a5239046adeb78397c868074fe48d595fcb8fa4.
Ivailo Monev [Wed, 16 Nov 2022 17:15:45 +0000 (19:15 +0200)]
always allocate QGlyphLayout data on the heap
much easier to calculate the glyph array data size and also no
possibility for stack corruption
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 14:01:25 +0000 (16:01 +0200)]
add thread-safety test for QFontDatabase
it basically tests fontconfig thread-safety but QFontDatabase is documented
as thread-safe (as it should be) so why not add test case for it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 13:35:45 +0000 (15:35 +0200)]
QFontDatabase test review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 13:29:57 +0000 (15:29 +0200)]
do not assume FcObjectSetCreate(), FcPatternCreate() and FcFontList() return non-null pointers in QFontDatabase constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 13:26:25 +0000 (15:26 +0200)]
replace hardcoded QFont::Unstretched value with the enum
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 16 Nov 2022 03:05:56 +0000 (05:05 +0200)]
assume the codec MIB is in the table in QTextCodec::mibEnum() and add test for it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 18:17:42 +0000 (20:17 +0200)]
remove unused headers inclusions in qfont source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 18:08:42 +0000 (20:08 +0200)]
use the QPixmap::scaled() method in QMoviePrivate::next()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 17:34:24 +0000 (19:34 +0200)]
use QVector for the QMetaMethod list in qInvokeTestMethods() function
operator new may throw if the method count is zero, a test case should have
atleast one method tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 17:12:08 +0000 (19:12 +0200)]
move QTextConverter::ConversionFlag documentation bellow QTextConverter documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 15:59:57 +0000 (17:59 +0200)]
move constructor and destructor to the top in qfontdatabase source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 15:48:09 +0000 (17:48 +0200)]
read PNG rows directly into QImage allocated memory
KAT format is still faster, benchmark result:
********* Start testing of tst_QImageReader *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_QImageReader::initTestCase()
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
449,473.586 CPU ticks per iteration (total: 224,736,793, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
12,192,500.92 CPU ticks per iteration (total: 6,096,250,460, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
4,553,239.292 CPU ticks per iteration (total: 2,276,619,646, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
1,847,145.64 CPU ticks per iteration (total: 923,572,823, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
19,422,744.28 CPU ticks per iteration (total: 9,711,372,141, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
12,389,194.51 CPU ticks per iteration (total: 6,194,597,257, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
653,286.280 CPU ticks per iteration (total: 326,643,140, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
2,728,198.060 CPU ticks per iteration (total: 1,364,099,030, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
2,455,954.036 CPU ticks per iteration (total: 1,227,977,018, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
10,524,974.96 CPU ticks per iteration (total: 5,262,487,482, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
8,238,501.942 CPU ticks per iteration (total: 4,119,250,971, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
74,886,112.602 CPU ticks per iteration (total: 37,443,056,301, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
63,337,570.664 CPU ticks per iteration (total: 31,668,785,332, iterations: 500)
PASS : tst_QImageReader::readImage()
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
1,950,330.16 CPU ticks per iteration (total: 975,165,082, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
13,089,959.61 CPU ticks per iteration (total: 6,544,979,808, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
5,447,284.922 CPU ticks per iteration (total: 2,723,642,461, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
3,342,337.962 CPU ticks per iteration (total: 1,671,168,981, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
20,326,863.998 CPU ticks per iteration (total: 10,163,431,999, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
13,279,201.09 CPU ticks per iteration (total: 6,639,600,546, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
1,498,119.28 CPU ticks per iteration (total: 749,059,644, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
3,641,910.638 CPU ticks per iteration (total: 1,820,955,319, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
3,370,265.894 CPU ticks per iteration (total: 1,685,132,947, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
9,147,455.174 CPU ticks per iteration (total: 4,573,727,587, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
9,729,368.638 CPU ticks per iteration (total: 4,864,684,319, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
75,966,954.086 CPU ticks per iteration (total: 37,983,477,043, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
64,719,740.840 CPU ticks per iteration (total: 32,359,870,420, iterations: 500)
PASS : tst_QImageReader::setScaledSize()
PASS : tst_QImageReader::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageReader *********
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 15 Nov 2022 14:11:43 +0000 (16:11 +0200)]
cache system fonts on per QFontDatabase object basis
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 22:50:06 +0000 (00:50 +0200)]
drop support for registering custom QVariantAnimation interpolators
even the declarative component inherit and use internal animation classes
methods for interpolation, if anything there should be more interpolators
(e.g. for QVariant::LongLong and QVariant::ULongLong)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 21:26:22 +0000 (23:26 +0200)]
qconfig header update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 21:22:19 +0000 (23:22 +0200)]
remove unused QErrorMessage class
Katana uses KMessageBox or system notifcations for such things
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 14 Nov 2022 19:08:39 +0000 (21:08 +0200)]
do not store the hinting flags in QFontEngineFT
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>