Commit Graph

39531 Commits

Author SHA1 Message Date
Giuseppe D'Angelo
1b16f79bf2 QSharedData: delete the copy assignment operator
Do not merely declare it as private, use C++11's = delete.
This has the nice side effect that subclasses are no longer
implicitly copy assignable either (they shouldn't be).

Change-Id: Icd03f71006c31baf7d079365fa3bea1a2a9d559b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-02 19:44:08 +00:00
Friedemann Kleint
0d39cf6865 QTextMarkdownImporter: Fix deprecation warning
Use QTextCharFormat::setAnchorNames(), fixing:
text/qtextmarkdownimporter.cpp:322:36: warning: 'void QTextCharFormat::setAnchorName(const QString&)' is deprecated: Use setAnchorNames() instead [-Wdeprecated-declarations]

Amends 65314b6ce8.

Task-number: QTBUG-72349
Change-Id: I7f909d1fcc5c4045c738b5a5c491b2ac1de6eac5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-05-02 15:24:09 +00:00
Robert Loehning
884dc0be7f Remove redundant file from tests
Change-Id: Icb398f1ba32dd1cc3a1e042818750c253539fae3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-05-02 14:40:14 +00:00
Giuseppe D'Angelo
936632c9c1 QList: fix regression in swapItemsAt
Commit e0d2b50249 makes swapItemsAt
use ADL to find swap(). Problem is, QList has a swap() function
(that swaps the elements at the specificed _indices_); that function
will be found before ADL kicks in.

So do the second best thing: use qSwap instead.

Change-Id: Icf2b4e3ce09117e4056acbad3e2d8a625861d807
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-05-02 13:24:36 +00:00
Lars Knoll
91b3099d71 Compile with Qt 6
Change-Id: I6efa420acab070e625f99b49eee08076d4a6a9ff
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:51 +00:00
Lars Knoll
9c04e7c61e Fix API for Qt 6
Change-Id: Ic07b5cf09ed410a27ca95f106747f98de4d86d68
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:45 +00:00
Lars Knoll
1e4042d03f Compile with Qt 6
Change-Id: I6d8d562a871a2f49db5db8630a08f53a14c0f7d3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:39 +00:00
Lars Knoll
c7a5cdb98c Compile with Qt 6
Change-Id: I2cd5f93d01b2a7645bf6bccede484fc301209007
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:34 +00:00
Lars Knoll
857a83259d Compile with Qt 6
Change-Id: Ie45f4dc6d44723c8992872e6c4c2e30d7257ca0c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:28 +00:00
Lars Knoll
93d3248ed0 Compile for Qt 6
Change-Id: I3069081d1c706980a8133b06d46588c4310cb304
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:18 +00:00
Lars Knoll
a08c0ca949 Prepare QDataStream for Qt 6.0
Add the required datastream versions for 6.0. Of course the number for
5.15 and 6.0 is still something we can bump.

Change-Id: I676385817befc06ea8d0ff1e9eba9c94cb4698b0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:13 +00:00
Lars Knoll
415c435d60 Compile when bumping the Qt version to 6.0
Change-Id: Idae1a2df144598df3921ef9a12e0e0b740fd723d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:07 +00:00
Lars Knoll
343528841e Prefix textstream operators with Qt::
As the non prefixed variants are deprecated

Change-Id: I2ba09d71b9cea5203b54297a3f2332e6d44fedcf
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:02 +00:00
Volker Hilsheimer
185ba7f4cf Increase entityCharacterLimit to 4096
The previous fix to decrease the limit to 1024 breaks the parsing
for some files. The limit is arbitrary, so increasing it to 4096,
which is what some linux distros have been working with.

Change-Id: I131f15278aa99c3f91db2e1ec2d14156ceed4775
Fixes: QTBUG-35459
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2019-05-02 11:42:57 +00:00
Allan Sandfeld Jensen
a2b38f64e6 Remove handling of missing =delete and =default support
Change-Id: I006dfd0b7cfa3bda5e5ab01bcefa851f031dfe0e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-02 11:14:29 +00:00
Edward Welbourne
7a0d4b39da Doc-fix: mention FP_ZERO as a possible return of qFpClassify()
This follows up on commit 84aea6c091, in
which I forgot to mention this possible return value.

Change-Id: I109bed66bc0fd63d7ee289bfaea65b3d05c6560c
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-02 10:56:11 +00:00
Edward Welbourne
c940ca50ce Remove spurious class-name prefixes in its own methods
Change-Id: I13093e02b251a084e468a50471cf1b9256555e40
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-02 10:56:01 +00:00
Timur Pocheptsov
402cb62d5d Introduce QNetworkConnection/Status/Monitor
Private classes to replace broken or even not working at all 'session management'
and 'bearer manager' (on at least two major platforms we support). This
implementation is macOS/iOS-specific and uses SystemConfiguration framework,
or more precisely SCNetworkReachability's part of it.

Task-number: QTBUG-40332
Change-Id: Iac5f44c4063c4092b93b8cf2bde3fb2c524855b3
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-05-02 05:07:39 +00:00
Shawn Rutledge
355ecfb11c Add QTextMarkdownWriter::writeTable(QAbstractTableModel)
This provides the ability to write live data from a table to Markdown,
which can be useful to load it into a text document or a wiki.
But so far QTextMarkdownWriter is still a private class, intended to be
used experimentally from QtQuick and perhaps later exposed in other ways.

Change-Id: I0de4673987e4172178604e49b5a024a05d4486ba
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-05-02 04:10:35 +00:00
Shawn Rutledge
0df30ff22e Add task list checkbox manipulation features to the TextEdit example
Change-Id: I5f0b8cb94d1af609ec531f9765d58be65b1129a3
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-05-02 04:10:28 +00:00
Shawn Rutledge
75256d62d2 Render markdown task lists (checkboxes instead of bullets) in QTextEdit
Checkboxes are right-aligned with any bullets that are in the same
QTextList so that there is enough space to make them larger than bullets.
But hopefully mixing bullets and checkboxes will be a rarely-used feature.

Change-Id: I28e274d1f7883aa093df29eb4988e99641e87a71
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-05-02 04:10:21 +00:00
Shawn Rutledge
deae75ae09 TextEdit example: add Markdown as a supported format
Also use QT_CONFIG to disable features gracefully if Qt is
configured without them.

Change-Id: I38e92bf5fd70f77fc4d5158769d590619be8905f
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-05-02 04:10:10 +00:00
Allan Sandfeld Jensen
b32b61f17e Remove handling of missing Q_COMPILER_RVALUE_REFS
Remove remaining handling of missing support for rvalue refs.

Change-Id: I78bab8bccfeeb9c76f464f345874364a37e4840a
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-01 20:24:45 +00:00
Giuseppe D'Angelo
2ded0043ca Moc: compile generate_keywords with corelib only
It does not depend on QtGui.

Change-Id: If7b01d1a6d2ce3945562f4480177ce883abfdbf4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2019-05-01 18:37:44 +00:00
Giuseppe D'Angelo
d4435a37ca Add qobject_cast operators for std::shared_ptr
Mimicking what we currently have for QSharedPointer, but also adding
* snake_case version (matching the ones in std)
* rvalue-overloaded versions (matching the C++2a overloads).

[ChangeLog][QtCore][QSharedPointer] Overloads of
qSharedPointerObjectCast have been added to work on std::shared_ptr.

Change-Id: I26ddffd82b000bf876e7c141fdce86a7b8c1d75a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-01 18:37:32 +00:00
Shawn Rutledge
23c2da3cc2 Add QTextMarkdownWriter, QTextEdit::markdown property etc.
A QTextDocument can now be written out in Markdown format.

- Add the QTextMarkdownWriter as a private class for now
- Add QTextDocument::toMarkdown()
- QTextDocumentWriter uses QTextMarkdownWriter if setFormat("markdown")
  is called or if the file suffix is .md or .mkd
- Add QTextEdit::toMarkdown() and the markdown property

[ChangeLog][QtGui][Text] Markdown (CommonMark or GitHub dialect) is now
a supported format for reading into and writing from QTextDocument.

Change-Id: I663a77017fac7ae1b3f9a400f5cd357bb40750af
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-05-01 14:31:27 +00:00
James McDonnell
9ec564b0bf Basic foreign window support for QNX
Requires a screen with working context permission parsing.  Currently,
all context permission requests fail because the parsing is incorrect.
A context permission is added temporarily to prevent CLOSE/CREATE
events when Qt reparents foreign windows.  Qt does this temporarily
when a foreign window is wrapped in a widget.

Change-Id: I84c18e70d43239286fcd53715332d7015cf1a826
Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
2019-05-01 13:49:18 +00:00
Giuseppe D'Angelo
e0d2b50249 QList: do not call std::swap directly; use ADL
Change-Id: Iaf6b965dd123f39436ba134ea1065d8dc4278c1e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-01 10:31:05 +00:00
Edward Welbourne
abd2cf3b0a Remove extraneous sodipodi/inkskape cruft from Qt SVG
Change-Id: Ib2d77331b33cac97e819e8273362703fcd80886c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-04-30 16:15:04 +00:00
Volker Hilsheimer
dc3e5c4838 Consolidate Unix and Windows implementations of QHostInfo::fromName
The implementations were practically identical, so we can just move the
code into qhostinfo.cpp, cleaning up things along the way.

Since QHostInfoAgent is an internal class, add the shared code as
additional static helper functions. And since half the code already used
QCoreApplication::translate anyway, we can remove the QObject
inheritance which was only added for getting a tr().

Change-Id: I58eafbdc3e7d06d2e898486a1add63cd63d98c96
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-30 10:57:56 +00:00
Jesus Fernandez
d647cf85fa Tests: Simplify MyCookieJar
Don't reimplement the protected functions in the base class just
override the access with the using keyword.

Change-Id: I323487d9ddb1d458d5faca020c3eb4d931a9b226
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-04-29 14:11:00 +00:00
Jesus Fernandez
8e28955574 Plug and paint example: Fix -Wweak-tables
Fixes warning: 'BrushInterface' has no out-of-line virtual method definitions;
its vtable will be emitted in every translation unit

Change-Id: I2e693ac60e9eba1976665546e1c9c4a92e6ff63b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-04-29 14:10:54 +00:00
Jesus Fernandez
8e82e536cd FTP: Workaround for servers without HELP command support
Ignores errors produced by the HELP command. It will continue
executing the commands sent to QFtp when a server does not have a
HELP command implemented. Commands SIZE, MDTM, and PWD are not going
to be used if the HELP command failed.

[ChangeLog][QtNetwork][QNetworkAccessManager] Don't fail when FTP does
not implement the HELP command.

Task-number: QTBUG-69477
Change-Id: I0ebd51b134535730c6bef83de1abf1a427b8d2ce
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-04-29 14:10:34 +00:00
Andreas Schwab
9a6a847311 Add RISC-V detection
Change-Id: I0203c88e0944064841c9f6fe9f8a7888d6c421d1
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-29 13:49:26 +00:00
Mårten Nordheim
8059762565 Set 'originalRequest' in QNetworkReplyImpl
It's what's returned when calling request() on a QNetworkReply, but for
QNetworkReplyImpl (the implementation used for e.g. FTP) it was not set,
so it returned a default object.

Change-Id: Id82f7920e4268c1a7743e681fc503bcd28889b6e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-04-29 08:19:13 +00:00
Qt Forward Merge Bot
4a54e8fd82 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: Ic712e8a84b01b212bb1121d7a2c9b85e0d2da9da
2019-04-29 01:00:22 +02:00
Qt Forward Merge Bot
9f1a1e320c Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Ibce9bfef928ce39070183c488ce86ae32e5ea705
2019-04-28 01:00:26 +02:00
Shawn Rutledge
e092b32922 QTextMarkdownImporter: insert list items into the correct list
There was a bug when handling situations like

1. first
   1) subfirst
