fun fact: anything that is checking for BOMs is either not passing them
to QTextCodec/QTextConverter (e.g. Kate) when converting or was just using
QTextCodec::IgnoreHeader flag (QXmlStreamWriter used to)
okular xps generator now works btw (xml files in .xps files seem to be
UTF-16 encoded with BOM)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
since QEasingCurve instances are no longer shared and no detaching is done
the check that was optimization to avoid detaching is no longer worth it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
ICU finally does not generate BOMs (since idk when), I guess someone took
note. chopping BOMs from the result may have to be done only if the input
data had BOM (for compat) but let's see if that is even needed
Kate encoding tests pass now btw
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
most of them are unused since QTextStream is used mostly for streaming to
QFile, besides that the streaming of void pointer could result in streaming
in std::endl function pointer address or some other non-sense
I will not gut-out QTextStream yet (not in this release cycle) because I
know for a fact such change will break things that use the declarative
component (such as plasma and its applets due to nan/inf compat code in
QTextStream)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
what a surprise it is to learn that both function replace characters only
in some cases (when context is NULL or some internally set context)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
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>
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>
QComboBox animation was essentially non-operational (see
5b5fbca2ed), 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>
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>
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>
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>