Commit Graph

18154 Commits

Author SHA1 Message Date
Uli Schlachter
b1afb91ffe XCB: Print error code on Xlib I/O errors
When Xlib detects that its underlying XCB connection got into an error
state, it calls its I/O error handler. However, the default
implementation doesn't print the error code from XCB which might be
useful for debugging.

This commit adds an I/O error handler which prints the error code from
XCB with a string describing the error and then calls Xlib's default
error handler.

Change-Id: I7f1fb3f1e8d0fdc3ac9db03ae7d154330c31db0c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-04-10 05:33:38 +02:00
Tor Arne Vestbø
02ecd3ae40 Make Xcode debug info format controllable through a qmake variable
The default is still DWARF instead of DWARF with dSYM for static builds
of Qt, so that debug builds of the final application don't take forever
to build due to generating the dSYM file.

Change-Id: I370d800d7c959e05c1a8780c4ebf58fff250daa1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-04-10 00:44:44 +02:00
Eskil Abrahamsen Blomfeldt
05cfb6cd09 HB-NG w/CoreText backend: Fix clustering of neutral characters
Say you have a string with logical contents "abc ABC, " where
lowercase is LTR and uppercase is RTL. In this case, the UBA
will give "abc " LTR direction, and "ABC, " will get RTL.

However, our itemization currently divides "ABC, " into two
script items: "ABC" and ", ". CoreText will return glyphs in
visual order, so for the first we will get "CBA" and for the
second we will get ", ". But as the ", " item has an adapted
directionality of RTL in the context of the full paragraph, it
should actually be " ," visually.

This caused a mismatch which broke the tst_QComplexText test
with HB-NG using CoreText backend. As a temporary fix for this,
we check whether the directionality of the first run in the text
is different from the directionality expected by HB-NG. If this
happens, it means the order of the glyphs produced by CoreText
will be the reverse order of what is expected by HB-NG, and
we therefore need to reverse it.

Task-number: QTBUG-38113
Change-Id: I9f5a041791e4529a14041a362b2d5dd00490a38b
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-04-09 20:53:06 +02:00
Morten Johan Sørvig
000693018b Cocoa: Fix DnD when using native widgets.
Adding a native widget such as QGLWidget often causes
other widgets to become native, through native ancestor
and sibling propagation.

This includes QFocusFrame, which typically sits on
top of item views. QFocusFrame is mostly transparent
(except for the frame) and also has the WA_TransparentForMouseEvents
flag set. Its window has the corresponding
WindowTransparentForInput flag set.

Cocoa does not know about WindowTransparentForInput.
Forward the drag calls to the correct window.

Task-number: QTBUG-37077
Change-Id: I02201c7027915b1e82d0cd7e9c2e787ca6b2338b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-09 20:53:06 +02:00
Morten Johan Sørvig
1a6011e09f QTextImageHandler: Load @2x images on retina
Look for and load "@2x" image versions. Adjust
getPixmap/ImageSize to take the image devicePxielRatio
into account.

Use doc->documentLayout()->paintDevice() to get the
target window devicePixelRatio (like the existing
DPI-based scaling). In practice this pointer may/
will be null, fall back to qApp->devicePixelRatio
as usual.

Task-number: QTBUG-36383
Change-Id: Ib5e113b67242b5a9b3410272f2183a76a60bc773
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-09 20:53:06 +02:00
Morten Johan Sørvig
63e33bfdab OS X: Add more text editing key bindings.
ctrl + K : Cut
ctrl + Y : Paste
ctrl + F : Cursor right
ctrl + B : Cursor left
ctrl + N : Cursor down
ctrl + P : Cursor up
ctrl + V : Cursor next page
ctrl + O : Insert line separator

(ctrl as in the key, not Qt::CTRL)

These are low-priority (0) key sequences. Add them to the
end of each StandardKey range and change the priority
of an existing item to 1 where it makes sense.

Task-number: QTBUG-32837
Change-Id: Id321e6c6ad4277d729b27297a1de66c4628e4201
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-09 20:53:06 +02:00
Morten Johan Sørvig
3876a05adf Mac: Implement unified toolbar look for QTabBar
Extend the unified title and toolbar gradient to 
tabs in document mode that are adjacent unified
tool bars.

Change the updateMacBorderMetrics() function to
register the tab bar geometry and visibility status
with the Cocoa platform plugin. The Cocoa platform
plugin will then merge this area with other registered
areas if possible.

Add QCocoaNativeInterface::testContentBorderPosition(). 
This function tests whether the given point is within 
the unified title and toolbar area.

