Commit graph

7795 commits

Author SHA1 Message Date
Ivailo Monev
0cab6d9a61 do not attempt to translate when the data is empty
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-02 11:11:40 +02:00
Ivailo Monev
c648db63e1 faster translations lookup
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-02 08:18:35 +02:00
Ivailo Monev
409f567fac call setlocale() to set the characters classification before attempting to open X11 input method
due to the recent change in KCatalog I found out setlocale() is not called
by many programs unless there are specific requirements and X11 apparently
requires it to function properly

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-02 07:49:54 +02:00
Ivailo Monev
412c775fe9 fallback to system locale for keyboard input locale and codec
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-02 07:17:06 +02:00
Ivailo Monev
9fbbe41cf0 do not install empty (invalid) translators
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-02 05:59:48 +02:00
Ivailo Monev
c73cda5f1b lock when installing and removing translators
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-02 05:51:00 +02:00
Ivailo Monev
d0742df56c use custom format for translations
the code for translating strings in kdelibs (see
kdelibs/kdecore/localization/kcatalog.cpp) has finally made me roll my
own - locking global mutex, saving and restoring environment variables
on every string translation is not very good, is it?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-02 05:23:31 +02:00
Ivailo Monev
ab43571cc1 Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie 2022-11-01 22:45:01 +02:00
Ivailo Monev
3505060633 remove unused QFileInfoPrivate::FileName enums
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 22:44:49 +02:00
Ivailo Monev
b071b6774f FreeBSD package footprint file update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 22:27:36 +02:00
Ivailo Monev
df060ed6f6 always read data without intermediate buffer from QIODevice::read()
the main user of QIODevice is QFile and it uses O_DSYNC/O_SYNC for
unbuffered I/O meaning the QIODevice buffer does not benefit it because the
filesystem cache already does that

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 21:34:16 +02:00
Ivailo Monev
3d6aa1b726 correct function name passed to macro in QIODevice::ungetChar()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 23:39:33 +02:00
Ivailo Monev
af3cc17128 use qt_safe_read() instead of calling the virtual QFile::readData() in QFile::readLineData()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 19:24:50 +02:00
Ivailo Monev
12198d2ebb drop support for mapping QFile via mmap()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 19:13:33 +02:00
Ivailo Monev
4ca87ec20c do only basic ELF checks from qt_unix_query()
QLibraryPrivate::loadPlugin() resolves the symbol, it is not assumed to be
present in the plugin which means a basic ELF check is more than enough
(the important thing is to _not_ load .debug files as those may cause a
crash)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 19:11:15 +02:00
Ivailo Monev
57f3e74d1d correct the buffer size in qRandomUuid() function
the initial implementation was not passing the buffer size to the
QByteArray constructor so the additional bit was for qstrlen()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 09:39:49 +02:00
Ivailo Monev
65ed00fe3d do not remove the file from the EXDEV error codepath in QFileSystemEngine::renameFile()
QFileSystemEngine::renameFile() is supposed to fail if the file exists

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 07:34:54 +02:00
Ivailo Monev
6abeaffdee deep-copy the charset name in QTextCodec::codecForText()
it is documented to remain valid as long as UCharsetMatch is

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 05:36:48 +02:00
Ivailo Monev
1dc88a35cd fix QDir::absoluteFilePath() regression
somewhere in the abstraction engine it was returned clean

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 04:14:37 +02:00
Ivailo Monev
2e38b6c2d7 do not use QTextCodec::codecForLocale() for converting QString to decoded locale-encoded string
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 00:24:06 +02:00
Ivailo Monev
f5d8e81c79 inline toLocal8Bit_helper() function and use it in QString::toLocal8Bit()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 00:12:59 +02:00
Ivailo Monev
67d9e14434 set localecodec variable from QTextCodecPrivate::localeCodec()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 00:12:26 +02:00
Ivailo Monev
05b8abbe52 keep reference to the native filepath in QFile::resize()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 01:59:55 +02:00
Ivailo Monev
350667cf94 do not use QTextCodec::codecForLocale() for converting QString to locale-encoded string
if QString::toLocal8Bit() is called from global static destructor it may
be too late to cache a QTextCodec, in fact it may cause a crash.
QTextCodec::codecForLocale() also has to lock a global mutex

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 21:48:55 +02:00
Ivailo Monev
8a7becdf29 QDataStream documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 21:12:58 +02:00
Ivailo Monev
9ed237217b compiler warnings fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 19:55:55 +02:00
Ivailo Monev
917e923111 QFile review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 22:45:32 +02:00
Ivailo Monev
8ddb0f0985 merge QAbstractFileEngine into QFile
the behaviour of QTemporaryFile changes slightly, e.g. downcast to QFile
and open() with flags does not work like before - if you down-cast
better be sure you want to call the down-casted method (it is like a
C-style cast)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 11:23:39 +02:00
Ivailo Monev
618fb1bd06 QT_NO_SIGNALMAPPER config option is no longer broken
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 08:17:29 +02:00
Ivailo Monev
9222708c38 remove unused QContiguousCache class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 08:07:22 +02:00
Ivailo Monev
737752f597 remove unused and ambiguous QDataStream operators
QByteArray has implicit char* operator which could result in code that is
sub-optimal

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 07:30:05 +02:00
Ivailo Monev
655f45c943 workaround rename() and renameat2() limitation from QFileSystemEngine::renameFile()
already done in kdelibs mostly for temporary files, for reference:
4ff227e336

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:35:57 +02:00
Ivailo Monev
ea8c0aa792 remove tst_QMainWindow compat test case
test was failing because of the previous commit but 4.1, 4.2 and 4.3 are
very old releases anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:25:15 +02:00
Ivailo Monev
bec8e7280c use QDataStream::HostEndian as byte order by default for QDataStream and do not byte-swap QString data when streaming it
both are breaking changes, any data stored via QDataStream will not load
now by default unless the byte order is explicitly set to big endian

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:02:49 +02:00
Ivailo Monev
ed93b0562e set the byte order to big endian when testing with big endian data in QDataStream test cases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 03:42:08 +02:00
Ivailo Monev
8a7d49c5d6 set the byte order to big endian when testing with big endian data in QDataStream test cases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:53:34 +02:00
Ivailo Monev
e096f539fe use the QDataStream byteorder member for swap check
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 22:30:09 +02:00
Ivailo Monev
e3b199f8b7 the test data in tst_QVariant::loadUnknownUserType() is big endian
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 21:29:20 +02:00
Ivailo Monev
a2f550ff36 set the byte order of the QDataStream objects used for KAT images reading/writing to big endian
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 19:07:16 +02:00
Ivailo Monev
42a45fd293 implement specialized QAbstractFileEngine methods to fix enums overlapping
some QFileSystemMetaData enums overlap with QFile::Permissions still but
that is on purpose

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 07:27:16 +02:00
Ivailo Monev
647c50ce1a build fix for the case when QT_NO_CALENDARWIDGET or QT_NO_DATETIMEEDIT is defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:04:43 +02:00
Ivailo Monev
55ebe14a3f QT_NO_IMAGEFORMAT_XPM config option is no longer broken
Katie does not use images in that format

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:33:51 +03:00
Ivailo Monev
791cf40759 Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie 2022-10-30 03:20:43 +03:00
Ivailo Monev
03a6481de8 QFileInfo no longer requires abstraction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 02:51:53 +03:00
Ivailo Monev
a528953b7e FreeBSD package footprint update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 02:15:21 +03:00
Ivailo Monev
5dfd777ffa remove redundant QAbstractSocket::readLineData() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 02:13:20 +03:00
Ivailo Monev
c86d67daf7 remove unused variable in QDirIteratorPrivate::pushDirect()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 01:20:56 +03:00
Ivailo Monev
af3b57ca76 require type/file arguments for QAbstractFileEngine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 01:01:11 +03:00
Ivailo Monev
9a93948dd1 remove unused QAbstractFileEngine::entryList() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:48:42 +03:00
Ivailo Monev
0b2dfd3f69 remove unused QAbstractFileEngine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:44:03 +03:00