Commit Graph

34897 Commits

Author SHA1 Message Date
Morten Johan Sørvig
4944f4d57c Cocoa: Prevent crash on focusObjectChanged()
Don’t crash on focusObjectChanged to a QWindow with
a null QPlatformWindow.

Change-Id: Ibf426521d6c8f8b2b2e94d5b92020fa510a74133
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-01-18 12:44:31 +00:00
Anton Kudryavtsev
f0c38af8a7 QFontEngine: use QStringBuilder more
Change-Id: I7dd00080962a245e5fc67ef623d7b3a4dab69c80
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-01-18 11:33:37 +00:00
Friedemann Kleint
d4079b0797 uic: Support id-based translations
Use Ids from newly introduced id attribute depending
on the global form setting.

Change-Id: I0a5094d5543c0714c88511fa159b60afc9be3c81
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-01-18 11:31:09 +00:00
Martin Smith
1c8f7082f7 doc: Add missing return types to \fn commands, fix mis-specified ones
This update corrects several qdoc warnings about undocumented
parameters, which are actually caused when the return type is not
included in the \fn command, or when the return type is mis-specified
(includes static, or lacks needed template parameters).

Change-Id: Ic49139b88424e93609fbd01bc0836436d13a8f9a
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-01-18 06:32:32 +00:00
Martin Smith
8b9b3e2f29 doc: Fix remaining qdoc warmings for Vulkan stuff
Several uses of #if QT_CONFIG(vulkan) were modified to
for classes QVulkanFunctions and QVulkanDeviceFunctions
was added to qplatformvulkaninstance.h, because the
include file that contains them doesn't exist when
vulkan isn't there.

Change-Id: I392202ab5fe9bb4c558a991870e6ebf79254aec0
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-18 06:32:25 +00:00
Martin Smith
20be99dec5 doc: Add missing return types to \fn commands
Added void return type to several \fn commands.
The return type should always be included with
the \fn command in clang-qdoc.

Change-Id: Ie751eb1430eff668f33f8d86e0b1454bd1d2f582
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-18 06:32:16 +00:00
Martin Smith
e65caf92af doc: Remove qdoc marker from inside #if 0 block
clang sees the comments inside #if 0 blocks when they
occur in source files. Therefore qdoc comments can't
appear inside those blocks.

Change-Id: I5c9c7e9e002042710a5c26252bc7029b2d163dcf
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-18 06:32:09 +00:00
Martin Smith
706e8a0295 doc: Fix remaining qdoc warnings in qabstractitemmodel.cpp
Some enum values were qualified with the enum name, which is not
required in the \value command. The qualifications were removed.

Change-Id: Ic67003ae04b558f437b331bd3e01af88ace0e888
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-18 06:32:01 +00:00
Martin Smith
52d761e60a doc: Fix remaining clang parsing errors in QtTest
This update also corrects all the remaining qdoc warnings
in the mnodule.

Change-Id: I1cea2cb1dd515d075a1e49a52ca78fc407c3a324
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-18 06:31:53 +00:00
Martin Smith
0a3061e871 doc: Fix remaining clang parsing errors in QtWidgets
Removed two unnecessary \fn commands. Also documented
a parameter correctly.

Change-Id: Ia2f22a76a18fc42127bd24b132750373675b6853
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-18 06:31:44 +00:00
Albert Astals Cid
e0b769eeda Unix: Fix page size margins when changing page size
Change-Id: I55435cf500c656eeec61e6c61bbf195df356ffeb
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-01-17 21:36:47 +00:00
Albert Astals Cid
f56f47bc64 Unix: Fix default printer page size margins
Regressed with ff67dedaaf

Before ff67dedaaf the print dialog
would not let you select less margin than the minimum printer
supported margin, this brings back the old behavior

Change-Id: I22f4e8ebf8ffa7c1653d61b7073a9ee582cf453b
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-01-17 21:36:41 +00:00
Christian Ehrlicher
ef60435d2f QCommonStylePrivate::viewItemSize: fix text height calculation
QCommonStylePrivate::viewItemSize did not adjust the width when the item
had a decoration or a checkbox. This lead to a too big width used for
the layouting and therefore sometimes the calculated height was too
small.

Task-number: QTBUG-30116
Change-Id: I4468daa9820b9a8aa00fe959ab9b73fec23cc24e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-01-17 19:08:11 +00:00
Christian Ehrlicher
ec7e870e70 QSortFilterProxyModel: annotate some deprecated functions as deprecated
QSortFilterProxyModel::clear() and filterChanged() are deprecated since
Qt4.3 but not annotated with QT_DEPRECATED.