Use testContentBorderPosition() in QMacStyle to enable 
code paths that skips drawing the QToolBar bottom 
separator line and paints the active tab background 
with transparent pixels to make the background gradient 
visible.

Change-Id: I2b70f9bb0c2c59af053a691a7df538f958783dab
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-09 20:53:06 +02:00
Morten Johan Sørvig
0f2acaf1cb Cocoa: Update unified toolbar area on toolbar hide
Add setContentBorderAreaEnabled() which us used to
enable or disable an area. Used together with
registerContentBorderArea() this allows changing the
border area geometry and enabled status independently.

Add section to the QToolBar show/hide event handler
which calls setContentBorderAreaEnabled().

Make sure QToolBar and QToolBarLayout uses the same
identifier - the QToolBar object pointer.

Rename enableContentBorderArea -> setContentBorderEnabled.
The "ContentBorder" is now the entire unified toolbar
area while "ContentBorderArea"s are the sub-areas
covered by toolbars.

Change-Id: I339f381a50856e048ae40e7ffadd6a8a510c4994
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-09 20:53:06 +02:00
J-P Nurmi
b2a6c9ec3e Fix tst_QListWidget::task217070_scrollbarsAdjusted()
QMacStyle::styleHint(SH_ScrollBar_Transient) wants either a style
object or the widget argument in order to return correct values.

Change-Id: I2fdef0820334fa66e076a4734eb2a30c722c841c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2014-04-09 20:53:06 +02:00
Oswald Buddenhagen
08672adb97 make cmake registration of qt plugins make use of PLUGIN_EXTENDS
instead of assigning plugins to the first module which claims the whole
type, try to assign it to a module which the plugin claims to extend.

as we are getting stricter in that go, somebody needs to claim the
'generic', 'platformthemes', and 'platforminputcontexts' plugin types.
the natural claimant is QtGui. however, as we don't want to auto-link
any of these plugins, make them all claim that they extend a
non-existing module.
QtGui also claims 'iconengines' plugins.
the 'printsupport' plugins are also claimed by the respective module.

Change-Id: I7af7c16089f137b8d4a4ed93d1577bd85815c87b
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-09 20:53:06 +02:00
Oswald Buddenhagen
06e4676871 make QTPLUGIN work in prefix builds for plugins outside qtbase
this means creating forwarding pris also for plugins.

unlike for qt modules, we don't actually populate the .PATH unless it we
are making a prefix build (and thus expecting it to be outside the
regular location).

Change-Id: Id836821cddec8d5f53d0708ae001e8eaa13cc71b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-09 20:53:06 +02:00
Oswald Buddenhagen
4255ba40ab automatically link plugins belonging to qt modules when building static apps
the plugins already declare which modules they belong to.
additionally, we allow plugins to declare which modules they "extend" -
e.g., while the Quick accessibility plugin belongs to Gui's 'accessiblity'
type, it makes no sense to link it unless Quick is actually linked.
finally, it is possible to manually override the plugins which are linked
for a particular type, by setting QTPLUGIN.<type> (to '-' if no plugins
of this type should be linked at all).

Task-number: QTBUG-35195
Change-Id: I8273d167a046eb3f3c1c584dc6e3798212a2fa31
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-09 20:53:06 +02:00
Oswald Buddenhagen
4e0c9fbb8f fix typo in qmake source file list
the effect of this is negligible, as this list is only used for
dependency scanning.

Change-Id: Iae9fc73c8633cfc8217bc90014498d9635d53ad0
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-09 20:53:06 +02:00
Topi Reinio
4f31b01e36 Doc: Fix template code for unordered lists
The CSS for unordered lists placed a nested list
vertically too close to its parent list item.
This commit fixes the issue.

Task-number: QTBUG-38217
Change-Id: Ia5003f2aab197f455ed5bbea2e1ee2e6475aaffe
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-04-09 20:53:06 +02:00
Jędrzej Nowacki
8a96e0d83c Fix a typo in QBitArray documentation
Task-number: QTBUG-37839

Change-Id: Id55d2d606b93f7f9e58ef423544e42b548035ee3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-09 20:53:06 +02:00
Fabian Bumberger
cf439ae331 QNX: Fix QCompleter autotest
The tests expect a home folder which usually is not present on QNX

Change-Id: I44f548a95f14414c0db6f752fd115696069a7b90
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-09 20:53:06 +02:00
Richard J. Moore
814a1c7b2b Support for DH and ECDH key exchange for QSslSocket servers
Despite supporting DH and ECDH key exchange as a client, Qt did not provide
any default parameters which prevented them being used as a server. A
future change should allow the user to control the parameters used, but
these defaults should be okay for most users.