2. second

It was always inserting items into the list where the cursor already
was, but it needs to insert the "second" list item into the list
which is currently the top of m_listStack.

Change-Id: Id0899032efafb2e2b9e7c45a6fb9f2c5221fc4df
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-04-27 21:59:15 +00:00
Alvin Wong
c9002ab7ee Fix QOpenGLDebugLogger crash on ANGLE
The helper in QOpenGLDebugLogger did not account for the extra "KHR"
suffix in the function names and results in a crash when ANGLE is being
used. This commit fixes this issue.

Change-Id: I439d8bfc53b010be5410286b86c090aff171aaef
Fixes: QTBUG-62070
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2019-04-27 10:41:44 +00:00
Simeon Kuran
71a7f79bc1 Windows QPA: Fix blank Cursor on secondary display
CreateCursor only works with standard sizes (32, ...) depending on the
display hardware. No longer apply the scale factor for the blank cursor, because
it might lead to unsupported cursor sizes resulting in random pixels.

Change-Id: I48d84bd913d2dd8f62129126c9a41e58ee2cbcae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-04-27 09:18:34 +00:00
Joerg Bornemann
bbfc95914f Fix determination of OpenGL include paths on macOS, take 3
The sysrootification of QMAKE_INCDIR_OPENGL on macOS must happen only
once. Commit 49ef3773 addressed this but stored the sysrootified
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri. For installer packages,
these paths are the paths of the build machine and most likely wrong
on the user's machine.