Change-Id: Ia468203802b6be0596f0a48d51f1da3fa55b724b
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-01-17 18:16:00 +00:00
Gabriel de Dietrich
6df308c0d7 QMacStyle: Set WA_MacShowFocusRect for checkbox, radio button
This fixes small and mini checkbox and radio button
focus rings since the previous HITheme removal patch
(90c9370d50). But also allows to properly draw
the focus ring outside the widget's boundaries, as
it's common in macOS.

More importantly, we pave the way to use QFocusFrame
for most widgets and, eventually, implement the focus
ring animation.

Finally, we tweak the spacing between the indicators
and their respective label.

Change-Id: I4bf7ac1a06ce924a043f0365e487777d0b20a104
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-01-17 18:14:59 +00:00
Friedemann Kleint
6e4a330d61 Cups Print Dialog: Change the message box titles to Caps
Amends 608301d4c8.

Task-number: QTBUG-1311
Change-Id: I01cd60f0676f4e0501d411151492b4f867653053
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-01-17 12:13:54 +00:00
Christian Ehrlicher
87a929cc9d QPrintDialog/Unix: compile with gcc 4.8
Passing parameters via auto to a lambda function is a c++14 extension
which is not supported by gcc4.8.

Change-Id: I335b2a2f5ba02f5440c2e7ccc81d4156e8b29484
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-01-17 12:01:44 +00:00
d3fault
1a4cc8d57b Add QIODevice::NewOnly and QIODevice::ExistingOnly OpenMode flags
When QFile::open is called with the NewOnly flag, the call will
fail if the file already exists. As usual, if the file does not exist,
it will be created. Like QTemporaryFile, there is a guarantee from
the operating system that you are not accidentally creating a new file
on top of an older file. When QFile::open is called with the
ExistingOnly flag, the call will fail if the file does not exist. The
ExistingOnly flag only provides new functionality when used with the
WriteOnly flag. For ReadOnly it provides no change in functionality,
as ReadOnly by itself already never creates.

Task-number: QTBUG-52244
Change-Id: I8e3206728f245f95172c225bf297023fb078fc6d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-01-17 04:32:47 +00:00
Christian Ehrlicher
0aecac1dcf QItemDelegate::doLayout: only call QStyle::pixelMetric() once
QStyle::pixelMetric(QStyle::PM_FocusFrameHMargin) was called three times
in the worst case but it returns a constant value. Therefore cache this
value and call pixelMetric() only once.
Since this code is duplicated from QCommonStylePrivate::viewItemLayout()
also change it there.

Change-Id: I6d5f0a8d2b1373bd36f0520f404e6a3cb0794f12
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2018-01-16 18:53:38 +00:00
Tor Arne Vestbø
ea7a9d694b logging: Factor out how to determine if a category is the default category
Change-Id: I00a94c8c3ce2c0cba5263e6fbc499794dc7ef38f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-01-16 18:02:02 +00:00
Andy Shaw
6121c40018 Cocoa: Use the whole geometry when in fullscreen mode for popup menus
When in full screen, then the geometry available is the whole screen
not including the menubar or dock area. This ensures that it does
not leave space for the dock area.

Task-number: QTBUG-39403
Change-Id: I15d7b7764d83282e1ee057628680a338b72711a6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-01-16 17:02:10 +00:00
Renato Araujo Oliveira Filho
03c33a0d85 Move color/grayscale option to cups advanced panel
CUPS has a complex way to configure colors for printers, and this can not
be represented only by radio buttons.
Because of that all colors related options will be available only in
the advanced panel.
The color/grayscale option will still be available when printing to a file.

Change-Id: I1592e779009bd80b6dfc18dde760db4154e46439
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-01-16 17:01:39 +00:00
Martin Smith
41a6877fe8 doc: Fix remaining qdoc warnings in platformheaders
clang needed to see so type definitions that aren't there
for some platforms, so this update provides defaults when
qdoc is running.

Change-Id: I15e635b31dd651457f828f90c8dd132959c826e6
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-01-16 16:59:09 +00:00
Allan Sandfeld Jensen
d2bb79be5e Let XFCE use Xft settings
Task-number: QTBUG-56809
Change-Id: Idf6c2fc7b1520547d44d06a40f1f93278ef2d3e6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-01-16 16:16:44 +00:00
Takao Fujiwara
53cbc3c5b4 IBus: Delete deprecated DBus APIs
IBus 1.6 will remove the deprecated DBus APIs; GetAddress() GetEngines()
These APIs are replaced with DBus GET properties.