[ChangeLog][Important Behavior Changes] Support for DH and ECDH key exchange
cipher suites when acting as an SSL server has been made possible. This
change means the you can now implement servers that offer forward-secrecy
using Qt.

Task-number: QTBUG-20666
Change-Id: I469163900e4313da9d2d0c3e1e5e47ef46320b17
Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-04-09 20:53:06 +02:00
Frederik Gladhorn
71de8c0df5 Only define Q_COMPILER_INITIALIZER_LISTS for MSVC 12 SP 2
Nested initialization is broken before SP2, so just disable the whole
feature as tst_qvector crashes(release)/fails(debug)
Done-with: Jedrzej Nowacki

Task-number: QTBUG-38186

Change-Id: I9c5c9e55c75854fc1f05a59fab2ac7dce9b37fbb
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-09 20:53:06 +02:00
Friedemann Kleint
e38ad94550 Fix crash when trying to place toolbar into zero-height window.
Change QToolBarAreaLayout::item() to return a pointer
and check return values in plug().

Task-number: QTBUG-37183
Change-Id: I7029eb9739cbe603460e87d3e5493f116bdb3a89
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-04-09 20:53:06 +02:00
Friedemann Kleint
1a6410f91f Change QVERIFY in tst_qnetworkreply to warning.
FAIL!  : tst_QNetworkReply::ioPostToHttpUploadProgress() 'args.at(0).toLongLong() != sourceFile.size()' returned FALSE. ()

Task-number: QTBUG-37449
Task-number: QTBUG-24226
Change-Id: Idcc0ceac0332705b1e3a073d40fa8098bea2c9f3
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-04-09 20:53:06 +02:00
Friedemann Kleint
229c98abf0 QWindowsOpenGLContextFormat: Default to version 2.
glGetString() returns NULL when no current context exists.

Task-number: QTBUG-38063

Change-Id: I5cdb265fb2d74bbc5f3e2c34528909323573b2e1
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-09 20:53:06 +02:00
Friedemann Kleint
61541404bc Fix crash in qt_try_modal.
Task-number: QTBUG-34580

Change-Id: Idc549116fa99aa49ac7c67dcfc76d32ca71f3c76
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-04-09 20:53:06 +02:00
BogDan Vatra
449a0a2868 Add unhandled Android keys.
Sort case values.

The following new keys were added:
KEYCODE_F1 -- KEYCODE_F12
KEYCODE_NUMPAD_0 -- KEYCODE_NUMPAD_9
KEYCODE_AT
KEYCODE_PAGE_UP
KEYCODE_PAGE_DOWN
KEYCODE_ESCAPE
KEYCODE_CTRL_LEFT
KEYCODE_CTRL_RIGHT
KEYCODE_CAPS_LOCK
KEYCODE_SCROLL_LOCK
KEYCODE_META_LEFT
KEYCODE_META_RIGHT
KEYCODE_SYSRQ
KEYCODE_BREAK
KEYCODE_MOVE_HOME
KEYCODE_MOVE_END
KEYCODE_MOVE_INSERT
KEYCODE_FORWARD
KEYCODE_MEDIA_PLAY
KEYCODE_MEDIA_PAUSE
KEYCODE_NUM_LOCK
KEYCODE_NUMPAD_DIVIDE
KEYCODE_NUMPAD_MULTIPLY
KEYCODE_NUMPAD_SUBTRACT
KEYCODE_NUMPAD_ADD
KEYCODE_NUMPAD_DOT
KEYCODE_NUMPAD_COMMA
KEYCODE_NUMPAD_ENTER
KEYCODE_NUMPAD_EQUALS
KEYCODE_NUMPAD_LEFT_PAREN
KEYCODE_NUMPAD_RIGHT_PAREN
KEYCODE_BOOKMARK
KEYCODE_BRIGHTNESS_DOWN
KEYCODE_BRIGHTNESS_UP
KEYCODE_MEDIA_AUDIO_TRACK

Change-Id: I599e9e46ea720e52004a53747d6b21fc7a44262e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-04-09 20:53:06 +02:00
Fabian Bumberger
b490116f82 QNX: Fix QHeaderView autotest
Some margines and sizeHints are DPI dependent on QNX and BlackBerry.
This patch skips two test that expect the section size to be of a
certain pixel size.

Change-Id: I7869f77fc2b623e091f53e420d1a4fdb3ec30724
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-09 20:53:06 +02:00
Bernd Weimer
4af257eb3c QNX: Work around dlclose issue
"Shared objects still referenced" dlerror should actually be treated as
"for your information" only, not as an actual error.

