OSDN Git Service

kde/Katie.git
17 months agodo not return boolean from QBitArray::fill()
Ivailo Monev [Tue, 13 Dec 2022 13:24:43 +0000 (15:24 +0200)]
do not return boolean from QBitArray::fill()

the return value is always true

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agodrop support for custom QEasingCurve type
Ivailo Monev [Mon, 12 Dec 2022 08:50:04 +0000 (10:50 +0200)]
drop support for custom QEasingCurve type

use one of the animation classes instead if such is required

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agosearch for programs in the standard executables locations in addition to PATH
Ivailo Monev [Sat, 10 Dec 2022 10:47:17 +0000 (12:47 +0200)]
search for programs in the standard executables locations in addition to PATH

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agolook for the program before exec-ing from QProcess
Ivailo Monev [Sat, 10 Dec 2022 10:43:05 +0000 (12:43 +0200)]
look for the program before exec-ing from QProcess

stat-ing multiple times is much more optimal than exec-ing multiple times,
bonus points for using QStandardPaths::findExecutable() to look for the
program (which should check for it in ~/.local/bin too)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agoversion bump
Ivailo Monev [Thu, 1 Dec 2022 19:27:11 +0000 (21:27 +0200)]
version bump

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agoremove redundant QTextControl::event() reimplementation 4.12.0
Ivailo Monev [Thu, 1 Dec 2022 16:27:21 +0000 (18:27 +0200)]
remove redundant QTextControl::event() reimplementation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agouse correct QString constructor for expected data in tst_QJsonDocument::read()
Ivailo Monev [Tue, 29 Nov 2022 02:22:50 +0000 (04:22 +0200)]
use correct QString constructor for expected data in tst_QJsonDocument::read()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agoalways use QImage for QTextDocument resources
Ivailo Monev [Tue, 29 Nov 2022 01:53:25 +0000 (03:53 +0200)]
always use QImage for QTextDocument resources

now that QPixmap always uses QImage (internally) it's better to use QImage
directly

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agocheck the time even if the serial is the same in QKeyMapper::translateKeyEvent()
Ivailo Monev [Mon, 28 Nov 2022 18:37:28 +0000 (20:37 +0200)]
check the time even if the serial is the same in QKeyMapper::translateKeyEvent()

apparently X11 sends key events with same serial even seconds after (if the
key is the same), also now only key presses will be considered
auto-repeated because X11 sends (fake/simulated) key release events

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agomove the static variable outside the conditional code in QKeyMapper::translateKeyEvent()
Ivailo Monev [Mon, 28 Nov 2022 08:43:02 +0000 (10:43 +0200)]
move the static variable outside the conditional code in QKeyMapper::translateKeyEvent()

fun fact: it is very easy to break auto-repeat code by reparenting QWidget
from a QPushButton event (KMediaWidget does it)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agocorrect memcmp() return value checks in QTextConverter::toUnicode()
Ivailo Monev [Sun, 27 Nov 2022 00:51:24 +0000 (02:51 +0200)]
correct memcmp() return value checks in QTextConverter::toUnicode()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agoreturn if ubrk_safeClone() fails in QTextBoundaryFinder assignment operator
Ivailo Monev [Sat, 26 Nov 2022 09:14:25 +0000 (11:14 +0200)]
return if ubrk_safeClone() fails in QTextBoundaryFinder assignment operator

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agocall ubrk_following() and ubrk_preceding() with the current QTextBoundaryFinder position
Ivailo Monev [Sat, 26 Nov 2022 09:03:16 +0000 (11:03 +0200)]
call ubrk_following() and ubrk_preceding() with the current QTextBoundaryFinder position

I remember ubrk_following() and ubrk_preceding() causing a crash if the
position is not within the text bounds so leaving the -1 checks just in
case

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agocheck for self-assignment in QTextBoundaryFinder assignment operator
Ivailo Monev [Sat, 26 Nov 2022 06:34:03 +0000 (08:34 +0200)]
check for self-assignment in QTextBoundaryFinder assignment operator

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agohandle strings as UTF-8 encoded from QJsonDocument
Ivailo Monev [Sat, 26 Nov 2022 04:44:56 +0000 (06:44 +0200)]
handle strings as UTF-8 encoded from QJsonDocument

the default QString codec is US-ASCII

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agochop BOMs from QTextConverter::toUnicode()
Ivailo Monev [Fri, 25 Nov 2022 15:20:43 +0000 (17:20 +0200)]
chop BOMs from QTextConverter::toUnicode()

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>
18 months agoQPngHandler::write() optimization
Ivailo Monev [Fri, 25 Nov 2022 00:53:41 +0000 (02:53 +0200)]
QPngHandler::write() optimization

why allocate when it can be done without?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agoinherit std::bitset<T> as private base class of QTimersSet
Ivailo Monev [Fri, 25 Nov 2022 00:05:45 +0000 (02:05 +0200)]
inherit std::bitset<T> as private base class of QTimersSet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agocorrect indendations in qslider source file
Ivailo Monev [Fri, 25 Nov 2022 00:03:25 +0000 (02:03 +0200)]
correct indendations in qslider source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agoremove unused QSizeGripPrivate member
Ivailo Monev [Thu, 24 Nov 2022 23:46:31 +0000 (01:46 +0200)]
remove unused QSizeGripPrivate member

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agoremove unused definitions in qsizegrip source file
Ivailo Monev [Thu, 24 Nov 2022 23:43:50 +0000 (01:43 +0200)]
remove unused definitions in qsizegrip source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 months agocorrect break scope in QDockWidget::event()
Ivailo Monev [Thu, 24 Nov 2022 23:40:20 +0000 (01:40 +0200)]
correct break scope in QDockWidget::event()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>