Commit Graph

18306 Commits

Author SHA1 Message Date
Martin Smith
761265ef64 qdoc: attaching type of attached properties was missing
This bug was probably intoroduced when the QmlPropertyGroup
became a first class Node type. Otherwise, there is no way
to explain how it worked at all. But now qdoc includes the
attaching type.

Some debugging code was also cleaned up.

Task-number: QTBUG-35559
Change-Id: I478efb7f4356d51015af9f33c893958d4b4ae301
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-02 10:11:23 +02:00
David Faure
0ccbe33a04 QtGui: Use Q_REQUIRED_RESULT in many more places
gcc doesn't yet warn when a non-POD return datatype is unused,
but clang does, at least.

Change-Id: Ia4c39001994ac09cf20e458bc5a66710bd11780c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-02 10:03:46 +02:00
David Faure
84f02a9e14 Factor xcb check into a local variable
Change-Id: Ib57f73f7a733a94bed4522ddd2d19c4980d8d6b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-02 10:03:35 +02:00
David Faure
532b94e98f Add support for -qwindowicon command line argument.
[ChangeLog][QtGui][QGuiApplication] Add support for -icon command line
argument on X11, add -qwindowicon on all platforms.

Change-Id: Iacc602466699bf634d8b34aab7ed73c83fd9844f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-02 10:03:31 +02:00
Topi Reinio
9e44204bf8 qdoc: Simplify config code for reading file paths
This change greatly simplifies the code used for
reading paths from config files: near-identical
functions Config::getCanonicalPathList() and
Config::getPathList() are combined into one, and
the use of Config::getCleanPathList() is
replaced with the above.

Effectively, all paths read from the config files
are now converted into canonical ones.

It also adds support for absolute paths in config
files.

Task-number: QTBUG-36193
Change-Id: I2dc1ee6a67a400e056404ec1c09c6e81f643aa77
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-05-02 09:56:24 +02:00
Friedemann Kleint
2e44a9e491 Windows: Start using High DPI API available from Windows 8.1 onwards.
Dynamically load shcore.dll, use SetProcessDpiAwareness() instead
of SetProcessDPIAware() when available. Add command line parameter
to control level.

Task-number: QTBUG-37347
Change-Id: I1259b0943b41e50066e7e3870ed3136afd8f18fe
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-30 22:43:49 +02:00
Daniel Molkentin
ae7bbe3400 Provide new API: QSslCertificate::isSelfSigned()
Change-Id: I382a017a0b865b849667301aff8b2f87b676ecc6
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-04-30 01:30:08 +02:00
Friedemann Kleint
f3bc9f5c5c Add locations AppDataLocation, AppLocalDataLocation to QStandardPaths.
On Windows, DataLocation currently returns the value obtained by
passing CSIDL_COMMON_APPDATA to SHGetSpecialFolderPath(). This is
the local non-roaming path. For actually storing settings, the roaming
path should be used (CSIDL_APPDATA). Introduce new AppDataLocation to
return that path and AppLocalDataLocation for the local path and deprecate
DataLocation.

[ChangeLog][QtCore][QStandardPaths] QStandardPaths now has new
enumeration values AppDataLocation, AppLocalDataLocation to be able
to differentiate between roaming and local paths on the Windows
operating system. DataLocation is deprecated in favor of AppDataLocation.

Task-number: QTBUG-38483
Change-Id: Ib1de8c7031a863ed5eac10c747de6f7ff1a090c7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2014-04-29 12:28:16 +02:00
Peter Hartmann
32893fa9c4 SPDY: use QUrl's logic for determining the correct "Host" header
... and not duplicate part of the logic in the SPDY code. This code was
also existent in QNetworkRequest.
The next step will be to actually respect the header if set via
QNetworkRequest::setRawHeader().

Change-Id: Ifda2658ea826d039c9dad61ed6fa42aaedaee6b6
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-29 12:27:13 +02:00
Ivan Komissarov
c281755480 Fixed i18n in QImageReader/QImageWriter.
Change-Id: I366831e23e4d29999696872d752b9487d1f22d44
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-28 20:11:56 +02:00
Ivan Komissarov
c3939826c4 Removed unused function stringSize() in qmetaobject.cpp.
Change-Id: I56e90d2cdd736aaa0ea1e7f6abde958c77fe0d32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-28 20:11:28 +02:00
Ivan Komissarov
0b7bcb996d Removed unused function qcolorFromCGColor() in qmacstyle_mac.mm.
Change-Id: Id001ff3087e7317bbcd66cd22a91a4a67942567f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-28 20:05:18 +02:00
Laszlo Agocs
33d0a8d753 Remove direct OpenGL calls from QtOpenGL
Task-number: QTBUG-36483
Change-Id: I96dea5649c0a49a11cd2ff31da659cd2067e769d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-28 18:19:34 +02:00
Laszlo Agocs
8f443ad0b9 Load qt_installs in platformheaders
Change-Id: I82098e7633d6153c7157bb2d4e9feeef376f53bc
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-04-28 18:19:30 +02:00
Giuseppe D'Angelo
442c70fc9e QRegularExpression: update the error strings to the ones in PCRE 8.35
Change-Id: Iee03fff5971712c3eb51a32d632cb1a6c276699c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-28 18:17:11 +02:00
Giuseppe D'Angelo
414a411c27 QRegularExpression: enable JIT study for partial matching too
Task-number: QTBUG-38034
Change-Id: I0edc1c0b5e3be5fd12a91007b68e5eff7ccc7e40
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-28 18:17:09 +02:00
Giuseppe D'Angelo
5bc4dd3c3b Bump the minimum required PCRE version to 8.31
This allows us to use JIT also for partial matching.