Change-Id: Ie02bd1db0dd2dc93bb759f8b6c7e825070e17bb9
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-04-09 20:53:06 +02:00
Eskil Abrahamsen Blomfeldt
db14f5fd60 Android: Fix compilation on Windows
151cf2047a broke cross-compilation
for Android on Windows, since evdev-support was detected, but
there was no corresponding test to disable the mtdev-code in the
evdev files.

Task-number: QTBUG-38155
Change-Id: Ifb08fa1160a348ef64b970a89922e66dc6ddd263
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-04-09 17:37:30 +02:00
Maurice Kalinowski
670ebed121 Fix out-of-range shifting
offsetHi needs to be casted first before shifting.

Change-Id: I29c773dd13d5b16042629604015bbf5645fab861
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-04-09 12:51:06 +02:00
Gabriel de Dietrich
9ee07d5544 QComboBox: Set the proper font after a MacSizeChange event
Change-Id: I5c90817e52a3e87d9b06b2bb670d69a6953efd47
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2014-04-09 12:48:55 +02:00
Gabriel de Dietrich
624df9cf7f Cocoa: Use private property to enable NSWindow child windows
Enabled for QToolBar to allow it to overlap OpenGL widgets when
expanding.

Task-number: QTBUG-33082
Change-Id: I76dc8da52bc04eedc6d6779c48753da100ed1c9f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-09 12:47:26 +02:00
Marc Mutz
323ce42de6 QPageSize: remove QPageSize:: overqualifications
This is not Qt style, not needed, and clutters the code, so remove
QPageSize:: qualifications where they're not needed.

Change-Id: Ia93ac9523ef43a40cf4dab3bcb383a54af666c96
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-09 12:40:58 +02:00
Morten Johan Sørvig
c92fead433 Cocoa: Fix possible printing memory leak.
The created page format must always be released,
even if one of the subsequent PM* functions fails.

Change-Id: If42aaeccd6bdb51ba53444f491ca2878783d0678
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-09 10:47:26 +02:00
Morten Johan Sørvig
0e62671bc0 Cocoa: Fix crash when creating printer object.
Fix reference counting error in QCocoaPrintDevice::
createPageSize(). "key" is accessed with a "Get"
function and should not be released. Switch from
using QCFString to a plain CFStringsRef with manual
ref counting.

Task-number: QTBUG-38023
Change-Id: I04d661bffeb5b3122b0c3c8eaaffdd1af51842fd
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-09 10:47:21 +02:00
Laszlo Agocs
adde66f0dd Update qtgui.qdoc regarding OpenGL
Change-Id: Ibda6987d005a1e42ebaef23b41ef18ae0b7ffa66
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-04-09 10:47:09 +02:00
J-P Nurmi
82934f11e0 Stabilize tst_QListWidget
Replace weird QEventLoop hacks by sending all posted deferred delete
events.

Change-Id: I6da743f2b3fb6ef5dfc960dd3d752973cd511037
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-09 10:47:06 +02:00
Jocelyn Turcotte
04f6dffbf9 QOpenGLWidget: Avoid crashing if updateGL is called before the first resize
Change-Id: I9e7788334de98b35dc5d6beee97a63783a1fe267
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-09 10:47:02 +02:00
Simo Fält
1d58ec346a Android: Add some ci usage features to Android testrunner
Added new options:
- silent to suppress the noice from ext tools, making it easier to
parse failed test cases.
- ci, to check test insignificance. Requires QMake::Project cpan
module if used.

Also added printing out results after each test as well as full
summary after test run is complete.

Task-number: QTQAINFRA-641
Change-Id: Ie5f02710a939f7526e0dd39979a0cd97ed19f55b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-04-09 10:46:40 +02:00
Frederik Gladhorn
ccdfe354a6 Accessibility Mac: Cache Accessible Elements and Notify about changes
The big change is that we now keep the id objects representing accessibles
around so that they are persistent for ATs.
This improves performance of Mac accessibility significantly.

This is required for notifications which are now sent so that many things work much better,
for example the VoiceOver focus follows the keyboard focus.

The parent element in QCocoaAccessibleElement was removed, we can
dynamically access it more reliably.

Change-Id: I686d212f40d28b392dcc22f16f3c3430f08bdc98
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-09 10:46:02 +02:00
Laszlo Agocs
7537a4605a Correct QOpenGLContext::versionFunctions() docs
The example is incorrect: no context parameter is needed.