This reverts commit 4949ef377349ba4dae840c2d5caa36e2d516707baa and
restores the sysrootification in sdk.prf. The original include paths
are assigned to QMAKE_EXPORT_INCDIR_OPENGL and stored as
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri.

Fixes: QTBUG-75374
Task-number: QTBUG-73736
Change-Id: I4c0f65866d60660c632363dba3adc7ea2e344bfc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-04-27 07:32:53 +00:00
Thiago Macieira
a3acf568d1 Make QFile::copy() less likely to create zero-sized
QFile::copy() didn't have the syncToDisk() call that QSaveFile::commit()
has. So add it.

[ChangeLog][QtCore][QFile] Made QFile::copy() issue a filesystem-
synchronization system call, which would make it less likely to result
in incomplete or corrupt files if the system reboots or uncleanly shuts
down soon after the function returns. New code is advised to use
QSaveFile instead, which also allows to display a progress report while
copying.

Fixes: QTBUG-75407
Change-Id: I95ecabe2f50e450c991afffd1598d09ec73f6482
Reviewed-by: Henrik Hartz <hhartz@gmail.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-04-27 06:03:39 +00:00
Qt Forward Merge Bot
03f7d0a005 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I1c9449ab064deed1367a7e5dbedfcb489f28140e
2019-04-27 01:00:11 +02:00
Gatis Paeglis
d6e65ecac5 platforminputcontexts: future-proof compose plugin
If this plugin is loaded at some later point during application
run-time, the focus object might be nullptr. We can avoid that by
using qApp->focusObject(), when m_focusObject==nullptr;