Change-Id: I427494dd0685d523ac07366be528127d98ad7d7c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-01-16 07:30:00 +00:00
Gabriel de Dietrich
90c9370d50 QMacStyle: checkbox, radio button are now HITheme-free
This also fixes focus ring thickness on retina
displays except for radio button, for which we
don't allocate enough space around. Instead of
going down the push button madness we currently
have, we leave it as is (i.e., slightly truncated)
until we can come up with a more sane solution
regarding focus rings.

Change-Id: Icd4aa2e08c2558768c91efd7d119879e249b052f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2018-01-16 02:13:26 +00:00
Gabriel de Dietrich
909cac6174 QMacStyle: Use QPainter to draw focus ring
Using Core Graphics or AppKit has no real advantage.

Change-Id: Ie7e2df23f8da6ca4798092a7c074bbb2f40e2b18
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-01-16 00:26:27 +00:00
Jarek Kobus
748836dae8 Don't generate QAction include unconditionally
Generate it only when the form contains some actions.

Change-Id: Ic1d64003ccff6102174771c04999cf7c90ac2ae8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-01-15 15:50:12 +00:00
Jarek Kobus
000c76ada5 Don't generate QButtonGroup include unconditionally
Add it only when ui contains button groups.

Change-Id: I60a249a36565e6c7c3f7cb51bc146317bc7ddbe5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-01-15 15:50:07 +00:00
Jarek Kobus
058474884c Don't generate QHeaderView include unconditionally
Generate it only when needed.

Change-Id: I7a89b18ec0f2ee7d55fcad1b3f9701269d7616ec
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-01-15 15:50:00 +00:00
Matt Whitlock
1d86e5f84a Add missing dead key symbols
Qt was missing symbols for many dead keys defined in <X11/keysymdef.h>.
These dead keys were thus ignored by the "compose" input module. This
commit adds the missing dead key symbols.

[ChangeLog][Linux/XCB] Added missing dead key symbols, enabling their
use with the "compose" input module.

Task-number: QTBUG-56452
Change-Id: Ib5c37168990c9d9fa99fdd50f63b934c793e8dc4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Matt Whitlock <qt@mattwhitlock.name>
2018-01-15 15:24:59 +00:00
Martin Smith
bcc1eaab70 doc: Fix remaining qdoc warnings in QtDBus
Added many template clauses to \fn commands. Also added or
modified some uses of Q_CLANG_QDOC in some dbus include files
to work around some seriousl ugly template clauses that could
not be added to \fn commands. Also modified a few parameter
names in the documentation.

The first attempt at making this change caused syncqt to fail
to create QtDBus/QDBusPendingReply. This second attempt works.

Change-Id: I96c1fb9bcb1d9debf9409f6baf8c42e18fb9e75d
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-01-15 15:00:58 +00:00
Alexander Volkov
85aa0fd041 Introduce QIcon::fallbackSearchPaths()
... that will be used if an icon can't be found in the
current theme.

The Icon Theme Specification
https://standards.freedesktop.org/icon-theme-spec/latest/ar01s05.html
states that unthemed icons must be searched in the base directories,
i.e. /usr/share/icons, ... But in practice unthemed icons are
installed into /usr/share/pixmaps and this dir is not used as
a base dir for icon themes. So it's better to explicitly specify
fallback dirs to avoid needless access to the filesystem.

Also some KDE application install their own unthemed icons
(into /usr/share/<appname>/pics), that can't be found by
QIconLoader. With this change it would be possible for them
to specify dirs with unthemed icons and thus be displayed
correctly in non-KDE environments.

[ChangeLog][QtGui][QIcon] Added fallbackSearchPaths() that
will be used to find icons missing in the current icon theme.

Change-Id: I0dc55ba958b29356a3b0a2123d6b8faa24d4c91e
Task-number: QTBUG-33123
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-01-15 10:12:22 +00:00
Albert Astals Cid
537af27302 Simplify ifs since PP_WHITESPACE and WHITESPACE are the same
Change-Id: Ib18c60270d9275840db051f1eec86227cc8f6c1c
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-01-15 10:11:31 +00:00
Tor Arne Vestbø
d1f2208eec Fix QNX 7 build
Missing return value after 114f795221.

Task-number: QTBUG-65747
Change-Id: I8881fc70f76a163e7b1f032c7a7485ab09f852b1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-01-14 19:54:08 +00:00
Sergio Martins
e459130e70 qstylesheet: remove a few unneeded memory allocations
One foreach too many, creating a temporary container.
Converted to range-loop, as drive-by change.

Change-Id: Ie2bb94a7147edcfc0d8b5f479604f5ebe113d7cb
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-01-13 12:21:02 +00:00
Martin Smith
f40cc95d05 doc: Add template clause to qstyleoption_cast functions
clang-qdoc requires the template clause in \fn commands
for template functions.

