qt5base-lts/tests/manual/diaglib
Qt Forward Merge Bot 8823bb8d30 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	examples/opengl/doc/src/cube.qdoc
	src/corelib/global/qlibraryinfo.cpp
	src/corelib/text/qbytearray_p.h
	src/corelib/text/qlocale_data_p.h
	src/corelib/time/qhijricalendar_data_p.h
	src/corelib/time/qjalalicalendar_data_p.h
	src/corelib/time/qromancalendar_data_p.h
	src/network/ssl/qsslcertificate.h
	src/widgets/doc/src/graphicsview.qdoc
	src/widgets/widgets/qcombobox.cpp
	src/widgets/widgets/qcombobox.h
	tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
	tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro
	tests/manual/diaglib/debugproxystyle.cpp
	tests/manual/diaglib/qwidgetdump.cpp
	tests/manual/diaglib/qwindowdump.cpp
	tests/manual/diaglib/textdump.cpp
	util/locale_database/cldr2qlocalexml.py
	util/locale_database/qlocalexml.py
	util/locale_database/qlocalexml2cpp.py

Resolution of util/locale_database/ are based on:
https://codereview.qt-project.org/c/qt/qtbase/+/294250
and src/corelib/{text,time}/*_data_p.h were then regenerated by
running those scripts.

Updated CMakeLists.txt in each of
	tests/auto/corelib/serialization/qcborstreamreader/
	tests/auto/corelib/serialization/qcborvalue/
	tests/auto/gui/kernel/
and generated new ones in each of
	tests/auto/gui/kernel/qaddpostroutine/
	tests/auto/gui/kernel/qhighdpiscaling/
	tests/libfuzzer/corelib/text/qregularexpression/optimize/
	tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/
	tests/libfuzzer/gui/text/qtextdocument/sethtml/
	tests/libfuzzer/gui/text/qtextdocument/setmarkdown/
	tests/libfuzzer/gui/text/qtextlayout/beginlayout/
by running util/cmake/pro2cmake.py on their changed .pro files.

Changed target name in
	tests/auto/gui/kernel/qaction/qaction.pro
	tests/auto/gui/kernel/qaction/qactiongroup.pro
	tests/auto/gui/kernel/qshortcut/qshortcut.pro
to ensure unique target names for CMake

Changed tst_QComboBox::currentIndex to not test the
currentIndexChanged(QString), as that one does not exist in Qt 6
anymore.

Change-Id: I9a85705484855ae1dc874a81f49d27a50b0dcff7
2020-04-08 20:11:39 +02:00
..
debugproxystyle.cpp Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
debugproxystyle.h Brush up Diaglib 2019-06-24 08:56:00 +02:00
diaglib.pri Manual tests: Port diaglib from QGL to QOpenGL 2020-02-28 08:16:32 +01:00
eventfilter.cpp Brush up Diaglib 2019-06-24 08:56:00 +02:00
eventfilter.h Brush up Diaglib 2019-06-24 08:56:00 +02:00
glinfo.cpp Manual tests: Port diaglib from QGL to QOpenGL 2020-02-28 08:16:32 +01:00
glinfo.h Updated license headers 2016-01-21 18:55:18 +00:00
logwidget.cpp Brush up Diaglib 2019-06-24 08:56:00 +02:00
logwidget.h Brush up Diaglib 2019-06-24 08:56:00 +02:00
nativewindowdump_win.cpp Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
nativewindowdump.cpp XCB: Implement native window dump for diaglib 2018-01-24 14:39:16 +00:00
nativewindowdump.h Updated license headers 2016-01-21 18:55:18 +00:00
qwidgetdump.cpp Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
qwidgetdump.h Brush up Diaglib 2019-06-24 08:56:00 +02:00
qwindowdump.cpp Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
qwindowdump.h Brush up Diaglib 2019-06-24 08:56:00 +02:00
README.txt Diaglib: Add class LogWidget. 2016-06-09 20:16:47 +00:00
textdump.cpp Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
textdump.h Updated license headers 2016-01-21 18:55:18 +00:00

This is a collection of functions and classes helpful for diagnosing bugs
in Qt 4 and Qt 5. It can be included in the application's .pro file by
adding:

include([path to Qt sources]/tests/manual/diaglib/diaglib.pri)

For Qt 4, the environment variable QTDIR may be used:
include($$(QTDIR)/tests/manual/diaglib/diaglib.pri)

The .pri file adds the define QT_DIAG_LIB, so, diagnostic
code can be enlosed within #ifdef to work without it as well.

All functions and classes are in the QtDiag namespace.

function dumpText() (textdump.h)
  Returns a string containing the input text split up in characters
  listing category, script, direction etc.
  Useful for analyzing non-Latin text.

function  dumpTextAsCode() (textdump.h)
   Returns a string containing a code snippet creating a QString
   by appending the unicode value of character of the input.
   This is useful for constructing non-Latin strings with purely ASCII
   source code.

class EventFilter (eventfilter.h):
  An event filter that logs Qt events to qDebug() depending on
  configured categories (for example mouse, keyboard, etc).

class DebugProxyStyle (debugproxystyle.h)
  A proxy style that wraps around an existing style and outputs
  the parameters and return values of its function calls, useful
  for debugging QStyle.

class LogWidget (logwidget.h)
  A Log Widget inheriting QPlainTextEdit with convenience functions
  to install as a message handler.

class LogFunctionGuard
   A guard class for use with LogWidget logging messages when a function
   is entered/left (indenting the log messages).
   Can be instantiated using:
   LogFunctionGuard guard(__FUNCTION__) or
   LogFunctionGuard guard(Q_FUNC_INFO)

function glInfo() (glinfo.h):
  Returns a string describing the Open GL configuration (obtained
  by querying GL_VENDOR and GL_RENDERER). Available only
  when the QT qmake variable contains opengl.

functions dumpNativeWindows(), dumpNativeQtTopLevels():
  These functions du,p out the hierarchy of native Windows. Currently
  implemented for Windows only.

function dumpAllWidgets() (qwidgetdump.h):
  Dumps the hierarchy of QWidgets including information about flags,
  visibility, geometry, etc.

function dumpAllWindows() (qwindowdump.h):
  Dumps the hierarchy of QWindows including information about flags,
  visibility, geometry, etc.