There was also no mentioning of the fact the the context must be
current at the time of calling initializeOpenGLFunctions(). This
is corrected too.

Change-Id: If8695140096e4b4f84927579c099b0af80750703
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-04-09 10:45:36 +02:00
Tomasz Olszak
041c4d9c0b Forward "_q_platform_*" QWidgets's properties to QWindow.
This way we can customize QPlatformWindow by using
dynamic "_q_platform_" properties in corresponding
QWindow.

Change-Id: I987b7a17d252541fe766af6aa37a6cffb67f1807
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-04-09 10:45:15 +02:00
Friedemann Kleint
7d012552b0 Add diagnostic output to tst_QtConcurrentIterateKernel.
Add messages to comparisons and expect failure of blockSize()
on Windows.

Task-number: QTBUG-37822

Change-Id: Ie71d35a3d1ba0e52c93d5ba3fd7e92465b170d49
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-09 10:43:32 +02:00
Uli Schlachter
e215aba4aa XCB: Only use the XFixes extension if available
Commit 0d4918950e added a new place
(QXcbWindow::setTransparentForMouseEvents()) where requests from the
XFixes extension are generated. However, this wasn't checking if the
extension is actually supported before using it.

Fix this by turning QXcbWindow::setTransparentForMouseEvents() into a
no-op if the XFixes extension isn't available.

This means that the window in question won't be transparent for mouse
events, but we cannot do much about that if the X server doesn't support
the required extension.

Task-number: QTBUG-38109
Change-Id: I2931481eb71bab990f2dcf0ec600b9e62d3d799c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-04-09 10:38:46 +02:00
Jerome Pasion
e14ef58f3d Doc: Add a section all modules can use for example documentation.
-modules that use the qt-module-defaults.qdocconf have access to the
 .qdocinc file.

-content about running examples can be used by example documentation.

Task-number: QTBUG-33597
Change-Id: I88d93a9982c05a24b4f7ac1b2cfb3293e56031b2
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-04-09 10:37:29 +02:00
Marc Mutz
6b2b0cd41b QPageSize: clean up operator==
Recognize that the d-pointer can never be nullptr and drop the
nullptr checks.

The d-pointer can never be nullptr as there's no move ctor and all other
ctors create a QPageSizePrivate.

Change-Id: I6c4e165949ed55510aefbc2d933f20fc8e624333
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-08 22:07:16 +02:00
Marc Mutz
1baf8e9ad7 QPageLayout: clean up operator==
The old code always compared the Private classes, unless one of them
was nullptr (which it never was, as there is no move ctor and all
other ctors create a QPageLayoutPrivate.

The new code compares the dpointers, and only if they differ, the
Private classes. It also drops the nullptr checks, as they cannot
trigger.

Change-Id: I523c3503e2edb520f98f9b4e2e3bdaf28a9a355d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-08 22:07:08 +02:00
Marc Mutz
c7dd6006b9 QPageLayout: provide op!=
For consistency.

Change-Id: I20fb70999785e2c1947f033d63367a2f6746990a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-08 22:07:01 +02:00
Marc Mutz
4bed03eb85 QPageLayout: make op== non-member
Better style, since it treats the left-hand and right-hand size symmetrically,
e.g. for implicit conversions.

Change-Id: Ib5d39b1ebffffcb664ee2f72c756702469e32d3b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-08 22:06:55 +02:00
Marc Mutz
0de0f494bd QPageLayout: use QExplicitlySharedDataPointer
Many setters check for an actual change before making changes to
data members, but because of QSharedDataPointer, the detach had
already happened by the time the comparison returned false.

Change-Id: I320806e74de4a64fa3a340831621c1f5120ebb0f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-08 22:06:50 +02:00
Marc Mutz
7b3d9bbdf2 QPageLayout: remove QPageLayout:: overqualifications
This is not Qt style, not needed, and clutters the code, so remove
QPageLayout:: qualifications where they're not needed.

Change-Id: I62f90c29bcb9f3c137d319051ac79e081fe5fb69
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-08 22:06:44 +02:00
Marc Mutz
22afdaa2da QPageSize: provide op!=
For consistency.

Change-Id: I4375a6f8c2514479a7479c735d397bf8a9876db1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-08 22:06:38 +02:00
Marc Mutz
9f924338a8 QPageSize: make op== non-member
Better style, since it treats the left-hand and right-hand size symmetrically,
e.g. for implicit conversions.

Change-Id: If1ffa9dc2a018e402c884f60bfbc82e799daeb92
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-08 22:06:31 +02:00