Change-Id: I3963a03e769c61ab68d28c617cbeee2bc49c8f9b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-28 18:17:04 +02:00
Friedemann Kleint
5f0fb6f114 Fix definition of HRESULT in qwindowdefs_win.h.
Task-number: QTBUG-38435
Change-Id: I4a08cd0656fa5d6ecb0b94aa71ca000268835b89
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-25 15:22:54 +02:00
Laszlo Agocs
a26e3ecc3d Include GLES 3.0 and 3.1 headers when available
In ES builds configure will now check for OpenGL ES 3.0 and 3.1
availability. This allows qopengl.h to include the correct header
and, by defining QT_OPENGL_ES_3 and QT_OPENGL_ES_3_1, the OpenGL
wrappers can provide support for MapBuffer, VAOs, etc. on GLES 3.0+
too. Right now this is not possible since the only standard way to
use an ES function specific to a given version is to use the function
directly. The extension mechanism (eglGetProcAddress and friends), that
is often used in desktop GL, is not available for such functions.

[ChangeLog][QtGui] QtGui's OpenGL headers are now automatically including
the highest available header (gl31.h, gl3.h or gl2.h) in OpenGL ES builds.

Task-number: QTBUG-38168
Change-Id: Ib857c58fe1696a9546fdd1aa143a9237e80325a5
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-04-24 10:36:07 +02:00
Kai Koehne
bded052aad Windows: Do not link QtCore against ICU by default
Do not link against ICU on Windows, unless it is explicitly requested
('-icu' configure option). This removes the QtCore->ICU dependency
if ICU was detected in the configure environment.

So far ICU has been used in Qt Core for

- support of a larger set of codecs (805 instead of 135)
- more accurate QLocale functionality (QLocale::toUpper,
  qLocale::toLower)
- string collation

However, for all functionality there are also backends using the
Windows API/Registry (QLocale, QCollator), or built-in
codecs that are part of QtCore. Since the ICU dependency is quite heavy
(3 libs with about 25 MB) it seems sensible to not require it by default.

QtWebkit is unaffected, since it has it's own ICU check.

[ChangeLog][Windows] Changed configure defaults so that Qt5Core does not
link against ICU libraries anymore. Pass '-icu' to enable it.

Task-number: QTBUG-38259
Change-Id: I3fd3e8ac0f091f532b04945718c0e4a3cc71a087
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 09:40:44 +02:00
Laszlo Agocs
af1e32426c Add public and QPA APIs for adapting existing OpenGL contexts
For now only xcb on GLX is supported. Other platforms will follow later.

Add also some missing documentation for the platform OpenGL context factory
functions.

[ChangeLog] QOpenGLContext is now able to adopt existing native contexts.

Task-number: QTBUG-37552
Change-Id: I5dd959f102df178f646b2df5989203b5dc6de376
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-04-24 09:10:29 +02:00
Samuel Gaist
787692a09e OS X: Add support for ApplicationState capability
Currently a click on e.g. the dock icon is not propagated to the
application so if for example the main widget is hidden, it can't be
brought back. Also neither applicationDidBecomeActive nor
applicationDidResignActive do anything. This patch fixes it

[ChangeLog][QPA][OS X] Add support for ApplicationState capability.
Application can now detect when an application states has changed
as well when the dock icon has been clicked.

Task-number: QTBUG-10899
Change-Id: I53d3e6eed4adc62b343e7aa3e3d8068d3248e7df
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2014-04-24 02:45:31 +02:00
Giuseppe D'Angelo
ceab0eb021 Extend PCRE's JIT support to PPC (__GNUC__ compilers only)
Change-Id: I983ca42b2e3038e7cc4d1a383d3b09f89024a31f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 02:45:31 +02:00
Giuseppe D'Angelo
2bde54970f Remove an unneeded PCRE patch file
It's already applied to 8.35.

Change-Id: I64c5f601560b63d53dc14190950bc882af77f8ec
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 02:45:31 +02:00
Giuseppe D'Angelo
7d2565b4bc Import PCRE 8.35
Change-Id: I03923fd8ad634857963521502febfb494a072c7d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 02:45:31 +02:00
Giuseppe D'Angelo
bee0f1832b Adapt the PCRE import script to the PCRE 8.35 tarball
Change-Id: I34cef10739af2a4bf04cae5f66ee7219b9afe868
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 02:45:31 +02:00
Keith Gardner
6fc7d76e73 QSignalSpy: Added template function pointer constructor
Added the function pointer constructor to QSignalSpy to take advantage
of the new connect syntax.