Task-number: QTBUG-74465
Change-Id: I0d82410ed557ea1a8fde28a1807f790854951cda
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
2019-04-26 19:03:58 +00:00
Lars Knoll
b4cc294347 Fix page breaking with large images
Don't go into an infinite loop breaking pages, when an image is about
as large as the page. Correctly take top and bottom margins into account
when calculating whether the image could fit on one page.

Amends change 416b4cf685.

Fixes: QTBUG-73730
Change-Id: Id311ddf05510be3b1d131702f4e17025a9861e58
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-04-26 18:21:18 +00:00
Kai Koehne
78c84c6353 qdoc: Fix warnings about missing \inmodule command
Fix warnings

qtbase/src/corelib/io/qprocess.cpp:776: (qdoc) warning: Class CreateProcessArguments has no \inmodule command; using project name by default: QtCore
qtbase/src/corelib/serialization/qcborstream.cpp:1441: (qdoc) warning: Class StringResult has no \inmodule command; using project name by default: QtCore

Change-Id: I1c85ca32aff1f89f70898af7b11cfead96c80349
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-04-26 17:36:50 +00:00
Tony Sarajärvi
902ae438aa Extend blacklisting of dirsBeforeFiles as it's flaky
Task-number: QTBUG-75452
Change-Id: I4b35dfff6c0a888e62441e51985e0bccb2081be1
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-04-26 16:41:51 +00:00
Eirik Aavitsland
ecfda0d523 Fix manual lance test: avoid using deprecated api
...and other slight modernizations and minor fixes.

Change-Id: Ide587d9fe59ca9113ae775882c99a50debaf9000
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-04-26 07:47:12 +00:00
Qt Forward Merge Bot
0dff40adf8 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I6ecf7074eda57ef4954fb3fdc7a6d1e8cd229340
2019-04-26 01:00:13 +02:00
Volker Hilsheimer
a8a05b00fc Document that QHostInfo does not guarantee to return all IP addresses
Using getaddrinfo, which implements RFC 6724, implies that addresses
that are not needed will be trimmed. In particular, IPv6 addresses are
often not returned.

Also move the implementation detail documentation down in the text, it's
a detail with little relevance for the usage of the class, but makes for
a good opener regarding this behavior.

Change-Id: I516a64f0b39a6a06621a63c1d5236544b7758049
Fixes: QTBUG-31865
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-25 22:24:08 +00:00