Change-Id: I4999fdbd3e12d883b5a4e0d68509cbcf919a31b0
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:19:13 +00:00
Martin Smith
114d52ce49 doc: Remove several uses of '/' as continuation character
clang-qdoc doesn't need continuation characters in \fn commands.

Change-Id: I25e262451822e3d4e2bce8866bcbd5540458844b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:19:06 +00:00
Martin Smith
73cffd710c doc: Add missing template clauses in qitemeditorfactory.cpp
Added several missing template clauses to member functions.

Change-Id: I95b46de84c9afa74b74fc36818094b0fff41f755
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:18:59 +00:00
Martin Smith
d893ccf6cd doc: Add missing template clauses in qvulkaninstance.cpp
Added a few missing template clauses to member functions
of QVulkanInstance<T>.

Change-Id: Ie13f7e97f6a2183ee66d7ea275bc56a2bc3588e8
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:18:51 +00:00
Martin Smith
3e0d24ded3 doc: Add missing template clauses in qmatrix4x4.cpp
Added a few missing template clauses to member functions
and friends.

Change-Id: Ie5ca557ddcc1dfd90ef5e80fc4e8213dfb32a03c
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:18:42 +00:00
Martin Smith
a0eb5c3b32 doc: Add missing class qualifiers to uses of FormatRange
struct FormatRange is contained in QTextLayout, so uses of it as
parameters in friend functions of struct FormatRange must be
qualified with QTextLayout::

Change-Id: I6d3ad3020240bff3b948fb571971694b44708c54
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:18:32 +00:00
Martin Smith
b290b3336e doc: Add missing class qualifiers to uses of Tab
Tab is contained in QTextOption, so it needs that class qualifier.
Also removed a useless qdoc comment.

Change-Id: Ic37f0fc8cb97c2b022f69293e8fd50f0a5a2b649
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:18:22 +00:00
Martin Smith
0b637760a5 doc: Add missing class qualifier to \fn for constructor
A class qualifier was missing in a \fn command.

Change-Id: I0bb34912c0b33a3c615a6e9aef68e7e0cd28d037
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:18:09 +00:00
Martin Smith
64c0bff69a doc: Add QTouchEvent qualifier to uses of QTouchPoint
QTouchPoint is declared inside QTouchEvent, so \fn commands
for functions in QTouchPoint must use QTouchEvent::QTouchPoint::
as the qualifier.

Change-Id: I1dffe9f43f9f8bddbaa8fab9f77cf17802cf8b26
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 18:17:54 +00:00
Andre Somers
abbd26f553 Add QModelIndex::siblingAtColumn and ::siblingAtRow
Data in item models is most often organized in rows, where each column
contains an attribute of the item represented by the row. Often when
sibling is used, it is to request another piece of data from the same
row. Having a specialized version makes this easier and less awkward
to do, simplifying

auto sibling = index.sibling(index.row(), columnOfInterest);

to

auto sibling = index.siblingAtColumn(columnOfInterest);

For symmetry reasons, siblingAtRow(rowOfInterest) was also added.

Change-Id: Ib203b2cdb16154cbb2680d16fb5c6a7538f33d07
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2018-01-12 15:12:53 +00:00
Martin Smith
7157d04d6e doc: Add missing template clause in \fn command
The template clause was missing in the \fn command for
a member function of a template class.

Change-Id: Ie1a8f8372d3183f05f02e518b363a7bac735abbb
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 14:49:42 +00:00
Martin Smith
56385f0f3d doc: Add missing class qualifier in \fn command
The class qualifier was missing in the \fn command for
the move copy constructor.

Change-Id: Ia3633efde155ed19ac8460d760a5248e52097ea1
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 14:49:25 +00:00
Martin Smith
a61c6a7a2e doc: Add template clauses in qhostinfo.cpp
A few \fn commands were missing the template clause now
required by clang-qdoc. This update adds the template
clauses. It also changes an instance of Q_QDOC to
Q_CLANG_QDOC.

Change-Id: I2850d43d98debb80e01c36a524e0c00651a89298
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-01-12 14:49:10 +00:00
Albert Astals Cid
c45947aeef CUPS: Don't show choices that conflict with the printer installed options
Some options only make sense if the printer has installed some extensions, e.g.
we should not shown "Staple" options if the Stapler addon is not installed,
so with this change we use ppdInstallableConflict to know whether an option
should be shown to the user or not.

Change-Id: I5733e1ac8b667c26b292aeafc90a10c155b751a4
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-01-12 12:04:51 +00:00