Change-Id: I94218a096c677cdba73e1b2cfa8b9c09bc28145f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-04-23 22:26:00 +02:00
Jorgen Lind
eb88aaa3a2 Introducing QPixelFormat
Its purpose in life will be to describe pixel formats

[ChangeLog][QtGui] Added QPixelFormat class

Change-Id: I74d8f974606520efb3935110ff3d6ddb5ea805a8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-23 21:43:50 +02:00
Jędrzej Nowacki
33fae8b147 Build fix for auto-registration of Container<void*>
IteratorOwner pointer specialization was failing for void* because of
an invalid function overload.

Change-Id: I80355ddd2b871c1fa2fa5bf5a4ed8bc7768fc3c9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2014-04-23 21:40:36 +02:00
Stephen Kelly
969da85c2b QMetaType: Specialize IsPointerToTypeDerivedFromQObject for const void*
'const void' is not derived from QObject, and is not a type we can use
sizeof to determine that.

Change-Id: I008f444bbed9fc8f9147da0f7f336757f660e224
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-22 10:19:27 +02:00
Martin Smith
9b8dd3012c qdoc: \l now works with QML property groups
This update makes it possible to link to the name of a
QML property group with a \l command. e.g. \l {Item::anchors}

Task-number: QTBUG-35844
Change-Id: I2dc51bd90eadd13754a8f4d3357f3f17605a068d
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2014-04-17 14:27:07 +02:00
Volker Krause
d953d9a4c3 Add a more reliable replacement for qt_add/removeObject().
These hooks only worked reliably with LD_PRELOAD on Linux/GCC, on other
platforms they depended on what exactly the compiler optimizer is doing
as well as some nasty assembler rewriting to actually access them. The
new system uses a simple array of function pointers that can be set to
custom hooks by tools that need this (based on ideas from Andre Poenitz).

This also covers qt_startup_hook (similar problem), and the Qt version
number that Andre had asked for.

Change-Id: I2c3e7950fd49b1b1d04176be34c2fff3293981b0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-15 17:50:20 +02:00
Jędrzej Nowacki
78a1c46a86 Mark each QT_MOC_LITERAL usage with a comment
The comment shows to which string a QT_MOC_LITERAL is pointing.

Change-Id: Ia389d750b1b1c21e2242bad6beceea4f9298ff8e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-15 14:55:20 +02:00
David Faure
b526e44a37 QtCore: Use Q_REQUIRED_RESULT in many more places
gcc doesn't yet warn when a non-POD return datatype is unused,
but clang does, at least.

This detected two bugs in qtbase due to the bad QDate method naming,
and will help application developers to avoid this trap too.

Change-Id: I106c1a32d2c6fc8d02f57beb7b61940605c80d76
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-04-11 23:02:36 +02:00
Marc Mutz
4c1e15548a Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-04-11 23:01:43 +02:00
Marc Mutz
c501eb8bec QNetworkAccessManager: optimize QNetworkAccessAuthenticationManager allocation
Use QSharedPointer<T>::create(), which co-locates the refcount with the payload
in a single memory allocation, instead of QSharedPointer<T>(new T), which causes
two allocations.

Change-Id: I58196b6390dcc9bd52417e279fd9e000ab9ee9cc
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-04-11 22:55:30 +02:00
Marc Mutz
0b2bd6be6c QStringList: add move ctor from QList<QString>
Change-Id: I93fe4656c1a608ccc828bd9db528d4597a22f070
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-11 22:55:10 +02:00
Marc Mutz
d5b7b4e41c QStringList: add op= overloads for QList<QString>
QStringList = QList<QString> already compiled, but was interpreted as
QStringList = QStringList(QList<QString>), which involves the QList
copy ctor. Adding the overload saves that copy.

Cannot use a using declaration here, since the return type is different.

Change-Id: I9f4feb2f97480d2d6a3b6fa7c71b5d511b623601
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-11 22:54:40 +02:00
Frederik Gladhorn
98d3e40fb7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/qnx-armv7le-qcc/qplatformdefs.h
	src/printsupport/kernel/qcups.cpp
	src/widgets/styles/qstyle.h
	tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp

Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
2014-04-11 14:36:55 +02:00
Morten Johan Sørvig
bab494e4d0 Cocoa: Send expose event on screen change.
Required to repaint OpenGL content properly.

Task-number: QTBUG-38105
Change-Id: Ie9441d56bd9d1a4eb399210369592f03e19c4929
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-04-10 05:39:03 +02:00
Gabriel de Dietrich
78af725907 Cocoa: Set the COCOA_MENU_ANCESTOR() also when sync'ing
Task-number: QTBUG-38044

Change-Id: I2769bf2f4beec058c15ba1d126e59106f41dab37
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-04-10 05:38:11 +02:00
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
Marc Mutz
a74e4b85be QNetworkReplyImpl: optimize QRingBuffer allocation
Use QSharedPointer<T>::create(), which co-locates the refcount with the payload
in a single memory allocation, instead of QSharedPointer<T>(new T), which causes
two allocations.

Change-Id: I84980e98c4fe9773f12533983937eafa0b0ab250
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-04-10 01:03:05 +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