OSDN Git Service

kde/Katie.git
20 months agoQApplication and QWidgetAnimator friendship has been broken
Ivailo Monev [Thu, 24 Nov 2022 23:34:00 +0000 (01:34 +0200)]
QApplication and QWidgetAnimator friendship has been broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agopartial build fix for the case when QT_NO_COLORDIALOG is defined
Ivailo Monev [Thu, 24 Nov 2022 23:17:28 +0000 (01:17 +0200)]
partial build fix for the case when QT_NO_COLORDIALOG is defined

qtconfig tool requires QColorDialog, that's why it is broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQT_NO_FILEDIALOG config option is no longer broken
Ivailo Monev [Thu, 24 Nov 2022 23:03:53 +0000 (01:03 +0200)]
QT_NO_FILEDIALOG config option is no longer broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQT_NO_FONTDIALOG config option is no longer broken
Ivailo Monev [Thu, 24 Nov 2022 22:48:36 +0000 (00:48 +0200)]
QT_NO_FONTDIALOG config option is no longer broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agocorrect indentation in QWindowsStyle::drawPrimitive()
Ivailo Monev [Thu, 24 Nov 2022 22:18:59 +0000 (00:18 +0200)]
correct indentation in QWindowsStyle::drawPrimitive()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoremove redundant check in QEasingCurve::setType()
Ivailo Monev [Thu, 24 Nov 2022 21:56:00 +0000 (23:56 +0200)]
remove redundant check in QEasingCurve::setType()

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>
20 months agocorrect repo directory name in crossdeb.sh script
Ivailo Monev [Thu, 24 Nov 2022 21:35:38 +0000 (23:35 +0200)]
correct repo directory name in crossdeb.sh script

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQFontDatabase review
Ivailo Monev [Thu, 24 Nov 2022 22:59:54 +0000 (00:59 +0200)]
QFontDatabase review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQEasingCurve review
Ivailo Monev [Thu, 24 Nov 2022 22:38:49 +0000 (00:38 +0200)]
QEasingCurve review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agomove the QEasingCurve::Custom case to the switch in QEasingCurve::valueForProgress()
Ivailo Monev [Thu, 24 Nov 2022 22:26:54 +0000 (00:26 +0200)]
move the QEasingCurve::Custom case to the switch in QEasingCurve::valueForProgress()

side note: only plasma and KWin set custom QEasingCurve function, both are
not used

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agotranslations update
Ivailo Monev [Thu, 24 Nov 2022 18:25:29 +0000 (20:25 +0200)]
translations update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoremove resource system leftovers
Ivailo Monev [Thu, 24 Nov 2022 18:03:50 +0000 (20:03 +0200)]
remove resource system leftovers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agocorrect debug message in QTextStreamPrivate::flushWriteBuffer()
Ivailo Monev [Thu, 24 Nov 2022 17:48:32 +0000 (19:48 +0200)]
correct debug message in QTextStreamPrivate::flushWriteBuffer()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agowrite BOM only from QTextStream, on demand
Ivailo Monev [Thu, 24 Nov 2022 16:40:55 +0000 (18:40 +0200)]
write BOM only from QTextStream, on demand

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>
20 months agoconsistent QTextConverter::ConversionFlag enums
Ivailo Monev [Thu, 24 Nov 2022 02:02:25 +0000 (04:02 +0200)]
consistent QTextConverter::ConversionFlag enums

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoremove most of the QTextStream manipulators and the ambiguous void pointer operator
Ivailo Monev [Wed, 23 Nov 2022 21:32:56 +0000 (23:32 +0200)]
remove most of the QTextStream manipulators and the ambiguous void pointer operator

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>
20 months agotest QTextConverter::hasFailure() in QTextCodec test
Ivailo Monev [Wed, 23 Nov 2022 17:08:52 +0000 (19:08 +0200)]
test QTextConverter::hasFailure() in QTextCodec test

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agocall UCNV_FROM_U_CALLBACK_SUBSTITUTE() and UCNV_TO_U_CALLBACK_SUBSTITUTE() with NULL...
Ivailo Monev [Wed, 23 Nov 2022 17:01:45 +0000 (19:01 +0200)]
call UCNV_FROM_U_CALLBACK_SUBSTITUTE() and UCNV_TO_U_CALLBACK_SUBSTITUTE() with NULL as context

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>
20 months agosomeone's typo
Ivailo Monev [Wed, 23 Nov 2022 02:36:08 +0000 (04:36 +0200)]
someone's typo

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agocopy the other object position from QTextBoundaryFinder copy-constructor
Ivailo Monev [Wed, 23 Nov 2022 00:15:21 +0000 (02:15 +0200)]
copy the other object position from QTextBoundaryFinder copy-constructor

as done by the assignment operator

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQTextBoundaryFinder documentation review
Ivailo Monev [Wed, 23 Nov 2022 00:12:23 +0000 (02:12 +0200)]
QTextBoundaryFinder documentation review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoremove unused HB_MIN(), HB_MAX() and HB_FIXED_CONSTANT() macros defined in qharfbuz_p...
Ivailo Monev [Tue, 22 Nov 2022 23:44:55 +0000 (01:44 +0200)]
remove unused HB_MIN(), HB_MAX() and HB_FIXED_CONSTANT() macros defined in qharfbuz_p header

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQEasingCurve::valueForProgress() optimization
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>
20 months agoQEasingCurve::InCurve, QEasingCurve::OutCurve, QEasingCurve::SineCurve and QEasingCur...
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>
20 months agoQEasingCurve documentation review
Ivailo Monev [Tue, 22 Nov 2022 22:49:24 +0000 (00:49 +0200)]
QEasingCurve documentation review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agocall FatalSignalHandler constructor
Ivailo Monev [Tue, 22 Nov 2022 22:34:53 +0000 (00:34 +0200)]
call FatalSignalHandler constructor

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQOpacityEffect review
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>
20 months agoexplicitly convert the elapsed time to double
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>
20 months agodo not send move and resize events to the widget from qFadeEffect()
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>
20 months agodrop effects other than fade
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>
20 months agoQOpacityEffect optimization
Ivailo Monev [Tue, 22 Nov 2022 17:02:50 +0000 (19:02 +0200)]
QOpacityEffect optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoset the global static variables before deleting the effect instances in qScrollEffect...
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>
20 months agosnapshot the widget as QImage from QRollEffect
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>
20 months agoremove declaration of now non-existing QRollEffect::run() method
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>
20 months agoactually animate QComboBox
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>
20 months agomerge QRollEffect::run() into QRollEffect constructor
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>
20 months agocancel the opacity/fade effect when the widget is destroyed
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>
20 months agofade effect class rewrite to not use QWidget and event filter
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>
20 months agoremove unused graphics effects feature
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>
20 months agotrc man page correction
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>
20 months agoapply style from settings only if it is not empty and the style override is empty...
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>
20 months agoQApplication::setStyle() documentation update
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>
20 months agooptimize QAlphaWidget (fade effect) further by using window opacity
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>
20 months agooptimize QAlphaWidget by avoiding QImage to QPixmap conversion
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>
20 months agouse icons from the system in scripttools component
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>
20 months agoremove unused scripttools component images
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>
20 months agoremove unused qicon header inclusion in qscriptbreakpointsmodel source file
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>
20 months agocorrect indendation in QKeyMapper::translateKeyEvent()
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>
20 months agofix ODR-violation in md5c and sha2 source files
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>
20 months agoremove qbitmap source file from the unity exclude list
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>
20 months agosimplify QKeyMapper::clearMappings() and do not use the cached locale codec
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>
20 months agoQFontDatabase optimizations
Ivailo Monev [Sun, 20 Nov 2022 19:24:55 +0000 (21:24 +0200)]
QFontDatabase optimizations

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agodo not set the internal QApplicationPrivate::styleOverride from QApplicationPrivate...
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>
20 months agoshow preview even of the desktop style
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>
20 months agolock QSettings files via flock()
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>
20 months agoadd QSidebar test
Ivailo Monev [Sun, 20 Nov 2022 14:29:29 +0000 (16:29 +0200)]
add QSidebar test

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoeffectively revert c3c697ea5b4e141f08c4607955f085c49667b806
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>
20 months agouse patternForFont() in getFcPattern() and rename getFcPattern()
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>
20 months agofix regression since 81cc2609442d5ee1e445040d9863e2538904a7f7
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>
20 months agobuild fix for the case when QT_NO_TEMPORARYFILE is defined
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>
20 months agoQT_NO_WIZARD config option is no longer broken
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>
20 months agoadjust expected result in QFontDatabase test case
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>
20 months agoquery all fonts to get the styles for font family from QFontDatabase::styles()
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>
20 months agocheck if qt_x11Data pointer is valid before using its members from QFontDatabase
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>
20 months agoremove now unused QFontFamily struct
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>
20 months agocompiler warning fix
Ivailo Monev [Sat, 19 Nov 2022 19:28:05 +0000 (21:28 +0200)]
compiler warning fix

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoplug QFontDatabase memory leak
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>
20 months agocompiler warning fix
Ivailo Monev [Sat, 19 Nov 2022 19:10:00 +0000 (21:10 +0200)]
compiler warning fix

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoQFontDatabase review
Ivailo Monev [Sat, 19 Nov 2022 18:54:47 +0000 (20:54 +0200)]
QFontDatabase review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
20 months agoquery fontconfig directly from QFontDatabase
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>
20 months agoinline qt_pixelSize() function
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>
20 months agoscale the fontconfig weight value to QFont::Weight in QFontDatabase
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>
20 months agoremove compat QFontDatabase methods
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>
20 months agode-duplicate QFontDatabase code
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>
20 months agoadd case-sensitivity test for QFontDatabase
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>
20 months agode-duplicate QFontDatabase code
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>
20 months agoconst-ify QFontDatabase::styleString() methods
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>
20 months agotest case for converting QFont from and to QString
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>
20 months agoadd config file for testing X 16 bit depth support
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>
20 months agoupdate comment in QVariant test data
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>
20 months agozero-copy QX11Data::copyXImageToQImage() for some cases
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>
20 months agoQX11Data::copyXImageToQImage() optimization
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>
20 months agoMerge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Fri, 18 Nov 2022 18:21:43 +0000 (20:21 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie

20 months agospecial-case QImage::Format_RGB16 with different bytes per line
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>
20 months agoremove QTextDecoder and QTextEncoder leftovers
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>
20 months agoconvert the SVG image to QImage::Format_ARGB32_Premultiplied only if it is not in...
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>
20 months agodrop noop SVG quality implementation
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>
20 months agoremove redundant QCompleter::event() reimplementation
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>
20 months agoremove unused QPdf::generateLinearGradientShader() method
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>
20 months agoremove unused QFontSubset::toTruetype() method
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>
20 months agocorrect logic in isStyleMatch() function
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>
20 months agoload the application font as last resort instead of adding it to each patterns
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>
20 months agoremove now bogus QFont test
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>
20 months agodo not add the last resort font to the pattern when loading font
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>
20 months agominor QFont documentation review
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>
20 months agodo not add fonts with empty style to the database
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>
20 months agoquery and set font pixel size from QFontDatabase
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>
20 months agopreperations to drop QFontInfo
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>
21 months agoresolve family aliases from QFontDatabase methods
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>
21 months agofix font style matching in QFontDatabase::font() and test case it
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>