Commit Graph

1828 Commits

Author SHA1 Message Date
Eskil Abrahamsen Blomfeldt
1349299f45 doc: Fix several text-related qdoc warnings
Also adds a new snippet which is just copy-pasted from the
old documentation, because the snippet-file previously referenced
seems to have disappeared.

Change-Id: I0180715544321e076acda769cbdcbf19d50a971b
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-25 19:04:56 +02:00
Olivier Goffart
c13011829f Speed up QTextEngine::setBoundary
Before, setBoundary was O(N), now it is O(log N) assuming the boundaries
are added in order. (splitItem might still be linear because of the call
to QVector::insert)

This speeds up a lot QTextEngine::addRequiredBoundaries when there is a
lot of addFormats. (For example if there is a very long line with syntax
highlighting)

Task-number: QTBUG-8389
Change-Id: I10c9fca72343f46db24b1d4f519f7747188d4009
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-23 23:31:10 +02:00
Olivier Goffart
4f6efe1641 Speed up QTextEngine::resolveAdditionalFormats
Don't call the linear QTextEngine::format in the loop.
Instead, keep track of the current formats by indexing their start and end position.

Task-number: QTBUG-8389
Change-Id: I89c18b804111edfab6254442cbee33da39d1a273
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-23 23:31:10 +02:00
Eskil Abrahamsen Blomfeldt
2f9f16a01c doc: Remove documentation for removed function
Function was removed in 1582407fc7,
but the documentation was left behind.

Change-Id: Ib59197221e3be0e13db958ab3efdcc95b7c52452
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-08-23 15:54:30 +02:00
Pekka Vuorela
2292bf0669 Remove remaining bits of deprecated QInputPanel
Introduced during Qt5 development and renamed to QInputMethod.

Change-Id: If6744648dc98b779e65c449ae32626db574181df
Reviewed-by: Joona Petrell <joona.petrell@gmail.com>
2012-08-23 11:20:37 +02:00
Frederik Gladhorn
d7e1426e1e Move Qt::CursorMoveStyle docs to the right file.
Change-Id: I26cc7336b33495a2649285cfeddeadec62e94d83
Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-08-23 02:55:17 +02:00
Friedemann Kleint
38bd71e04d Remove deprecation from enumerations in QtGui.
Referencing them in a (deprecated) function declaration causes
a deprecation warning to be emitted each time the header is
included, which causes a massive amount of warnings for qevent.h.

It should be sufficient to deprecate them in the documentation
and to deprecate function using them.

Change-Id: I531b7c893e73428703cfb302615bff382abce54f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-22 22:05:55 +02:00
Berthold Krevert
8fb8011e6a Make Qt compile with -DQDND_DEBUG and fix debug messages
Change-Id: Idf34880179e27cdd48ea3365108d2c7bca07e596
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-08-22 09:08:02 +02:00
Morten Johan Sorvig
6c1670d8c2 Add hint for touch -> mouse event synthesizing
Commit 7808ec79 changes QApplication to synthesize
mouse events from (unhandled) touch events.

On Mac OS X this creates a conflict for two-finger
scroll swipes, which generates both touch events and
mouse wheel events: scrolling in QTextEdit will also
select the text.

Add a SynthesizeMouseFromTouchEvents platform style
hint that enables the event synthesising. Set to true
by default and false in Cocoa.

Change-Id: I1ffa5a141476aa38b81ce92a87eff676c7ec2276
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-08-22 07:01:17 +02:00
Jason Barron
6276acb59a Fix docs for QRawFont.
Use correct function name for 'swap' and replace QGlyphs -> QGlyphRun.

Change-Id: I4997a59ef643c688e8084a2013208fb760a2784a
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-08-21 16:13:38 +02:00
Jiang Jiang
a59906e0f3 Fix a bunch of Mac/clang specific warnings
Change-Id: I0ecc67d58fb7e727a88a5f546eeca01ff7554502
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-08-21 13:41:01 +02:00
Martin Smith
083e4c7e51 doc: Fixed qdoc errors
These classes will not be public until Qt 5.1.
This change marks a few things internal, so they
don't cause qdoc errors in Qt 5.0. It also adds
a few qdoc comments for future use in Qt 5.1.

Change-Id: If90692b97653223d8a986f2ae1fff49c20cd444b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-21 11:05:20 +02:00
Martin Smith
194b62fb38 doc: Added \relates command to some function qdoc comments
When a documented function is global, it must be related
to a namespace or class, or its documentation won't be
included anywhere.

When a documented function is a class member, the function
signature in the \fn command must include the class name
qualifier, e.g. QImage::isValid(), not just isValid()

Change-Id: I53e2230fa9468f94d51aec8cc76781d7ab755a13
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-21 11:05:20 +02:00
Thiago Macieira
adc4a8e42b Add AVX support for the JPEG handler
Apparently I had forgotten about this previously. Use the AVX conversion
function if the compiler could generate AVX code.

Note: the functions need to be declared outside of the function block
so namespace scoping works properly with MSVC. For functions declared
inside, it expects them to be in the global namespace.

Change-Id: I7b7248dbfce3cc7c580dee920407c205049cb746
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-21 11:05:20 +02:00
Shawn Rutledge
97150f169f QWindow documentation fixes; make pos, size and geometry properties
Change-Id: I745bbe5d0baa68fc7ee49d6fe76d3678f3212b3d
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@nokia.com>
2012-08-21 06:51:00 +02:00
Shawn Rutledge
c0b3f90de4 Fixed qdoc complaints for qsurface and qsurfaceformat.
Also QTBUG-25231

Change-Id: I54e1f2d4ca9a52590b28e4d5ea04a8ae4a48d318
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-21 06:50:26 +02:00
Shawn Rutledge
24b24cc8ac QTouchDevice documentation
Change-Id: I33c39522c92ef1abd5572b757122f6467702b1e6
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@nokia.com>
2012-08-21 06:49:06 +02:00
J-P Nurmi
6bb0f2ae46 QStyle docs: fix the location of two paintsystem related images
The following images were misplaced into gui with the other painsystem
related images:
- ../styles/qstyle.cpp:80: Missing image: paintsystem-stylepainter.png
- ../styles/qstyle.cpp:80: Missing image: paintsystem-icon.png

Change-Id: I5a46db04d00b779a6028cda89e436feda75efef7
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2012-08-20 21:11:35 +02:00
Sean Harmer
fc41ee4c92 OpenGL: Use official glext.h and gl2ext.h headers
The Khronos group makes the glext.h (Desktop OpenGL) and gl2ext.h
(OpenGL ES2) headers officially available nowadays. Most (all?)
Linux systems ship this by default. On Windows platforms the
glext.h file needs to be downloaded from

http://www.opengl.org/registry/api/glext.h

and placed alongside the system OpenGL header.

Making use of the official header reduces the maintenance
overhead for OpenGL support in Qt by removing the need to copy
and paste definitions into the Qt sources.

As the Khronos-provided headers are standardised and backwards and
forwards compatible we can utilise these for all platforms rather
than just for Windows. This means that all definitions required
by Qt will be present even if the system ships out-dated
equivalents.

Mac OS X needs special handling in that we should always use the
system-provided headers there. This is because Apple controls the
OpenGL driver and the headers that go along with it. As such there
is no possibility that the driver exposes additional functionality
compared with the system-provided OpenGL headers. Apple has also
decided to make different decisions about some OpenGL typedefs
compared to other implementations. For example, Apple typdefs
GLhandleARB to void* whereas other platforms use unsigned int.

The alternative, which is to use the system provided glext.h (or
gl2ext.h) header means that Qt code would need to check for the
availability of such definitions wherever it is not guaranteed
to be provided by core OpenGL/ES just to compile.

The proposed approach means that Qt can compile regardless of
the system's OpenGL extension support. We just need to be
rigourous in runtime checking of support for extensions but
that is already a requirement (and is missing in a few places,
see TODO's added in this commit).

The official Khronos headers are added to Qt as

qopenglext.h - Desktop OpenGL
qopengles2ext.h - OpenGL ES2

They need to be public but not part of QtGui module include, hence
the headers have been modified by adding

 #if 0
 #pragma qt_no_master_include
 #endif

to them.

This has been tested on:

Gentoo Linux with GCC 4.6.3
Windows 7 with MSVC 2010
Mac OSX 10.8 with Apple clang 4.0 (based on LLVM 3.1svn)
QNX with qcc (based on GCC 4.4)

A small change is needed to QtDeclarative when building for OpenGL
ES 2 after applying this commit. See
https://codereview.qt-project.org/#change,31794

Change-Id: I4b3d2b1680baf4c78be9a87b4d8de076d23e8f82
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-20 11:58:16 +02:00
Miikka Heikkinen
333f641622 Fix in-process QAxServers inside modal windows.
The main window of in-process QAxServers doesn't have QWindow parent,
but it does have native parent that is part of the native window tree
of the application. The lack of Qt parent makes embedded controls look
like toplevel windows, which causes problems e.g. with modality.

Introduced new optional method QPlatformWindow::isEmbedded() to
detect if a window is an embedded window and utilized it in proper
places during modality handling.

Task-number: QTBUG-26871
Change-Id: Iac9a51dae06b8fc15410de7838857e203e4275b8
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-20 10:48:09 +02:00
Geir Vattekar
f20472efa7 Doc: Small addition to QAbstractTextDocumentLayout::registerHandler()
Task-number: QTBUG-23345
Change-Id: I6f768472aaef95f5dd88cf896ef3e635d223b635
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@nokia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
2012-08-18 21:08:33 +02:00
Marc Mutz
624911e481 Fix -Wclobbered warnings
GCC warns:

  warning: argument 'x' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]

Apparently, the real fix would be annotating the functions correctly
with noreturn and returns_twice attributes, but there's also workarounds
for these, at least in the png case, so adding volatile was the easier
way out here.

Needed a cast to lose the volatile again, passing the argument to qMin().

Change-Id: Id820cf9b65752359f3b8f268172ba71bc9a76784
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-18 13:59:27 +02:00
J-P Nurmi
468c22f673 Register QTextDocument* as a meta type to fix QTextEdit::document type
Change-Id: I666845049749bfa6f88b764eefaefb0dcf05cb3f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-18 10:58:37 +02:00
aavit
94ac17c2cc Clean up QScreen::grabWindow()
Handle 0 WId parameter as meaning "desktop window"/whole screen.
Also, re-add the default values for the grab area, both for
convenience and compatibility with QPixmap::grabWindow() in Qt4.
Update the screenshot example so it doesn't comlain about usage of
deprecated QPixmap::grabWindow().

Change-Id: I2ad229113ddb8ded0388f2ebc0e8c703c6657f1f
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-18 10:55:47 +02:00
Stephen Kelly
2ef3ac72fc Emit layoutChange signals when changing QPersistentModelIndexes.
This is necessary whenever QPersistentModelIndexes are changed. Omitting
it means that views are not able to react to the change, such as QTreeView
clearing its (manually held) QModelIndex cache, and the QItemSelectionModel
clearing the item from its storage.

It is necessary to change a QSortFilterProxyModel test which assumed setItem
does not have any such effect. That test is ported to setData instead.

Task-number: QTBUG-18539
Change-Id: Id7a602f18b9773ba4d11019418de886860d26d3e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-08-18 08:34:53 +02:00
Sergio Ahumada
64d22311d8 Doc: Fix spelling errors
Change-Id: Ibae8d10183f6b15a16b1499daa2df8802dbb014e
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
2012-08-17 22:45:27 +02:00
Frederik Gladhorn
e0133de62f Move docs for QSessionManager to the right file.
Change-Id: Ia3735ac14fe91de8cfbb58fc68f1a37f04d7b668
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
2012-08-15 15:29:51 +02:00
Marc Mutz
bdd682ea4c QtGui: use new qEnvironmentVariableIsEmpty()
In particular, static bool showRasterOverlay is safer.

Change-Id: I9df6c9a9a56d2e61b13391b6889c0ac6e259e801
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-14 20:21:12 +02:00
Jan-Arve Saether
0cba86f7a4 Group functions in QAccessibleTextInterface
Do the same in QAccessibleTextWidget

I got a bit annoyed by this, should hopefully make life easier
when forward porting QPlainTextEdit

Change-Id: Ib4b90d1892974ea39ecfcbc5cad6ed0694207b58
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-14 09:16:16 +02:00
Marc Mutz
d370b365da QImage{Reader,Writer}: remove unused local typedef (GCC 4.8 warning)
GCC 4.8 warns:

  warning: typedef ‘PluginKeyMapConstIterator’ locally defined but not used [-Wunused-local-typedefs]

Change-Id: I0225708b590ac3d72ab3cb8f61e686091c187053
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-11 22:35:37 +02:00
Alexandros Dermenakis
59cd316d6c Revert "Added default argument for color profile to QImage constructors."
Reverting change after request in the developers mailing list.

This reverts commit 50a5bd5429e0c8b99be81b86d3730737cb7f8514.

Change-Id: Ic4a420d6ad0995810ed61d31edd28e7b603cca5e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-10 21:58:29 +02:00
Mitch Curtis
478c21239a Correct QTransform::QTransform documentation re m13 initialisation.
Documentation incorrectly states that it is m13 that is set to 1,
when it is instead m33.

Task-number: QTBUG-10232
Change-Id: If3c7d3eb1c478ebef4f13b4842235445afc48049
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-08-10 11:56:26 +02:00
Morten Johan Sorvig
ca23ae5c4b Handle "-psn_XXX" command line args on Mac
Finder on Mac OS X sends a command line argument of
the form -psn_0_3523420 when launching applications.
Eat the argument like we do in Qt 4.

Change-Id: I09db9dea035e62c0b816a833c9ad6fcd78f83735
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: Simo Fält <simo.falt@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-10 11:42:22 +02:00
Sean Harmer
d1bb10d9b8 OpenGL: Allow querying OpenGL extensions via the QOpenGLContext
Change-Id: Ia88470554bbfd2a56738dadfcafafe42a990382d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-08-09 13:19:34 +02:00
Leonard Lee
63eb5b5a79 Explained rectangle bounding in documentation.
Task-number: QTBUG-26756
Change-Id: Ifa56cbe249164e239f21c00fc31cd6ddd81705ad
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-08 14:13:53 +02:00
Leonard Lee
7cd8782cb6 Explained degree unit in QPainter::rotate() function.
Task-number: QTBUG-26757
Change-Id: I9a03480513819aefb78d914a7170fb4997181643
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-08 14:13:53 +02:00
Oswald Buddenhagen
0885f3ee52 rename qt_module_config.prf => qt_module.prf
this is more logical, following the qt_plugin and qt_tool scheme.

Change-Id: Ib3b2abec6728cdab260e15128b1cd78e8e6f5d6a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-08-08 12:04:49 +02:00
Sean Harmer
46212d657e Improve the QOpenGLExtensionMatcher class
Using a QSet<QByteArray> internally means that checking for the
presence of an extension no longer uses an O(N) search.

This patch also allows users of this class to easily get a list
of the supported extensions.

Change-Id: I02194e5345573c47be0876f3ea6eb6b69a2ead81
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-07 18:55:43 +02:00
Marc Mutz
bd7331cb33 QtGui: collapse two qgetenv() on the same variable
Store the result in a temporary QByteArray and continue
working with that one.

Change-Id: I24bc243f0f3dfb37d840faf7592b3383bd37c7e2
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-07 18:55:43 +02:00
Marc Mutz
39c2fdd907 QWindowSystemInterface: fix mem leak and race
There was a race where QGuiApplicationPrivate::processMouseEvent accessed
QWindowSystemInterfacePrivate::windowSystemEventQueue without holding
QWindowSystemInterfacePrivate::queueMutex.

There was a memory leak where QWindowSystemInterfacePrivate::windowSystemEventQueue
would not delete events contained in it when it was destroyed.

Fix both of these by properly encapsulating the QList/QMutex pair
in a small class, WindowSystemEventList, that allows only properly protected access
to the internal QList and calls qDeleteAll() in its dtor.

Change-Id: Ifaa9968c9272096df2f7109a7a6cf1c8e5fa736c
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-08-07 08:53:42 +02:00
Sean Harmer
96bc8835eb OpenGL: Add finer-grained functionality checks for NPOT textures
The GL_IMG_texture_npot extension only provides partial support for
npot textures in that it allows use of npot textures but it does not
support the GL_REPEAT texture mode (needed for tiling fill modes in the
QQ2 image element).

Adding this new finer-grained feature check allows QQ2 to still use npot
textures where GL_REPEAT is not needed with only the IMG extension
present.

A follow-up commit will make a check for this in qtdeclarative.

Change-Id: Iff3dbdb955fb334d9e32f3abd49e90ff0ed9836c
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-08-06 16:04:43 +02:00
Samuel Rødal
e033d59c94 Fixed popups getting blocked by modal windows.
In the case of a file dialog with a completer, the completion list view
is a popup that is not a transient child of the file dialog. Thus it
ends up getting its blockedByModal flag set due to the file dialog
window being a modal window.

To prevent this we make sure popups don't get blocked by modal windows,
as they were special cased and processed before modal windows in Qt 4.x.

Change-Id: Id5688cfb1534541cd1678b1e53d75e34a68f9b8e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-08-06 03:21:36 +02:00
Frank Osterfeld
063e3a4da8 Fix intended assignment to customSet variable.
The naming suggests that this variable should be set to true here (instead of leaving the expression result unused). Also, the variable isn't written to anywhere else.

Change-Id: I8aae904f6e4456ce0bdd053ce89c2721168dccd3
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-08-06 01:31:04 +02:00
Paul Olav Tvete
3d0af143ca Revert "Move QWindowSystemInterface out of qpa."
This reverts commit 784a877d3c.

Conflicts:

	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/testlib/qtestkeyboard.h
	src/testlib/qtestmouse.h
	src/testlib/qtesttouch.h

Change-Id: Iebfed179b3eb7f30e4c95edcae5a8ad6fd50330e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-08-03 00:38:09 +02:00
Jan-Arve Saether
8632b26285 Use glFlush() if swapBehavior is single-buffered
Otherwise, use swapBuffers()

This fixes an issue where swapbuffers() did not swap the
"back buffer" to the "front buffer" if we had single-buffered swap
behavior.
This was an issue on Windows 7 with an NVIDIA graphics card that
by default was using single-buffered mode.

Change-Id: If53f54146e4633305be3ad5158565752b6516b59
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-08-02 20:41:18 +02:00
Paul Olav Tvete
5ac4a1304b Make tests compile without gui-private
Add new qt_handleXXX functions that forward to the QWindowSystemInterface
functions, and use those in the testlib inline functions. Remove use of
struct QWindowSystemInterface::TouchPoint from the testlib header files
(requiring some slight increase in ugliness in the two tests that use
that struct).

Also remove the qmake hack that adds private headers to all tests

Change-Id: Iec23537e55a44802f6e9cd463f7a0f82007c5250
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2012-08-02 17:25:37 +02:00
Laszlo Agocs
1fd85093a4 Move QPlatformWindowPrivate into its own header
Most other qplatform* classes have the same setup and more
importantly this allows QPlatformWindow subclasses to utilize
the d-pointer.

Change-Id: I52afeaaf35bba8ef42d59ff3107f7d7bcf931e5e
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2012-08-02 16:37:34 +02:00
Simon A. Eugster
03bb0b0fa0 Mention setFont() in QPainter::drawText() functions
Change-Id: Id0d06d27f3aeb6a6e7e1a415da78591ae5eae91c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-01 20:20:45 +02:00
Jeremy Katz
864a843f98 fix a few qdoc command typos
Change-Id: I5eb3a6d2bb7939f001f1fcb836660dd46a47c350
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-01 15:37:46 +02:00
Jeremy Katz
c3189a0a22 change \img to \image in docs
\img was a macro defined in macros.qdocconf. This collection
of macros is being phased out. Use the full command instead.

Change-Id: Ia55212f87bb46349d61359d40568e0aa33882596
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-01 15:37:46 +02:00
Jeremy Katz
a68577e7e0 replace \key and \gui qdoc commands with \uicontrol
Change-Id: I0753305d4fe1ea20417f451766101da1247dfeeb
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-01 15:37:46 +02:00
Sean Harmer
ee21024863 OpenGL: Fix typo in extension name
Change-Id: Ibb65b832290085bd565388982594eb889e950aaa
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-08-01 15:37:46 +02:00
Alexandros Dermenakis
edc6fce47f Added default argument for color profile to QImage constructors.
Added default argument for color profile to QImage constructor
initializing QImages from pixel maps. This is to be used in future Qt
versions where color profile support will be added.

Change-Id: I815c3db4ef52f8383b48dad844b5f188aa3a3eee
Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
2012-08-01 15:37:46 +02:00
Michael Goddard
019b97fc4f Add a .prf file for SIMD qmake variables.
So you can get AVX/NEON etc source compiled by assigning to the
corresponding variable (e.g. AVX_SOURCES).

This was previously used in just the gui module, but other
external modules might like it too.

Change-Id: I51aa64760c469c7dc4c71e6f089c2ddef4f509c5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-08-01 02:25:26 +02:00
Friedemann Kleint
5b49793d80 Implement synchronous WS events by flushing.
Previously synchronous window system events were
implemented by bypassing the queue and processing
the event immediately. This is not ideal since the
event order is not preserved - there might be "happened
before" events waiting in the queue.

Add QWindowSystemInterface::flushWindowSystemEvents
and change all handleSynchronous* to 1) queue the
event 2) call flushWindowSystemEvents.

flushWindowSystemEvents is almost identical to the
already existing sendWindowSystemEvents with the
exception that it does not call QApp::sendPostedEvents.
Move the common implementation to a new private function.

Task-number: QTBUG-20778

Change-Id: Ie98a83875bc0a14e335e36bed0dd9e0ed4a1dea0
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-31 20:25:36 +02:00
Mitch Curtis
8e49def48e Correct method name referred to in QFont's detailed description.
The detailed description of the QFont class reference contains
the wrong method name (and link) setPointSizeFloat().
This change replaces it with the correct name: setPointSizeF().

Task-number: QTBUG-15536
Change-Id: Ieb2e398b8e1d0b637a6bac16a3ec48522c5dddc1
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-07-27 18:01:25 +02:00
Stephen Kelly
9784dd8d06 Implement implicit constructors for built-in classes.
Change-Id: I6b0b104bc1da3252d014615c50b81830de42e722
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-07-27 03:27:23 +02:00
Ali Akhtarzada
7d110111da Added note to QTransform::isRotating
Rotation of 180 or 360 is treated as a scaling transform

Task-number: QTCREATORBUG-7651

Change-Id: I44077de0a4a90a87d2d9e8499c1920da1ed066c9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-07-25 19:32:41 +02:00
Friedemann Kleint
bcb5e564ff WindowSystemInterface::sendWindowSystemEvents(): Remove unused parameter.
No need to pass the dispatcher. Get rid of Windows logic to maintain
a stack of dispatcher associated with flags.

Change-Id: Ic2daad4b6762a46fac3274937effc188af436c9a
Reviewed-by: David Faure <faure@kde.org>
2012-07-23 19:57:07 +02:00
Marc Mutz
401e6f2581 QPaintBuffer: use the nullary version of qRegisterMetaTypeStreamOperators()
The name is taken from the existing Q_DECLARE_METATYPE()s.
Also don't call qRegisterMetaType<>, as that is done within
qRegisterMetaTypeStreamOperators<> already.

Change-Id: Ia782868b49bc97d78e0cec29ef9f8b5709420e2a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-07-23 17:48:39 +02:00
David Faure
1603ba2365 Provide public API for native event filtering, moved up from QPA.
The previous API was hard to use (global function, no type safety,
manual chaining), and confusing (app vs dispatcher split only made
sense on Windows). Installing and removing out of order would have
the risk of setting back a dangling pointer (crash). Meanwhile QPA
added type safety, and this new API models the QObject::installEventFilter
API for ease of use. The virtual method is in a new interface,
QAbstractNativeEventFilter.

QPA was even calling the dispatcher event filter with QPA-private event
classes, which made no sense (refactoring leftover from when the code
was in the dispatcher). Now the QPA plugins trigger the qcoreapp event
filters with the actual native events directly.

Change-Id: Ie35e47c59c862383bcaf857b28d54f7c72547882
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-07-20 18:34:08 +02:00
Stephen Kelly
784a877d3c Move QWindowSystemInterface out of qpa.
Public QtTest headers require it, so all unit tests would have to use private Qt
headers otherwise, which is not practical.

Change-Id: I5d4466ec30b6a57ebdfc34413e716e657eb51368
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-19 15:28:18 +02:00
Friedemann Kleint
fc3207dfe1 Mirror potentially themeable style hints in QPlatformTheme.
Currently, most of the QStyleHint-values are potentially
configureable by the user in certain desktop environments.

Add them to the QPlatformTheme and query the theme first.

Keep the values in QPlatformIntegration such that simple
integrations that do not implement themes are not forced
to implement them to change the values.

Change-Id: I15742a5968df0ad5d7398cceae640dc7e541da52
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-07-18 08:18:46 +02:00
Stéphane Cerveau
50e15401c9 Fix infinite loop due to FPU limitation
Bug detected with animatedtiles in example/animation.
In qpa mode, using some specific resolution of directfb such as
800x600 causes a bug in FillRectF where there is an infinite loop due
to scalabilty of qreal value: One is rounded and the other not.

Change-Id: I1707e53f34aeeadc0f0fc07b1dca148fbe05b5f1
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-07-17 08:19:31 +02:00
Charles Yin
87ff2c830d Don't join between 2 same points
Joining 2 points with same x,y values causes assert in QTriangulatingStroker::normalVector().

Task-number: QTBUG-26528
Change-Id: I2494d7f362e13e41a82753f4bacf97ffbc249cf9
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-07-17 01:54:32 +02:00
Kim Motoyoshi Kalland
5762da38b9 List .pbm and .pgm as supported writable image file formats.
QImageWriter can write .pbm and .pgm files, but didn't list them
among its supported image file formats.

Task-number: QTBUG-22958
Change-Id: I777c7cd9a4b56fcf313248a29a917e594a5e4477
Reviewed-by: aavit <qt_aavit@ovi.com>
2012-07-16 21:36:28 +02:00
Jan-Arve Saether
cbddca5f02 Improve qDebug() << QAccessibleEvent() to display state changes
Change-Id: I4624bcf94c1290d14ea5f5eaaa5449af10ac2186
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-07-16 16:30:55 +02:00
Alexandros Dermenakis
367ab7e9a9 Added a reserved data pointer in QPaintDevice.
Change-Id: If547e5525635e7c76db7a02c7c0c300c87373a18
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-16 14:22:55 +02:00
Jeremy Katz
ab2a6bbca9 Make qwindowsysteminterface.cpp compile with QT_NO_SHORTCUT
Task-number: QTBUG-24816

Change-Id: Ia3d20775d28922ee94f965b4a7bc993915f34d6b
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
2012-07-16 12:14:13 +02:00
Kim Motoyoshi Kalland
c44d7eedfd Fix crash in QPixmap::fromImage() when memory is low.
Task-number: QTBUG-26451

Change-Id: I7149edb1b03d7bcd4e90f369a1ac99b25ab262b9
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-16 10:09:15 +02:00
Eskil Abrahamsen Blomfeldt
28826fe463 Avoid crash when getting bearings from fallback font engine
When accessing a fallback engine, we always need to call
ensureEngineAt() to make sure it's loaded.

Change-Id: Ib27e34137cfe8a3dd2b358aef3b3296a4ca52478
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-07-14 02:41:05 +02:00
Gunnar Sletta
c97104f31e Analog clock and raster window examples
Change-Id: I36586fbaa7da25208bbc1964d2708f094d0d5c98
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-13 09:55:18 +02:00
Marc Mutz
d472db2412 QtGui: normalize signals/slots
This is the result of running util/normalize --modify
from Qt 4.7  with manual review.

Change-Id: I36e54222b27f1e71eb7d89cdfc595177c8d2bdb3
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-13 04:17:37 +02:00
Eskil Abrahamsen Blomfeldt
f94d0ea1dc Fix crash when column is inserted before rowspanned cell
When you're inserting a column in front of a rowspanned cell
and this cell is not the first in the rowspan, we would get
the wrong logical index of the new cell (putting it in
front of the initial cell with the rowspan). If the cell
does not span all rows, the table will get into a broken state
and trigger asserts in update(). To fix this, we search for
the first cell after the insertion point which has a logical
index higher than the cell directly before the insertion point.

Change-Id: I42e91a20d77b2ba9c5607f6cab23f51ed888cbd3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-07-12 18:29:25 +02:00
Girish Ramakrishnan
f56f542294 QPA: pass cmdline arguments to QPlatformIntegrationPlugin constructor
Two observations of the current code:
1. The cmdline arguments are passed as dynamic properties of the native
   interface. This is not optimal. First, the args should be made available
   in the plugin constructor (and thus in the QPlatformIntegration constructor).
   This allows the integration to make decisions when initializing itself.
   Second, the preferred way for apps to query properties from the platform plugin
   should be through the various methods in QPlatformNativeInterface.

   With that in mind, the dynamic property approach should be obsoleted. I have left
   the code as-is for backward compat.

2. The -platform argument is parsed twice. Once in init_platform and then
   again in QPlatformIntegrationFactory. QPlatformIntegrationFactory now takes
   the name and arg list separately.

Change-Id: I6b568ed9e28feeaf036bf340417fa00bdf1b7da3
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-12 14:22:58 +02:00
Sergio Ahumada
59339941e0 Fix some spelling errors
Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-07-11 14:52:37 +02:00
Jocelyn Turcotte
62e6608f69 Add protected virtual ensureActiveTarget() to QOpenGLPaintDevice
Make sure that QOpenGLPaintDevice supports it the same way as
QGLPaintDevice::ensureActiveTarget dit. It is made virtual since the
external code needs to manage FBOs for QOpenGLPaintEngine.

Task-number: QTBUG-25995
Change-Id: Ieed9616f6a14204aae628d7febe6a11538496b3d
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-07-11 14:52:17 +02:00
Friedemann Kleint
e8aa56b74b Add stylehint to use querying RTL keyboard support.
Change-Id: Ic58ed7cb64cc7fe60b4d431e9f29e389c62265fc
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 14:52:17 +02:00
Friedemann Kleint
cf2b5a7722 Clear qt_button_down widget when starting a drag.
Prevent pickMouseReceiver() from using the
widget from which the drag was started.

Task-number: QTBUG-26145
Change-Id: I65d4c295a894193e41c676fb9fd1f7113c2631b5
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 14:52:17 +02:00
Jan-Arve Saether
159b28d972 Remove clipboard operations from QAccessibleEditableTextInterface
Also, remove its subclass QAccessibleSimpleEditableTextInterface

Instead of having the subclass that implements this conveniently,
we move this behaviour over to the bridge. The bridge should
check if role() == EditableText is set, and then it should try to
support the IAccessibleEditableText interface (i.e.
it should accept the calls to replaceText(), deleteText() and
insertText()) and change the text with the following operations:
1. Query the text using QAccessibleTextInterface::text() or by
   using QAccessibleInterface::text(QAccessible::Value) as a fallback
2. Do the requested delete/insert/replace manipulation
3. Update the text with setText(QAccessible::Value, newText);

Change-Id: Iee5e41faf14351951e2bfca8c9eac970a113e878
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-07-11 02:47:34 +02:00
Sergio Ahumada
825cd7b9e5 Change deprecated use of qgenericplugin_qpa.h to qgenericplugin.h
In file included from kernel/qgenericpluginfactory.cpp:46:0:
  ../../include/QtGui/qgenericplugin_qpa.h:4:4: warning:
  #warning Header <QtGui/qgenericplugin_qpa.h> is deprecated.
  Please include <QtGui/qgenericplugin.h> instead. [-Wcpp]

Change-Id: I533270e23e742e6f15ad5d480afb4901fb8541b0
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 02:47:29 +02:00
Jeremy Katz
d3ff621a57 make gui compile with QT_NO_SHORTCUT
The metatype system expects operator<<(QDataStream &, QKeySequence &)
even when shortcuts are disabled. This provides empty definitions for
that case.

Task-number: QTBUG-24816

Change-Id: Ie29fd01d38178bdc31cc51f1f08662b30edfc1e4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-07-10 15:38:58 +02:00
Marc Mutz
6f86fea820 QtGui: declare some classes as shared
Change-Id: I0ebb0ca8b8edcecc939021407d1755693f97e553
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-10 03:26:11 +02:00
Alexey Chernov
2d5d6c8fbc Color transparency support in html import/export
Export of color transparency component is added for cases where color
is exported to html. New static function colorValue() is added to
prepare CSS string representation of QColor. When the color is opaque,
it falls down to QColor::name() method which was used previously,
otherwise it returns 'rgba()' CSS statement or 'transparent' keyword in
case transparency is 0.
6-digit precision is used for alpha value as it's maximum which can be
processed properly by Gecko and Webkit engines
(http://lists.w3.org/Archives/Public/www-style/2009Dec/0295.html).

Import part for rgba() statement was also added to QCssParser. It
supports rgba() color values as stated in CSS Color Module Level 3
(http://www.w3.org/TR/css3-color/#rgba-color).

Import of undocumented statement 'rgba(int,int,int,int);' was also
added to preserve regression test success and to provide compatibility
with previous code relying on this behaviour.

Test cases added to QCssParser autotest for rgba(int,int,int,float)
statement and to QTextDocument autotest for rgba(int,int,int,float)
and 'transparent' statements for certain 'color', 'background-color'
and 'bgcolor' properties.

Change-Id: Id341c4e800249820d52edef8003e50f9a74d062b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-10 03:24:56 +02:00
Marc Mutz
7c8d259231 Q_DECLARE_SHARED: mark the type movable
All implicitly shared classes are by definition movable,
so this patch adds Q_DECLARE_TYPEINFO(Type, Q_MOVABLE_TYPE)
to Q_DECLARE_SHARED.

Change-Id: Idf8989ae1a7ed6d1ac13fccb7eaef7395a875350
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-07-10 03:24:24 +02:00
Konstantin Ritt
917b0df633 Optimize QFontMetrics:: boundingRect() and left/rightBearing()
by avoiding unneeded metrics calculation.
Same optimization for QFontMetricsF.

Change-Id: I7fd0caa2ddb45862ee9e9c0519a71b03bcd0cb6f
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-07-10 03:23:48 +02:00
Konstantin Ritt
98c1eb1750 Optimize Q*FontEngine*::stringToCMap()
by avoiding the glyph metrics calculation when those metrics weren't requested
(QFontEngine::GlyphIndicesOnly flag has been passed).

As a side effect, this fixes a crash in case QGlyphLayout
was initialized only partially (with the glyphs array and the size).

Change-Id: I7d67abc2a74683131361fa21f8be203f61f247bc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-07-10 03:23:43 +02:00
Konstantin Ritt
1db99a6250 Move ShaperFlags enum from QTextEngine to QFontEngine
These flags are specific to font engine(s) and has nothing
to do with the text engine or the text layout.

Change-Id: I4bb793c3c634b3cf0ae0a8a8c23b946fad5874b6
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-07-10 03:23:41 +02:00
Jiang Jiang
aee1702b13 Fix cursor truncate to include line position
Since we could have moved the line position (QTextLine::setPosition),
the truncating position should be adjusted with that.

Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit ca89c49fa2c5cbb3945897046f33eed9f7da846c)

Change-Id: I89ea1a3776a50732181bdfea9e79b4dddef950d4
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-07-09 15:03:56 +02:00
Girish Ramakrishnan
300d984bdb qpa: Fix crash when native interface is null
QPlatformNativeInterface is optional.

Change-Id: Iae2a6de63fc8a36deb6059047a0d7f05defb6b5c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-09 11:49:07 +02:00
Tasuku Suzuki
d04e06dc32 Remove Library dependency on Settings
made QLibraryInfo available with QT_NO_SETTINGS.
QKdeTheme is removed when QT_NO_SETTINGS is defined.

Change-Id: I63d619bb305e6c23985d9ea50c72d39a697b7a4b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 11:18:17 +02:00
Marc Mutz
fa36d81bbc QPalette: add member-swap
Implemented as in other shared classes (e.g. QPen), except that
I wrapped the bitfield in a union to speed up swapping.
(GCC didn't manage to optimize (hand-rolled) swaps of adjacent
bit field elements into an integer one, even at -O2).
GCC -pedantic complains about anonymous structs, so I had to
give the struct in the union a name.

Change-Id: I519e1c2f88f6ae2dffed38b493991189d67073b8
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-06 16:08:02 +02:00
Marc Mutz
7d63fa6edc QtGui: replace some copies with swaps
This provides move speed even for non-C++11 compilers and avoids
having to call the copy assignment operator from within copy ctors.
(which will result in infinite recursion when using the copy-swap idiom).

Change-Id: I379bc8bf2c72d9f986c0f17f9eef56cd592e7a06
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-06 16:08:02 +02:00
Kim Motoyoshi Kalland
d13e3441a9 Fix division by zero in triangulating stroker.
Task-number: QTBUG-15621

Change-Id: I10e0e39e57078507a01e1c2edb59fa52fd932f6c
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-06 13:58:34 +02:00
Kim Motoyoshi Kalland
16f8afa5b1 Remove duplicate triangulating stroker implementation.
Change-Id: I9d8f609c9ecb02dd25e588313bc98db4b9325974
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-06 13:58:28 +02:00
Jeremy Katz
2b1a501ac5 make QtGui compile when QT_NO_WHEELEVENT is defined
This is necesary but not sufficient to make the small configuration
build.

Task-number: QTBUG-24816

Change-Id: I1a06555e6f54f4d3c09a34fd50bf76e7b47d469f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com>
2012-07-06 13:43:11 +02:00
Eskil Abrahamsen Blomfeldt
2f2d6db09a Clean up attribute arrays flags in OpenGL glyph cache
When used in the SceneGraph we're expected to disable the arrays
after we're done, otherwise we'll get a warning about memory corruption
and crashes.

Change-Id: Ie8e426309716bef4b75d79039e8ca0b4943c79e7
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-07-06 01:38:30 +02:00
Jiang Jiang
87fbe79af2 Do not delete m_blitProgram more than once
When m_blitProgram is created the constructor will add it to
QOpenGLContext as a child of that QObject, so it will be deleted
when that QOpenGLContext is deleted as QObject will delete its
children in destructor. Delete it here will cause crash in
thread termination.

Change-Id: If9d3287d159cc3276b6a840a584a1b212b9c9fd0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-05 13:13:58 +02:00
James Turner
76b1df3032 Native drag implementation on Mac
Create a native implementation of QCocoaDrag, using the 10.6 (and earlier) Cocoa
dragging API. This matches the implementation in Qt4 closely for the moment.
In the future it may be desirable to create an alternative implementation using
the new (non-blocking) drag API introduced in 10.7, but that will require deeper
changes to the mime-data handling.

This changes makes one more method on QPlatformDrag virtual, since the
Cocoa behaviour diverges from the base version: ::defaultAction is customised.

Change-Id: I1843293a62b2b4973a07b5e75ea3c312dc064018
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-07-04 18:00:41 +02:00
Jocelyn Turcotte
e78b3e80e6 Properly detect the max texture size when using QOpenGLPaintDevice.
The value is currently hard-coded to 1024, this is a problem since
any image painted with a size higher that this will be scaled down before
being uploaded.

This patch copies the implementation from QGLContext which works correctly.

Change-Id: Ia2bda60cf21d9adf13c91cea4854a2b20e4041f2
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-07-04 18:00:41 +02:00
Girish Ramakrishnan
3517949390 Make QGenericPlugin and QGenericPluginFactory public API
These classes are not specific to QPA.

Discussed in QtCS 2012.

Change-Id: I32bc5fad4f0fa5e7095af86d61966fdf4d9e4ad7
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-07-04 14:40:20 +02:00
Samuel Rødal
32c54642dd Removed private header warning from public QOpenGLPaintDevice header.
Change-Id: I9f2068d7271778e98251d8cbcfffa3a8c3e58f3d
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-07-04 02:46:27 +02:00
Christoph Schleifenbaum
f4dd0828dc Platform-plugin support for QSystemTrayIcon.
Implement QPlatformSystemTrayIcon providing QPA-plugin-support for
system tray icons. Make QSystemTrayIcon use this as new backend.

Ported over qsystemtrayicon_mac.mm to qcocoasystemtrayicon.mm to provide
Cocoa support for the new interface. It had to be changed to match the
interface, especially for icon and menu handling.

This interface is made to not use QStyle or QMenu which are related
classes of QSystemTrayIcon. It's therefore not introducing QtWidget
dependency into the platform plugin.

Task-number: QTBUG-20978

Change-Id: I0d0a73835698b3b4f97219d4f5bbcfa2af57dbe2
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-03 16:48:33 +02:00
Eskil Abrahamsen Blomfeldt
fcef238d3c Remove platform specific DirectWrite font engine from QtGui
This has moved into the platform plugin, but it was still lying
around in QtGui and hindering it from compiling.

Change-Id: I47fa730453cbd8aa230ccc4651afd2e774023db6
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-07-03 14:40:01 +02:00
Konstantin Ritt
ee4f50b2e7 Add QChar::SoftHyphen enum value
Just like for the QChar::ByteOrderMark, `ch == QChar::SoftHyphen`
is much more readable than `ch == 0x00ad // (soft-hyphen)`, etc.

Change-Id: I9c85f14cfd979037d35103c3259a435fd729b869
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-03 14:39:02 +02:00
Girish Ramakrishnan
122741c671 Suppress QWindowSystemInterface inclusion warnings.
Since QWindowSystemInterface is now part of QPA API. The correct
inclusion is:
    #include <qpa/qwindowsysteminterface.h>
    #include <qpa/qwindowsysteminterface_p.h>

Bulk of the work was done by:
    find . -type f | xargs sed -i -e 's,#include <\(QtGui/\)\?QWindowSystemInterface>,#include <qpa/qwindowsysteminterface.h>,g'

Change-Id: If75fc32611e72ef1cf58505794def375b1acf74a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-03 14:24:20 +02:00
Girish Ramakrishnan
f128c1f6d3 Remove _qpa from cpp filenames
36547f4eff removed the _qpa from .h
files and promised to remove it from .cpp files at a later date.

Change-Id: I24a5c3796f6b07dd9a1931b699f3212d315edb12
Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
2012-07-03 08:11:54 +02:00
Damir Tatalovic
614422c2e7 MIPS DSP composition functions optimizations.
List of optimized routines:
- comp_func_DestinationOver
- comp_func_SourceIn
- comp_func_DestinationIn
- comp_func_DestinationOut
- comp_func_SourceAtop
- comp_func_DestinationAtop
- comp_func_XOR
- comp_func_SourceOut
- comp_func_solid_SourceOver
- comp_func_solid_DestinationOver
- comp_func_solid_SourceIn
- comp_func_solid_DestinationIn
- comp_func_solid_SourceAtop
- comp_func_solid_DestinationAtop
- copm_func_solid_XOR
- comp_func_solid_SourceOut

Previously optimized routines qt_blend_argb32_on_argb32_mips_dsp and
comp_func_Source_mips_dsp are redesigned and rewritten.

Overall improvement by running tst_bench_blendbench benchmark app
from tests/benchmarks/gui/image/blendbench/ is 27%.

Change-Id: I6ab09b17cac10f4aded59787074ab4c89e72ccac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-07-03 01:55:44 +02:00
Girish Ramakrishnan
037238022f Make QWindowSystemInterface part of QPA API
As discussed on mailing list and QtCS 2012.

Any file starting with qwindowsystem is now marked as
QPA API.

This change drops _qpa from the filenames and adds gui-private
where required for the code to compile. This change is backward
compatible otherwise and compat headers are created for
the old inclusion headers.

Change-Id: I72ea0f394dee74f46e614fcf11ab5500ac9fef2a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-07-03 01:55:37 +02:00
Marc Mutz
f6f517bc54 QtGui: add member-swap to shared classes
Implemented as in other shared classes (e.g. QPen).

Change-Id: I5b96d4a4795870d6252aa53de6fbaedde7c0095a
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-03 01:20:15 +02:00
Konstantin Ritt
02aee5d174 DirectWrite font engine: don't leak the font table buffer
Ideally, each TryGetFontTable() call sequence should be followed
by the call to ReleaseFontTable() with the context value
taken from the first TryGetFontTable() call,
otherwise we'll leak the buffer allocated for the font table.

Change-Id: I627bf0133b7f61798e82929723ccfb780ce9ee69
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-03 01:08:49 +02:00
Yann Bodson
2ff6086e06 Fix capitalization with newline bug
We only want to change the capitalization if the QScriptAnalysis flag
was Lowercase, Uppercase or SmallCaps.

Task-number: QTBUG-17485
Change-Id: Icbecb09b06a9153866ae81d592b3f6779c2dafb5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-03 01:08:37 +02:00
Konstantin Ritt
fa00407acf shapeTextWithHarfbuzz() minor optimization
If the used font engine is of type QFontEngine::Multi, then we already have
both the "font engine runs" and the stripped glyph indicies for the kerning
-> just call the actual font engine's doKerning() method.
If the font engine is not of type QFontEngine::Multi, then we could safely
avoid the glyph indicies extra manipulations.

Change-Id: Ia8899e6d7beecfd391b050683ac41c21465336e4
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-07-03 00:44:15 +02:00
Thiago Macieira
978937ab4a Make the CPU detection much more efficient in user code
First, check that the option in question hasn't been already enabled
by the compiler, via compiler switches. If it has been, then we don't
need to verify anything, and we can assume that it's safe to use such
instructions. For example, on an x86-64 build, qCpuHasFeature(SSE2) is
always a constant true.

If the compile-time check fails, then we proceed to try and detect the
processor features at runtime. But instead of insisting on a call to
qDetectCPUFeatures, allow the code using the detection to read from a
variable and simply test it for values. Only if the variable isn't
initialised should it make a function call. The Q_ASSUME allows this
code to be very efficient even with multiple uses of qCpuHasFeature.

Change the uninitialised value from -1 to 0 so that simpler
instructions can be used to check for non-initialisation.

The qDetectCPUFeatures function is renamed to qDetectCpuFeatures to
match the Qt coding style and also to catch uses this code that need
to be adapted.

Change-Id: I24ca5a6ad21075e2e249e1a4f8f5057b8f68ce7c
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-02 10:09:31 +02:00
Thiago Macieira
2988c44f76 Don't lower the code generation level options for the compiler
If the default settings already include the necessary flags, do not
override the compiler flags, possibly lowering support. This allows
the user to specify a higher setting for a Qt build, such as what
MeeGo did (it enabled SSSE3 support in all builds).

Additionally, this prevents us from passing -msse2 or -arch:SSE2
options to x86-64 builds, as SSE2 is a mandatory part of that
architecture. This silences a warning from MSVC that the option is
unknown in 64-bit builds.

Change-Id: I6e2969b672bcac87168c245b8be3309e8cc49224
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-01 09:16:42 +02:00
Giuseppe D'Angelo
dba22bc036 Move QStandardItem/QStandardItemModel to QtGui
The dependencies on QFont, QBrush, QIcon are all in QtGui, so there's
little sense to still have these classes in QtWidgets.

This also copies and pastes a version of QWidgetItemData as
QStandardItemData inside qstandarditemmodel_p.h.

Change-Id: Ibafc5a30748e7ce0b54753309ae6dc4a797fc20e
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-06-29 22:42:19 +02:00
Friedemann Kleint
f58e046a61 Add framestrut mouse events.
- Add infrastructure to QWindowSystemInterface.
- Add a setter for enabling framestrut events
  to QPlatformWindow.
- Add Windows implementation, pass keyboard modifiers.

QDockWidget relies on it for docking.

Task-number: QTBUG-26296
Change-Id: I9d84b356e9a5eb341f57b6f51f34b6b494ff7f87
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-06-29 16:22:19 +02:00
Pekka Vuorela
92283176ac Remove deprecated tentative commit from QInputMethodEvent
Introduced and deprecated during Qt5 development.
Change-Id: I5bceefcb5dfc13f8eae2ad22f04feeea5f87dcb3
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2012-06-28 17:15:17 +02:00
Weng Xuetian
4dd2de9c76 Move QPlatformInputContextPlugin/Factory to QtGui
PlatformSupport is no longer shared and there should be no plugin
factory in it otherwise it will break plugin loading.

Since PlatformInputContext is already in QtGui, so move QPlatformInput-
ContextPlugin/Factory to resolve the platforminputcontexts plugin
loading problem. And remove platformsupport-private dependency from
existing inputcontexts plugin.

Change-Id: If4cb766470b8f9c8b72157da86cb33b4e1ff09e3
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
2012-06-28 06:22:03 +02:00
Thiago Macieira
55150f0f0b Move the QDataStream operator<< for QPair to qdatastream.h
QPair is small and is no problem to include from
qdatastream.h. However, including QDataStream from qpair.h means
including QIODevice and QObject too.

Change-Id: I344321e9f68438008ec329a165135c3a346c6058
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-28 06:21:53 +02:00
Gunnar Sletta
50eed2d068 Get started with patching up the Qt GUI docs
Primary goal, make the front page of the Qt GUI module a bit more
clarifying and avoid downstream references inside the Qt GUI docs.

Change-Id: Icbcfbb64b93963add889bf83711daa9575885c02
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-28 06:21:46 +02:00
Albert Astals Cid
175c69108a Add const & to foreach 'iterators'
Change-Id: I8c0600dfd919f45d14a0011f2da9b9fe0b9a0df3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-06-27 14:43:00 +02:00
Thiago Macieira
9a2dca09a3 Remove deprecated method from new class.
I'm pretty sure I've caught all uses of deprecated methods throughout
the Qt codebase, except for the ItemViews changes and for QtWebKit
(which must still compile with Qt 4).

Change-Id: Ic17801b71434fa41c647f97c9e5e4234ad4f9af0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-27 12:39:53 +02:00
Friedemann Kleint
bc8cafcf64 Add QPA prefix and version number to QPA plugin factory interfaces.
The interfaces may change in Qt minor versions.

Change-Id: I43bc6245ddbba8232e00313bdc64e8e60c7eab6f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-27 12:39:53 +02:00
David Faure
2246e48a76 Add QGuiApplication::setApplicationDisplayName.
This is for use in window titles.

Change-Id: I0070a08abd379ae2edcfab4413c182bd9e840678
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-06-27 09:23:15 +02:00
Lars Knoll
3a8d7b0b9a Remove all references to XLFD fonts
XLFD fonts are no longer supported in Qt 5.

Change-Id: I83400dab417c933d5cd956c0d168c45b9d79dab7
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-27 00:46:35 +02:00
James Turner
9315497d2a Convert QPA menus to use QIcon, and enable icons.
Icon support was disabled in QPA menus, now QIcon is in QtGui, convert the QPA interface, enable setting the icon in QMenu, and make the Cocoa implementation use it. (And fix a ref-counting leak if an icon is actually set)

Change-Id: Ica203bf6826b79d8beee58f39febc851b9633a66
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-06-27 00:46:35 +02:00
Morten Johan Sorvig
e1402c0d27 Add a method for querying window activation status from QPA.
Add QPlatformWindow::isActive(), where the platform
can do further isActive tests, and Windows implementation for it.

Change-Id: I1acfc44d3a4ab36a3aaee52fb7b5f5b40661095e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-06-27 00:46:35 +02:00
Samuel Rødal
6874a33a75 Fixed missing way of choosing EGL renderable type with QSurfaceFormat.
This has been long overdue, since EGL now lets you choose between
desktop and ES based OpenGL. We also add OpenVG for those who want to
use raw OpenVG with a QOpenGLContext. The underlying EGL API for using
OpenGL / OpenVG is the same, with eglMakeCurrent() and eglSwapBuffers().

Change-Id: Ib0146b3fde5fe632069ebf99e7712f496ee7ea4d
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-27 00:46:35 +02:00
Robin Burchell
92455dad4d Remove toRect_normalized().
Seems to have been unused since qt4's fde7475bcf9c10522a8170e6eb8fb9a8fadc21cd.

Change-Id: I7ec88fb4ca8c1ffda469a1c048b4fea17ff042bc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-26 14:42:03 +02:00
Friedemann Kleint
8e280d1e18 QPlatformWindow: Add Window masks.
Add functionality for window masks to QPlatformWindow, which is
required to implement QWidget::setMask() in order to fix
the regression in functionality from Qt 4.8.

Change-Id: I2c2d5629f0b4c6d90e52595ad70b13559aab1f41
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-26 14:40:26 +02:00
Thiago Macieira
799f0841a6 Make QRegion not need to be friends with QVector
This hack was introduced in Qt 4.5 and the intention was to resize
(hopefully, shrink) the QVector without causing it to reallocate
memory. We can accomplish the same by reserving the size: until we
clear() or squeeze(), the container will not free memory.

Change-Id: I03a09537a617be0ce865eefa043005e4051e8706
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-26 11:57:51 +02:00
Lars Knoll
b2412843cb Fix docs mentioning Q_EXPORT_PLUGIN2
Fix all remaining places where Q_EXPORT_PLUGIN2
was being used in the documentation.

Change-Id: I7be67b83c18545d0e74f250b4b26583444b01909
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-25 00:19:26 +02:00
Tasuku Suzuki
d2e83f3056 Make qtbase compile with QT_NO_DRAGANDDROP
Change-Id: Ief16e435af6e6d246b84505a1c1208994c7b0b38
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
2012-06-24 21:22:51 +02:00
Robin Burchell
ffa249f9da Remove documentation for QIconEnginePlugin::keys().
Method was removed in dcf3c95175.

Change-Id: I6c01ea7d329e15aec8b4ce29e8d3d5c3e784731a
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-06-24 09:31:57 +02:00
David Faure
3506ee51b2 Docu: fix copy/paste typo
Change-Id: Ie3573ab6983c2b66c66b0f9c342f72018674016c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-22 17:38:59 +02:00
David Faure
ee45201415 QPA docs: list the platform names that the method is likely to return.
Change-Id: Ia98c534fbdb157ff7b2b328a832941772ea833ec
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-22 17:38:59 +02:00
Joerg Bornemann
42dc1c8aef fix doc typo in qwindow.cpp
Change-Id: I0980319e32b94882fe882c57cd8341f6b3e62048
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-06-21 15:21:20 +02:00
Kim Motoyoshi Kalland
fde71d1ae7 Fix possible crash when copying QImage.
Task-number: QTBUG-14766

Change-Id: I82a4736dbd5ac08ede1b2bdccfa29a2009ebb4d8
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-06-21 12:50:08 +02:00
Kim Motoyoshi Kalland
c7e21f3923 Avoid unnecessary detach when saving to BMP.
Task-number: QTBUG-11486

Change-Id: Ic9aa733da4f23dc3eaba111c97a39bfd911f8cb3
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-06-21 09:01:32 +02:00
Konstantin Ritt
ff3a46c482 QTextLayout docs: a minor typo fix
Change-Id: I5e6d02f17e9064afe0c21dda806e67bc14c728b7
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-21 02:52:16 +02:00
Konrad Grochowski
b0a6c521ab proper filling when using Qt::TexturePattern
fix for using both Qt::OpaqueMode and
Qt::TexturePatter for filling

Task-number: QTBUG-19202
Change-Id: Ia92363cacaa51140fe78b542d9768aead81868ff
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-06-21 02:52:16 +02:00
Bradley T. Hughes
cf7c93b928 Change *-clang mkspec globs to *-clang*
Like with the numerous g++ mkspecs, we have mkspecs with suffixes, and
these mkspecs should still match the clang globs.

Change-Id: I9296408b5192bc72cc468d229a57923e3f5ab6f0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-20 15:45:07 +02:00
Girish Ramakrishnan
eff1f61e50 Document and use UserEvent::nullWindow for event delivery
nullWindow is used to track if the window was null when the event
was created. If the window was null at contruction time, the qpa
event delivery code will choose a window to deliver it to.

If the window was not-null at creation time but became null during
the actuall event processing time, the event is ignored.

All the event delivery except the touch event delivery has been
changed to reflect this. I have not changed touch event delivery
because I don't really know what all need to be retranslated into
new window co-ordinates.

Change-Id: Ic62d12a13e70dd4d01226509411817db1b6af108
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-06-20 12:38:32 +02:00
Oswald Buddenhagen
1ee462604b fix misnomer: qt_module.prf => qt_build_config.prf
qt_module suggests to be congruent to qt_plugin.

Change-Id: I629530bcbe2ba6c0adbdc11a275119c8aff0c953
2012-06-19 16:46:08 +02:00
Oswald Buddenhagen
c595988a58 automatically add QT_BUILD_FOO_LIB to DEFINES
Change-Id: I35d9861e48469eb5cc8824e361450684047e6559
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:00 +02:00
Oswald Buddenhagen
6fb0b7f5fc clean up projects from QPRO_PWD nonsense, etc.
Change-Id: I4c41aedf5bfb37e31ad202cacd2312b0bdb168e2
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:45:59 +02:00
Oswald Buddenhagen
131ba187f2 auto-generate QMAKE_PKGCONFIG_REQUIRES and QMAKE_PKGCONFIG_DESCRIPTION
less boilerplate, more accuracy

Change-Id: I6cc2abd50eafb4901d987c122f10a62ec9ea9da3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:45:59 +02:00
Oswald Buddenhagen
0b76b7ab8a auto-generate module pris
Change-Id: I654428771034221ccf424be34d5d9c7764daf3b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:40:06 +02:00
Oswald Buddenhagen
e203e42906 automatically add the version header to HEADERS
Change-Id: I7c2e1d852ebdbc5cca7a3a31ab2b4c9ab9faffd9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:40:04 +02:00
Oswald Buddenhagen
f4b7e33c0b make qt_module_config.prf install the module pri file
absorb module.prf into qt_installs.prf, as that's where it belongs.
add qt_install_module option and automatically set it in
qt_module_config. make qt_installs use that option.

Change-Id: I860616f3a29a456f7b88ddaffa09375400c8911e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:40:00 +02:00
Samuel Rødal
95427b0f40 Fixed QOpenGLFunctions API.
We don't use the GL short term in the new API.

Change-Id: I73a51f65f5f4216c1763b95dcddf68fe8fc229d1
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-18 21:58:30 +02:00
Samuel Rødal
7967cb4f48 Prevent ending up in a state where focus is perpetually grabbed.
Mouse / enter / leave / key events etc are all blocked when a window has
the blockedByModalWindow flag set. The problem appears if a QWindow is
created and only later directly or indirectly parented to a modal window
that's currently showing. Since the decision on whether a window should
be blocked or not is based on its parent / transient parent chain, we
need to reevaluate the blocked status each time the parent or transient
parent of a window changes.

Task-number: QTBUG-26112
Change-Id: Ida6b118b556fe26d17fa86335a0fe7baddc7eaf8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-06-18 21:58:30 +02:00
Jiang Jiang
6da6845f07 Disable hinting for scaled glyphs in FreeType
Scaling hinted glyphs looks ugly, and it makes smooth scaling
animation not possible. Since nothing will work as intended
in hinted mode, we should disable hinting automatically when
glyphs are loaded with scaling transformation.

Task-number: QTBUG-24846
Change-Id: Id7fb5f5bdc2d00be157b0c5d55c316473571473c
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-06-14 10:11:23 +02:00
Konstantin Ritt
09bc8e2cb8 QFontMetrics/QRawFont: Optimize SMP code points handling a bit
Calling QString::fromUcs4() for the single UCS-4 -encoded character is quite suboptimal
since the BOM detections and the resulting QString aren't really used;
all we need is to split the UCS-4 code point into the UCS-2 surrogate pair.

Change-Id: Ia5b68312909bf551cf2493d9e2752a7d7d837fb9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-14 05:22:11 +02:00
Konstantin Ritt
dd68e93de7 Add the AGLFN tables generator, update the tables up to AGLFN 1.7
Task-number: QTBUG-21727

Change-Id: Ib2cacc2a52b2853059d6c873a33dcde735fbe168
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-14 05:22:03 +02:00
Konstantin Ritt
3014c35756 AGLFN: optimize glyph name lookup and reverse map creation
Use binary search in glyph name lookup, drop the linear search sentinel (0xFFFF);
Pass the reverse map by ref, initialize with memset.

Change-Id: I56de64bf2352af0615787e4cc0e13c922c640822
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-14 05:21:54 +02:00
Friedemann Kleint
0137f092af Introduce QPA API for size grip handling.
- Introduce API to do size grip handling (mouse press
  and move).
- Move Windows code to Windows plugin.
- Move X11 code to XCB plugin and activate it.

Change-Id: I2f61d6ddc1fa07447e668554d41ecc820efca23f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-14 03:05:41 +02:00
Sean Harmer
6a66f29ead OpenGL: Update QOpenGLFunctions docs to remove widget code
Change-Id: I4246a49444c09d899f2bd7cd2e9353ee0a6859bf
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-14 03:03:38 +02:00
Gunnar Sletta
8a5af08cf0 Remove downstream documentation references from gui
Change-Id: I6c107ed1f1cabe3713e22ec1c7854d5c07dca4b5
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-06-14 03:03:38 +02:00
Sean Harmer
5eae12ff72 QNX: Enable additional CPU features to be compiled in for QNX
The QNX toolchain can use Neon on ARM and SSE<X> on x86/x86_64.

Change-Id: I36c61fa12b65d806b3cc60a0aefcb63964f9ab7e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-14 03:03:38 +02:00
Girish Ramakrishnan
7020c2fe2a Deliver wheel events when window is null
The generic input plugins do not set the window parameter. So,
use the same technique we use with mouse event handling to determine
the window to deliver the event to.

Done-with: Johannes Zellner

Change-Id: I950c0ad2f330dccfdcc41b8d01f62cd39902bc9c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-06-14 03:03:38 +02:00
Holger Hans Peter Freyther
13074f2ba1 mips: dsp and dspr2 can be enabled separately fix dspr2 only compilation
Separate dsp and dspr2 handling. The configure script allows to disable
them separately and with this patch it is possible to compile a dspr2
only libQtGui.so.

Change-Id: Ifca583c9b46a25c93751967a31ac77eafc5d51e4
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-06-12 17:45:03 +02:00
Yoann Lopes
68c90dd9b3 Make distance field image width variable.
The distance field generator was always returning a 64x64 pixels image.
It now returns an image with a variable width (width of the represented
glyph) and always a height of 64px.

Change-Id: Id5f11a50a8031ebca10cd4803adf179ccde6db26
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-06-12 07:09:54 +02:00
Stephen Kelly
c5665a182d Only quit if there are no visible widgets or windows.
We need to let the QGuiApplication determine whether quitting is appropriate
based on whether there are visible top level QWindows after the last top-level
QWidget was closed.

This solves the issue raised here: http://thread.gmane.org/gmane.comp.lib.qt.user/1880

The transientParent is the QWindow equivalent of parentWidget on QWidget, so the test
in QGuiApplication::shouldQuit is similar to the one in QApplication::shouldQuit.

Change-Id: I500eff8d5887f24415180134b3a4be3c630a896f
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-06-12 04:30:18 +02:00
Laszlo Agocs
f100f84703 Clarify QTouchEvent docs
Mention something about touch handling with QWindow and document the
non-partialness of touch events which has been taken for granted since
4.6, but has not been documented at all.

Change-Id: I9ec75f74153bbc28e146b000d70fb26384e497a3
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-12 04:29:51 +02:00
Thiago Macieira
040f30decd Enable compilation of improved x86 code generation with MSVC
Now that we know the compiler flags for asking MSVC to produce SSE2 code
properly as well as AVX code (technically, just VEX-prefixed SSE2), we
may as well use it.

The SSE2 code generation is enabled by this commit. The AVX one
requires a change to configure to detect the support in the compiler.

Change-Id: Ib6970daaedf450500ee73600e6bf9722eddb9a0c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-12 04:29:47 +02:00
Thiago Macieira
6a51062e99 Move the SSE2/AVX/Neon/etc. flags into the compiler mkspecs
This allows us to have different flags for the compilers for
supporting the same feature. For example, the official flag in GCC to
support AVX2 is -mavx2, but ICC does not support it (yet), requiring
-march=core-avx2 or -xCORE-AVX2. That flag, instead, enables support
for all the features that the "Core-AVX2" processor (codename Haswell)
will support. And clearly, the MSVC flags are different.

Change-Id: I33b6d8617520925e807747180a8dbaafd79b7a9a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-12 04:29:42 +02:00
Thiago Macieira
2176a4f04f Reorganise the painting.pri file after the last round of cleanups
Change-Id: I35f5356fc59d109074d39c4fafd608540743479a
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-06-10 15:56:46 +02:00
Konstantin Ritt
80ceba9a36 QZip: improve reading of zip files, fix some edge cases in writing
This supercede https://codereview.qt-project.org/#change,25111 and fixes
some more cases;
The autotest crash is fixed as well (but the test itself omitted due to
.pro file misconfiguration)

Change-Id: I4a3adde18b4f9a8ac9822f700eee71d2a12b9c2c
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2012-06-08 21:49:58 +02:00
Miikka Heikkinen
f2df9cef75 Fix crash in qt_qpa_core_dispatcher() at application exit.
In some situations it is possible to get events when QCoreApplication
has already cleared the 'self' pointer and will thus not return an
instance. For example, destroying screen at application exit when
there are parentless dialogs open will result in hiding the dialog,
which at least in Windows causes a call to
QWindowSystemInterface::handleExposeEvent() which will need the core
dispatcher down the line.

Fixed the crash by checking if the QCoreApplication instance is valid
instead of blindly using it. This should cause no problem as unhandled
events are simply queued.

Task-number: QTBUG-26061
Change-Id: Ide2350a62208433728e0271192c1da4b1efacc9b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-06-08 18:39:02 +02:00
Frederik Gladhorn
21e0d16411 Remove widgets lib dependency on platformsupport.
Instead of the dependency add the one needed function as virtual to
the QPlatformServices in QtGui.

Change-Id: Ia4455f5ac88ec4d0480bd81635cebba62bbd8ac5
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-08 04:47:59 +02:00
aavit
1f461ac45b Namespace the bundled zlib symbols, to avoid clash with user zlib
When Qt is being compiled and is using the bundled zlib, QtCore needs
to export the zlib symbols, since zlib is needed in other Qt
libraries as well. That gives a danger of a potentially disastrous
symbol clash if the user later on links with both Qt and an external
zlib (ref. e.g. QTBUG-15071).

This commit enables a zlib compilation flag that causes all zlib
symbols to be redefined with a prefix. Hence, they will not clash
with a standard zlib.

A minor drawback is that zlib.h will now have #defines for a few
semi-normal identifiers. Hence, a couple of more changes are done:
In the private qzip code, the identifer crc32 had to be renamed.
QHttpNetworkReplyPrivate needed no change, but as a defensive measure
the #include <zlib.h> is moved from the _p.h file to the .cpp file,
to avoid surprising compilation errors later in code that include
that header.

This commit does not in itself solve the issue of how to let Qt
libraries outside of qtbase use the same bundled zlib, but it is
a prerequisite for that.

Change-Id: If84105901a8c90d35009faffe660c85a6bd2fee5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-08 00:53:10 +02:00
Lars Knoll
0b69385e42 Remove the QFactoryInterface dependency from platform plugins
Change-Id: I4010e59dcd8a790e06bb9a0ccf3cc9a5c7737ed1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-08 00:12:09 +02:00
Lars Knoll
d173da37ee Remove QFactoryInterface from the generic plugins
Change-Id: I5a4351ca4b6605f9628496701bb8c6063cf36c78
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-08 00:12:09 +02:00
Lars Knoll
1402660575 Remove QFactoryInterface from picture plugins
Change-Id: I7b02cbfb850d6a9fc90c1eb1e12a9950baf61e77
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-08 00:12:05 +02:00
Lars Knoll
dcf3c95175 Remove QFactoryInterface dependency from icon plugins
Change-Id: I65bed1646f3c5e89329a6bbe3dcdbdb5660b7004
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-08 00:12:05 +02:00
Lars Knoll
2903db8b4c Remove the QFactoryInterface dependency from accessible plugins
QFactoryInterface is not needed anymore and will get removed soon.

Change-Id: Ib2806200b1a7f4a45d62e2b556380946ef68f585
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-06-08 00:12:03 +02:00
Lars Knoll
c9d040c1f5 Don't inherit from QFactoryInterface for image plugins
QFactoryInterface is obsolete now that we have the new plugins loading
mechanism, where we can get the keys out of the plugin without
having to load it. Remove it from QImageIOHandlerFactoryInterface
as a first step of getting completely rid of it.

Change-Id: I856b149dd20131e1cdcdcb271c1a355c9e0da6ab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-08 00:12:00 +02:00
Konstantin Ritt
88e735c9c9 Shift positions for lineBreakType
to keep them consistent with positions for all other flags.
This changes the internal behavior so that attributes[0].lineBreakType now means
"break opportunity at start of the text (before the first character in the string)"
and is always assigned with HB_NoBreak to conform rule LB2
(see http://www.unicode.org/reports/tr14/#LB2).

The current implementation is based on the sample implementation from tr14
that aimed to be as simple as possible rather than to be optimal.
From now, we can use pieces of the attributes array "as is"
without having to adjust some positions. Or we can analize some long text
by chunks (e.g. paragraph by paragraph) and consume less memory.

This introduces a minor overhead that will be eliminated shortly.

Change-Id: Ic873a05a9d5203b1c3d5aff2e4445a3f034c4bd2
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-07 21:18:36 +02:00
Samuel Rødal
1f9ae50457 Added SpellCheckUnderlineStyle theme hint.
Task-number: QTBUG-25115
Change-Id: I70abbed426ad8bebca51823ed5ce16f2f300b5cc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-06-07 17:41:37 +02:00
Samuel Rødal
80653bf4ce Added QScreen::setOrientationUpdateMask().
It might be too expensive to always have an accelerometer sensor
running, so introduce API so that the application has to explictly ask
to get the orientation updates it's interested in.

Change-Id: Ib7dc5ad8807718409f744ebef53f4476aa05175d
Reviewed-by: Ian Monroe <ian.monroe@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com>
2012-06-06 07:41:17 +02:00
Balazs Kelemen
26d0606bad Export QPlatformIntegrationFactory to make it usable outside of QtGui.
QPlatformIntegrationFactory can be used to load a platform plugin dynamically.
It can be useful for an external platform plugin that want to define some
behaviour on it's own and use the default plugin for the rest. We are going
to implement such a plugin in WebKit for the test infrastructure to tweak
the platform backends in order to provide more platform independent layout
test results.

Change-Id: Iaaabe1cbc173a03132d83474faa7858aead4cae0
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-06 02:03:20 +02:00
Holger Hans Peter Freyther
e1774d2029 Verify the surfaceType before activating the GL context
Verify that the surfaceType() of the QPlatformContext is of type
OpenGLSurface before making the context active. Make it possible
to get the QSurface from a QPlatformSurface, make QPlatformWindow
use that to access the QWindow. Remove the setSurfaceType call from
the eglfs plugin as this hiding a problem.

Change-Id: I08906da052e066bb1f1f042030643c6389ab17d7
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-06-05 18:48:00 +02:00
Stephen Kelly
7d28f7772c Use QPointer instead of QWeakPointer.
The use of QWeakPointer for tracking QObject pointers is to be
deprecated.

Change-Id: If460ca7f515db77af24030152f4bd56e1a5fae7c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-05 18:42:26 +02:00
Kevin Ottens
99b3a15dcf Introduce nativeOrientation() to QPlatformScreen
Now QPlatformScreen has a nativeOrientation() method which default
implementation return Qt::PrimaryOrientation. Its purpose is to return
the native orientation of the device (e.g. when the device logo is right
up).

Only the QPA backend can know for sure what this native orientation is,
so allow QPA backends to override it with a finer result.

Change-Id: I3bef14acb6b8568e64398ff919d9cb4461a2c9cc
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-05 16:01:29 +02:00
Laszlo Agocs
a3768cb3bd Add StartDragVelocity to style hints
This will be used by Flickable in combination with the drag distance
to improve the drag start detection logic.

Change-Id: Ica30042ef3d15041d857b07fa4173dde3d3f900f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-06-05 09:02:55 +02:00
Thiago Macieira
006edbd0d9 The QFontEngineFT files are not built into QtGui anymore.
These files are only built into QtPlatformSupport, so the Q_GUI_EXPORT
macro is now wrong. Remove it.

Additionally, since these files are built into QtPlatformSupport, the
windows platform plugin does not need to build them again.

To-Do: move the files to src/platformsupport/fontdatabases

Change-Id: I9d69b97ca25ee52ab627cfa633f43b277acc5e05
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-06-05 06:14:19 +02:00
Kim Motoyoshi Kalland
8dd443034d Add method to set size of QOpenGLPaintDevice.
Change-Id: Iecc72c64dbb5f35ee41bdeb960bc759cd43b8bcb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-06-01 13:06:24 +02:00
Rohan McGovern
26ea987a66 Fixed compile on Windows without precompiled headers
Added missing header.

Compile failure is only reproducible when precompiled headers are
disabled.

Change-Id: I0fb2e51b3352ebad3b7b5b58898347605b8d5090
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
2012-06-01 03:16:01 +02:00
Thiago Macieira
05dc32ef6c Fix the confusion caused by the QT_ALWAYS_HAVE_xxx macros
The QT_ALWAYS_HAVE_xxx macros are gone: they were hard to use and not
defined properly. It indicated that the compiler was producing code
that required that particular instruction set, so we could use it in
our code unconditionally. Instead, let's use the GCC-style __SSE2__
and __ARM_NEON__. MSVC does not generate the __SSE2__ macro, so let's
do it for the compiler. Also, define __AVX__ and the macros for the
technologies leading to it when we manage to detect an /arch:AVX build
(currently not possible, see note in the header).

ICC and MSVC allow one to use the intrinsics anywhere, but for Qt all
uses of the intrinsics are either in specially-built files, protected
by runtime checks, or they are unconditional (qstring.cpp). So we only
use the intrinsics when the compiler was instructed to generate code
for that instruction set anyway.

Change-Id: If8382f30422cee0e5831d051b003acf036824abf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-31 17:55:43 +02:00
Thiago Macieira
398c8513b1 Overhaul the qsimd_p.h: rename macros and update conditionals
The QT_HAVE_xxx macros are replaced with QT_COMPILER_SUPPORTS_xxx.
They indicate that the compiler supports those intrinsics, but not
necessarily that they can be used right now.

ICC and MSVC allow one to use the intrinsics anywhere, but for Qt all
uses of the intrinsics are either in specially-built files, protected
by runtime checks, or they are unconditional (qstring.cpp). So we only
use the intrinsics when the compiler was instructed to generate code
for that instruction set anyway.

Change-Id: Ie58eebbc0518ad1d5420a85174fd84153bb9abaa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-31 17:55:37 +02:00
John Layt
f70924e9cc QtPrintSupport: Add CUPS printsupport plugin
Move CUPS code around to create a new CUPS printsupport plugin, this
fixes QPrinterInfo for CUPS which depends on the plugin to work.

It QT_NO_CUPS is defined then the plugin is not built and only Print
to PDF is supported under Linux.

* Move unused genericiunixprintersupport plugin to start new CUPS
  printsupport plugin
* Split QPdfPrintEngine to create QCupsPrintEngine
* Remove LPR related code from QPdfPrintEngine
* Move CUPS specific code from plugin base class to derived CUPS class
* Remove forcing CUPS print engine to use PDF mode as PDF is now Native
* Move qt_getCupsPrinterPaperSizes from qprinterinfo_unix to
  QCUPSSupport
* Remove qprinterinfo_unix as no longer used
* Remove all QT_NO_LPR uses

There is now no CUPS specific code left in printsupport/kernel except
QCUPSSupport which is needed for the dialogs.

Task-number: QTBUG-23060

Change-Id: Ie8fa4512a2424edc8943068e0fa9fb714cc42db9
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2012-05-31 17:40:55 +02:00
Girish Ramakrishnan
94492d88a7 Remove QCursor::handle
This used to be the Qt/Embedded's QCursor handle implementation.

Change-Id: I31b8ed44ac9325defcb13d887949d9536a262be8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-31 09:13:01 +02:00
Girish Ramakrishnan
8d27345327 QCursor: Remove doc of obsolete functions
These functions don't exist in QPA land.

Change-Id: I50c0588cf03ed64878c8ed864dc18a7558b20156
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-31 09:13:01 +02:00
Laszlo Agocs
b551d5e4f7 QPA tablet event support
Should be sufficient to allow implementing the actual functionality in
xcb/cocoa/windows to match the Qt 4 level of tablet event support.

Task-number: QTBUG-25864
Change-Id: Iebcca256dfba841d8976b58fda1b76026d3133a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-31 09:13:01 +02:00
Girish Ramakrishnan
ce7b3c9720 Remove QRegion::handle
This function is unavailable in QPA land (it currently returns
the QRegionPrivate as the handle()).

Change-Id: I4e81e29d4546a4737c1aaab4ee1fb97e28a473f5
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-05-31 09:13:01 +02:00
Girish Ramakrishnan
7a2f63feb6 Remove QFont::handle
This function is unavailable in QPA land.

Change-Id: I43bb95d64e3abaa2fbcd8de07ca39c1d28f46f42
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-05-31 09:13:01 +02:00
Jiang Jiang
604fe65cb3 Eliminate a warning in unsigned integer comparison
The length we cast is from int QTextEngine::length() so it's safe
to do so.

Change-Id: I60fdbcb5a96c99b767093102a30e97951ef5b6ea
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-31 02:06:42 +02:00
Bradley T. Hughes
6deebc8170 Compile with clang when C++11 support is enabled
text/qtextdocument_p.cpp:1070:43: error: non-constant-expression cannot
be narrowed from type 'int' to 'quint32' (aka 'unsigned int') in
initializer list [-Wc++11-narrowing]
text/qtextdocument_p.cpp:1070:43: note: override this message by
inserting an explicit cast

Change-Id: I16127aef2171324135b5c0c2ac611b8b4f03d7b7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-30 19:30:58 +02:00
Jędrzej Nowacki
d17cf14185 Implement QVector with QArrayData interface.
Change-Id: I109f46892aed2f6024459812d24922b12358814d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-30 17:07:27 +02:00
Jiang Jiang
5131aefc1f Fix text decoration width rounding
width passed in qreal should be set with setWidthF instead of
setWidth, otherwise the fractional part is lost.

Also remove the raster paint engine hack that has been removed in
Qt 4.8, it's no longer needed.

This fixed the drawUnderline and drawRightToLeft auto tests in
tst_qglyphrun.

Change-Id: Iace46fc27ff156c07fb4d08a145269fad36e9fdb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-30 16:34:25 +02:00
Konstantin Ritt
32c39330ef Introduce QUnicodeTools
Add QUnicodeTools namespace and rename qGetCharAttributes to initCharAttributes;

Make it possible to disable tailoring globally by overriding
qt_initcharattributes_default_algorithm_only value
(useful for i.e. running the specification conformance tests);

This is mostly a preparation step for the upcoming patches.

Change-Id: I783879fd17b63b52d7983e25dad5b820f0515e7f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-30 01:54:45 +02:00
Lars Knoll
de255a8caf Remove QUpdateEvent from the public headers
It's only used internally in qwidget, so it might as well
live in qwidget_p.h.

Task-number: QTBUG-25070, QTBUG-25373
Change-Id: I87770e0b49253b4bdebe90ce84dd42448d6175bd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-30 01:54:45 +02:00
Eskil Abrahamsen Blomfeldt
770e0bb756 Add some batching functions to QPlatformSharedGraphicsCache iface
This adds some pure virtual functions to the interface to enable
batching requests.

The interface functions no longer need to be invokable, as
invokeMethod() is too slow to be used at the required frequency
anyway.

Change-Id: I89b607de1a28f3f4b728c334c04bcd443d4366b4
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-05-30 01:54:45 +02:00
Holger Hans Peter Freyther
b7104d6645 Document QWindow's setSurfaceType and setFormat update behavior
QWindow::setSurfaceType and QWindow::setFormat do not re-create
the QPlatformWindow. Attempt to document this behavior and point
to the documentation of destroy() and create().

Change-Id: Idf7eb343d4918a45b5a701effe3263145a33790a
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-29 23:38:13 +02:00
Lars Knoll
4d0424b671 Ask the platform drag for the correct default drag action
This fixes a remaining feature regression from Qt 4.x, where the
dragmanager also determined the default action for a drag given
the set of supported actions and the keyboard modifiers.

Task-number: QTBUG-25373
Change-Id: I80b23b135ba218eb5b7ccc692f12140477bc7809
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-29 20:13:03 +02:00
Giuseppe D'Angelo
358f78f215 QtGui: remove \link usages
Change-Id: Ib8cca14a8fa35fbc631bfea9b4873225eac3677f
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-29 11:35:21 +02:00
Konstantin Ritt
09f20e75a4 Replace const QLatin1String & with QLatin1String where appropriate
Task-Id: QTBUG-24502

Change-Id: I360dee4dc68c165de0631ce4cf34e76fd873080e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-25 21:49:21 +02:00
Thiago Macieira
7c1e0fef8e Gestures & events: compile with QT_STRICT_ITERATORS.
There are a few mixed up iterators that needed cleaning up. We're
missing a constUpperBound and constLowerBound function, though...

This commit sneaks in one change to qtextformat related to
QT_STRICT_ITERATORS but not to gestures and events.

Change-Id: I8c7c840fb5f46c790adbf52952c6009c5b5f2f43
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
2012-05-25 21:46:55 +02:00
Konstantin Ritt
79ab7c170d Fix potential access beyond the array end
addNextCluster() advances position up to "end" that equals to
eng->layoutData->string.length() if current script item is the last one

Change-Id: I173286f3002c9c64dd1a89b902958699b6273d68
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-05-25 17:23:20 +02:00
Corentin Jabot
ce3d1a153a Implement QWindow::setWindowIcon
Since QIcon has been moved back to QtGui, QWindow::setWindowIcon can
use it. That way, the api is exactly the same as in QWidgets and one
can deal properly with multi-sized icon.
I added a getter so the api is consistent with QWidget
(Maybe there should be properties for windowIcon and windowTitle)

Change-Id: I2f463dbe39673f41a3201ef8fed27b3fcac2125f
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-24 20:20:52 +02:00
Sean Harmer
66e68b79c2 QPA: Refactor QFileDialogPrivate::qt_clean_filter_list for QPA
Allows QFileDialog and QPA plugins to access this helper function.

Needed by the Cocoa and QNX plugins. This commit fixes up the
Cocoa plugin. The QNX support will be in a follow-up commit.

Change-Id: I8dd08a9f3dc27d85edd0dc9dad9629406c1e677a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-24 17:46:15 +02:00
Kevin Ottens
600eee0481 Provide convenience method to resize maximized windows
Maximized/fullscreen windows geometry should follow screen geometry,
so provide a convenience method implementing this behavior. It is
meant to be used in platform plugins where the platform doesn't
automatically resize said windows on screen geometry changes.

Change-Id: Id9128fee1ddf587a7d96aa294d2d1e6eb6d6d11b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-05-24 14:46:48 +02:00
Girish Ramakrishnan
375b464db4 remove exec-bit from qplatformmenu.h file
The file was added with 'x' bit incorrectly in 1f55af8.
It was then changed to the correct mode in 6af65edcb.
But it got back the 'x' bit again in 98dbaec.

Change-Id: I55f267935c17e133ad593f027f795a9ec381fcaa
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-05-23 20:18:46 +02:00
Laszlo Agocs
cd8ff4fa8f Fix wrong local positions in mouse events when no tlw was given
Calling handleMouseEvent() with w == 0 implies that the local position
is bogus and instead it should be calculated from the global position
once the target window is known.

Change-Id: If173d0570f6dcc8b7bc5d6f21fa1f69d06d9d702
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2012-05-23 19:22:34 +02:00
Morten Johan Sorvig
98dbaecf7f Minor QPlatformMenu API cleanup.
Make the QPlatformMenu* classes abstract with
pure virtual functions. Delete qplatformmenu_qpa.cpp.
QtGui no longer has to carry the empty implementations.

Change the inheritance tree - Make QPlatformMenu
and QPlatformMenuBar inherit QObject instead of
QMenuItem. Add (now) missing virtual functions to
QPlatformMenu. The effect of this change is to 
reduce the number of pure virtuals the platform 
has to implement.

Change QPlatformMenuBar::syncMenu to take a
QPlatformMenu pointer instead of a QPlatformMenuItem*
pointer.

Fix a couple of header/unused variable
compiler warnings.

Change-Id: I77450e40c6aae26f3e1aca204603acebd242c036
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-05-23 10:02:11 +02:00
Tasuku Suzuki
3a14f0301c Fix QtGui compilation for -qconfig large
Change-Id: I118a9b40c9eef821b326ee9dabbb9765d65277b7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-23 01:11:34 +02:00
Girish Ramakrishnan
6af65edcb6 qpa api: replace QPA headers with something more benign
The current 'we mean it' headers are considered too aggressive for QPA.

Replaced using the following script.
for file in `find -type f -name "qplatform*.h" -and -not -name "*_p.h"`; do
    LINE_NO_1=`grep -n -m 1 "W A R N I N G" $file | awk -F ':' '{print $1}'`
    LINE_NO_2=`grep -n -m 1 "We mean it." $file | awk -F ':' '{print $1}'`
    if [ -z "$LINE_NO_1" ]; then
        LINE_NO_1=`grep -n -m 1 "#define " $file | awk -F ':' '{print $1}'`
        LINE_NO_2=$((1+$LINE_NO_1))
    else
        LINE_NO_1=$(($LINE_NO_1-2))
        LINE_NO_2=$(($LINE_NO_2+2))
    fi
    head -n $LINE_NO_1 $file > $file.new
    cat >> $file.new <<EOF
//
//  W A R N I N G
//  -------------
//
// This file is part of the QPA API and is not meant to be used
// in applications. Usage of this API may make your code
// source and binary incompatible with future versions of Qt.
//
EOF
    tail -n +$LINE_NO_2 $file >> $file.new
    mv $file.new $file
done

Change-Id: I8a974c9bf8942647b7ad950afb372c1f738aa725
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-22 20:56:38 +02:00
Thiago Macieira
ec2245158f Remove -Winline from the build of SSE2/AVX/etc. sources
If anything, those are development flags. Normal users of Qt should not
be bothered by the lengthy output this flag produces

Change-Id: Iaa629d3f01ddc88e0775f62ffbb96fa734e3247f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-22 20:56:38 +02:00
Thiago Macieira
6499701bd6 Make sure we are using the proper -mXXX options
If $(CXXFLAGS) contains -m options (-march or -msse2, for example),
those would override the options we had set. It's amazing no one has run
into this problem before.

Change-Id: Idc765cb2dafd1381357da15593b2fe94a30e0857
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-22 20:56:38 +02:00
Thiago Macieira
9b94570fdf Add AVX support for the painting and image code.
There are no new routines, this is just the old SSE2 and SSSE3 code
compiled in AVX mode, meaning the instructions use the VEX prefix.

Change-Id: I79a8bfaf6b30a050618db899f5a3bbc220449f0b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-22 20:56:38 +02:00
Jan-Arve Saether
018cb899d4 Replace (un)checkAction with toggleAction (3/3)
Remove all references to (un)checkAction.
This commit finalizes the intended change.

Change-Id: I79d3b30b5c3d9fbe276c2c94fed5971bb21d6c02
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-22 20:56:38 +02:00
Laszlo Agocs
0390b02a7f Add mouse event internal members needed by declarative
In order to remove QQuickMouseEventEx we have to be able to store
touch-related data, like capabilities and velocity, also in mouse
events. However they should not be exposed through the public API in
any way. (at least not in 5.0)

Change-Id: I7774b9ea00074950208559463249fbdcaeeaefbf
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-22 20:56:38 +02:00
Jan-Arve Saether
c47f220f1a Replace (un)checkAction with toggleAction (1/3)
Add toggleAction to QAccessibleActionInterface.

This change is split into separate modules, thus we have to be careful
of not breaking qtdeclarative, which currently depends (un)checkAction.
Therefore we apply the patches in this order:
1. Add toggleAction to QAccessibleActionInterface (in qtbase)
2. Replace all references to (un)checkAction with toggleAction
   (in qtdeclarative)
3. Remove all references to (un)checkAction (in qtbase)

Change-Id: Ib00fee3139eeabbece97295bc3d713ab119c92e6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-22 09:54:18 +02:00
Konstantin Ritt
a40e0f6c7a QTextEngine: minor clean-up
Change-Id: I7e21d5cf0130b412f8053b35abdd3420ed006c1c
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-22 09:17:34 +02:00
Friedemann Kleint
33fb856a6d QCssParser: Remove temporary structure storing QIcon data.
This is no longer needed after QIcon moved to QtGui. It is a
revert of 5a0eb4e768, compile
fixes and uncommenting of commented-out code.

Change-Id: I6cfe6d2582b3e37161862a28e55cc3b010e18a8b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-05-21 16:02:06 +02:00
Laszlo Agocs
40a96e136c Remove a line of garbage
Change-Id: Iae931b4a944abe29097dc30f97099e9aeaa9387c
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2012-05-21 13:00:53 +02:00
James Turner
1f55af8e54 QPA menu abstraction, originally based on Morten's work
Create a QPA abstraction for native menus, derived from the
Cocoa support in 4.8, but with the expectation to support
other platforms too. Update the QtWidget QMenu and QMenuBar
code to maintain their QPA equivalents if they exist.

Change-Id: Id605de3da8811dc832bf48b35f9107778ad320ff
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-19 01:45:04 +02:00
Olivier Goffart
8df298665a Move QIcon metatype handlers back to QtGui
QIcon has been moved back from QWidget to QtGui, so the QIcon QVariant
and QMetaType handler can now be moved back to QtGui.
Also we can give back QIcon its old number, allowing to get rid of some
compatibility hack when unstreaming QVariant

Change-Id: I439d5c2987c06ecd619f394407850f678164afb8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-05-18 21:42:58 +02:00
Olivier Goffart
6c06e14a49 QIcon: move back to QtGui
-  Move the files and tests
git mv src/widgets/kernel/qicon* qrc/gui/image/
git mv tests/auto/widgets/kernel/qicon/ tests/auto/gui/image/

 - update the include of QIcon
git grep -O"sed -i s,QtWidgets/qicon,QtGui/qicon," "QtWidgets/qicon"
git grep -O"sed -i s,QtWidgets/QIcon,QtGui/QIcon," "QtWidgets/QIcon"

 - Adapt QIcon \ingroup documentation
sed -i s/QtWidgets/QtGui/ src/gui/images/qicon*

 - Adapt export macro
sed -i s/Q_WIDGETS_EXPORT/Q_GUI_EXPORT/g src/gui/image/qicon*

 - Update .pri and .pro files

 - Remove the use of QStyle::alignedRect by copying its content (and
   adapt slightly

 - Use QGuiApplication::palette() instead of QApplication::palette()

 - Add a hook in QGuiApplicationPrivate to call the
   QStyle::generatedIconPixmap() from QtWidgets

Another commit follows to adjust QMetaType::Icon and move the QVariant
and QMetaType icon handler back in QtGui

Change-Id: I1b63759f892ebc02dfc30f41bb6e76e0b7451182
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-18 21:42:38 +02:00
Jiang Jiang
a56ee60791 Fix FreeType glyph caching for high resolution
For high resolution or extremely large font sizes, the advance
cached here is likely to overflow, since FreeType returns 26.6
fixed point value and we only take signed char here for advance.

In those cases we should skip caching because there won't be
that many big glyphs after all.

Also move the metrics caching block a bit down to take glyph
embolden and oblique into account.

As a result we also don't need to increase the linearAdvance
size because any linearAdvance less than 128 should fit in
the old 10.6 fixed format.

Change-Id: Ic4920ada49954ce1e0a8673c9f33f30e385e3046
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-18 10:39:49 +02:00
Aaron Kennedy
a5972f8ec3 Avoid qobject_cast
This is slightly faster, and also avoids accessing the object's meta
object that would cause any lazily created meta objects from being built.

Change-Id: I0a78e09511c120bdbe707a1efc91ba480ab7680c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-05-18 10:37:33 +02:00
Thiago Macieira
6d7b003ac8 Clean up some QT_HAVE_xxx macros in qcompilerdetection.h
We no longer have code doing MMX or 3dNow! on Qt 5, so nothing defines
those macros. If nothing defines them, we don't need to undef
them. Note that the SSE case is a mislabel: the old "SSE" code on Qt 4
wasn't real SSE, it was MMX with some instructions added at the same
time as SSE was added. It's MMX that Windows 64 doesn't support.

As for QT_HAVE_ARMV6, this macro is replaced by the sub-arch detection
in qprocessordetection.h.

Change-Id: Ic3b00e1533e6b4cea32ba7824233de0a5c0fb32b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-18 10:33:56 +02:00
Konstantin Ritt
8babea35dd add some more widely-used QChar::SpecialCharacter enum values
Change-Id: Iad58f4366ba6cd6da29a268c56c8a4bc4cf0329c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-17 05:14:36 +02:00
Andrew den Exter
d07982b104 Fix cursorToX for right to left text with trailing whitespace.
QTextLine::cursorToX returned the line width for cursor positions
outside the width of a wrapped right to left line because the
leading space width was always calculated as 0.

Returning a non-zero width for the leading space does cause
problems for other uses of QTextEngine::alignLine() though
as the textAdvance already doesn't include the leading/trailing
space so subtracting it there double accounts for it.

Task-number: QTBUG-24801

Change-Id: I56cbb139814c32813bebb49de8c045b29154a958
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-05-17 04:47:32 +02:00
Konstantin Ritt
279562172d enable the text layout's cache where it is seems to be missed
e.g. in QStaticText, the data is used just to get the line's y-position
and re-calculates just after the loop to determine the bounding rect and to draw the text;

in QWidgetLineControl, the data re-calculated over and over while the result
is seems to remain the same; probably the caching is needed here too

Change-Id: I0f7eb291532f63eccb9c5f749daebb73ff90632f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-16 19:38:01 +02:00
James Turner
617c026d65 Add focusWindowChanged signal to QGuiApplication
Required for Cocoa platform menus support, we need a
way to update state after focusWindow() result changes.

Change-Id: Idc573888c3d75bcbff2252e243c4b57b15fc2fcd
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-16 19:36:48 +02:00
Damir Tatalovic
7f3f3a0858 MIPS DSPR2 optimization of routine fetchUntransformedRGB16
Change-Id: I109deb969009214c4d81677e127f50120443acd2
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-16 04:25:04 +02:00
Eskil Abrahamsen Blomfeldt
4959e6af8e Support specifying fallbacks in font request on QPA
Because the QPA font database would query fallback families inside
findFont(), support for requesting multiple font families in order
of preference (like QFont("Times New Roman, Arial")) did not work,
because the Arial fallback was never attempted. To fix this, we
pass in the queried fallbacks and make sure they are tried before
any platform specific fallbacks.

Task-number: QTBUG-20986
Change-Id: Idb2b717856f013ce2874f00a8debaff60176d2fc
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-05-16 04:24:58 +02:00
Konstantin Ritt
3cfcceae43 QJpegHandler: add an embedded text support
texts for the textKeys are stored each in a separate COM(ment) section
so that the maximum text's size is almost 65KB

Task-number: QTBUG-10568
Task-number: QTBUG-111

Change-Id: I7d693741e10e5d78d497cb0af448160077350bb2
Reviewed-by: aavit <qt_aavit@ovi.com>
2012-05-16 04:24:50 +02:00
Girish Ramakrishnan
32c517c990 Fix QPA files inclusion headers
find . -name "*.h" | xargs sed "s/^#\(.*\)_QPA_H/#\1_H/" -i

Change-Id: Ifa96f8cfcb67070a961c7e5f05719b82653a1174
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-15 04:57:40 +02:00
Casper van Donderen
653bca19c7 Doc: Add a default license footer.
The CSS for the footer is not completely correct, but at this
time it is better to have something than nothing.

Change-Id: I7371e1e458a2abafcdb0fca5564ad73e209d64c3
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-05-11 17:39:13 +02:00
Jiang Jiang
01650d0dc7 Fix font engine dependent text transformation
The font engine used in supportsTransformation() should be the same
as the one used in drawCachedGlyphs. If it's a multi font engine we
should check the primary font engine inside it.

Change-Id: I384aab3c58edfe2e7ae6fe7fe96bef766053d3ef
Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
2012-05-11 17:39:13 +02:00
Christoph Schleifenbaum
358fd91951 Make QFileOpenEvents delivered again.
Create a FileOpenEvent within QWindowSystemInterfacePrivate and handle
it in QWindowSystemSystemInterface and QGuiApplication

Change-Id: Ie777c923958d83d56e8648c9bfb1f9dcb985654d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-11 15:11:20 +02:00
Marius Storm-Olsen
ad97aba452 Doc: Fix \sa usage
Ensure comma between elements (757 missing), single space and curly-
braces around title elements, etc.

Change-Id: Id16c3fda7fc47a12a0682f8720214f4990609a97
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-11 01:42:02 +02:00
Jiang Jiang
2b39093d2f Do not use charset loaded by fontconfig
The only use for storing charset loaded by fontconfig in font engines
is for determine if a font supports certain codepoint, however FreeType
already does that. The charset loaded is sometimes not complete, for
instance in fontconfig 2.9.0 it removed Apple Roman platform support
for cmap loading, thus results a regression in common symbol fonts
(Wingdings, Webdings) rendering. Because those symbol fonts produced
by Monotype only contain two cmap tables: Apple Roman and Microsoft
Symbol, since the Microsoft Symbol table has a weird 0xF000 offset,
we always fallback to the Apple Roman cmap table.

Removing freetype charset cache also make each font engine consuming
less memory.

Change-Id: I88f3f44981f3a1c517b84809a3f5b834ffff7681
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-11 01:42:02 +02:00
Friedemann Kleint
8b9668c633 Fix deprecation warnings in QtGui, QtPlatformSupport.
Change-Id: I355a059c5311928301907d5d1e3ecce00a94341d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-10 22:56:52 +02:00
Konstantin Ritt
cbfdec6603 move the default text breaking algorithm impl from HarfBuzz to Qt
there are several reasons to do this:
* text breaking is not a shaper's job;
* since the text breaking rules are bound to a specific Unicode version,
  updating Qt's internal unicode data would require updating the data in HB as well;
* makes porting to HurfBuzz-NG some easier

Change-Id: I0bbf8e8a343bc074696f4ddf2ae4e7fa32a61629
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-10 11:34:25 +02:00
Marius Storm-Olsen
2d23374a6f Merge "Merge branch 'docs-refactoring' into master" into refs/staging/master 2012-05-10 11:34:25 +02:00
Marius Storm-Olsen
9456528aac Merge branch 'docs-refactoring' into master
Change-Id: Iebd1966abace3cdf7f9428dcfc1ded5b124ab113
2012-05-10 09:11:23 +02:00
Bradley T. Hughes
5f43422ddf qpa: Remove QPlatformDialogHelper::deleteNativeDialog()
This function isn't really needed. The QDialogPrivate destructor deletes
the platform helper, so the QDialog destructor does not need to do it.
Subclasses of QPlatformDialogHelper are now responsible for deleting any
native resources they create.

The one place in QFileDialog that needs to recreate the native dialog
can simply recreate the helper. QDialogPrivate::deleteNativeDialog() now
becomes QDialogPrivate::deletePlatformHelper(), which resets all state
to allow the platform helper to be recreated.

Change-Id: I58adfe8801e02e63b3cb4a9a3a0b8cb5b3c7b161
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-10 06:56:20 +02:00
Bradley T. Hughes
d223b30c42 qpa: Clean up QPlatformDialogHelper API
Remove the _sys suffix from all members of QPlatformDialogHelper and its
subclasses. The QPlatform* class prefix already implies that these
methods are system specific, we don't need the method suffix as well.

Change-Id: I5ad1f928fab3a989992951acc244915e7fa48d32
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-10 06:56:04 +02:00
Eskil Abrahamsen Blomfeldt
602203cf06 Don't ignore default font's font capitalization in QTextDocument
The consequence of this was e.g. that it would be impossible to
set the capitalization of TextEdit elements (or Text elements
with RichText format) in QML.

Change-Id: Ie219fac7e4305efc59a4ac9da5b06c25ff3ac9ac
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-05-10 02:39:30 +02:00
Casper van Donderen
47799adc0d Doc: Move some remaining files over for modularization.
The files in this change were still in qtbase/doc/src or required for
it. qtbase/doc/src should now only contain example documentation and
images for the example documentation.

Change-Id: Ia7ca8e7fd2b316e77c706a08df71303bc8294213
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-05-09 22:43:31 +02:00
Bradley T. Hughes
ab947649eb QPA: Cleanup native dialog modal execution
Remove the _q_platformRunNativeAppModalPanel() function, together with
the launchNativeAppModalPanel() signal and
emitLaunchNativeAppModalPanel() slot, which were previously used to run
the modal loop inside the QDialog::exec() loop. This trick isn't
necessary anymore, so remove the mechanism and code related to it.

Rename QPlatformDialogHelper::platformNativeDialogModalHelp() to
exec_sys(). This function is now responsible for both showing the native
dialog and running the modal loop. QDialog:exec() now calls this
function if a native dialog is in use (it does not call
QEventLoop::exec() anymore).

The dialogResultCode_sys() function was unused, so it has also been
removed.

This commit also removes some unused private slots that were left over
from the port to QPA.

Note that the comments in the Cocoa plugin are still valid and relevant,
but this commit does not fix the scenarios mentioned. This will be done
in a future commit.

The Windows plugin needs minor changes. The QueuedConnections to
accept() and reject() cause the deliver to come too late, resulting in
crashes, hence the change to AutoConnection (which ends up being a
DirectConnection).

Change-Id: Ifc90325c945ca78737e60bf331929f03ecc52e0a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-09 13:42:03 +02:00
Friedemann Kleint
4e4403d69c No longer use deprecated methods for plugin loading.
Change-Id: I19c66b1c41ea4dd236726c86d7d071b210ec9244
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-09 13:40:23 +02:00
Casper van Donderen
a4d07f6c0b Doc: Add "make docs" targets for libraries.
Change-Id: I249c238f4986f443f84aaa6a3ac4ce102abff4db
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-05-09 08:37:35 +02:00
Casper van Donderen
cfdc5628b1 Doc: Modularize QtGui documentation.
This change moves the snippets and images to the modularized
directories.

Change-Id: I5f86f598fbe7c47d632c613b85d94ced89ba2c29
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-05-09 08:36:34 +02:00
Konstantin Ritt
7fbc80f0eb QTextEngine: simplify the code a bit
by using QVarLengthArray so we can avoid the manual clean-up code.

Change-Id: I35e2f7150d777c1760f722553e6fe7a20f6ecc46
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-09 02:28:49 +02:00
Lars Knoll
3db8f5fbb3 Remove qplatformdrag.h dependency in qguiapplication_p.h
Including a qpa/ header here doesn't really work very well
for other modules using qguiapplication_p.h.

Change-Id: I7620b40bc4731d5a74fe11537637f376c578a786
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-09 02:28:39 +02:00
Friedemann Kleint
e996009eb7 QPA: Add a themeHint for the animations.
Introduce a flag matching the Qt::UI_Effect enumeration and
return it as hint.

Replace the separate boolean flags in QApplication by a single
integer using the flags.

Change-Id: I29e33d4d23d13723ddb1b3f62fe781b9c0747572
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-05-09 02:28:31 +02:00
Samuel Rødal
f280efc620 Added QScreen::refreshRate() to get the vertical refresh rate.
To give applications that want it the option to use a fixed timestep for
animations, and to avoid having values of 60 hard-coded (we have a
couple of those in qtdeclarative/src/quick already), we need to know the
refresh rates of the screens we are rendering to.

Change-Id: Ife49162e830440ad7eab563a27e8aebbbafc5fc5
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-08 22:30:10 +02:00
stockton
1ef8a6d48e Add 'FullScreen' into QKeySequence::StandardKey
This StandardKey was never defined in Qt4, and should be added to
simplify cross-platform Shortcut handling for this Action.
Comment concerning the sort-order requirement in QKeyBinding is
expanded to discuss the role of Modifier Keys in the Sort Order.

Task-number: QTBUG-25517

Change-Id: I8c26404010f1e55164e25fe6a586d9795869c25f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@nokia.com>
2012-05-08 11:47:29 +02:00
Konstantin Ritt
4169e20662 QTextEngine: drop unused leftovers
qIsControlChar() doesn't handle SMP code points, it is outdated
and is not used anymore; drop it

Change-Id: I934ace1e44eb2652e426fccc579b563d31197fca
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-08 11:47:29 +02:00
Rohan McGovern
de11b9f5a7 Revert "QtPrintSupport: Remove remaining LPR specific code"
This doesn't compile with a typical cross-compilation setup, which
generally won't include cups headers.  The commit should have been
rejected, but wasn't, due to a bug in the Qt Project CI.

Since it now causes all other modules depending on qtbase to fail their
CI, it must be reverted to minimize disruption while the commit can be
amended and/or the test toolchain updated to include cups headers.

This reverts commit 80f7a38890.

Change-Id: I315ae275b37de358a74af28ab7bd691c9849acba
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-05-08 06:58:27 +02:00
John Layt
80f7a38890 QtPrintSupport: Remove remaining LPR specific code
CUPS is the only supported print system on UNIX, LPR/PS support has
already been dropped but some LPR specific code still remains.

* Move qt_getCupsPrinterPaperSizes from qprinterinfo_unix to
  QCUPSSupport
* Remove qprinterinfo_unix as no longer used
* Remove LPR related code from QPdfPrintEngine
* Remove all QT_NO_LPR uses
* Remove most QT_NO_CUPS uses, use QT_NO_PRINTER where necessary

Some QT_NO_CUPS uses remain in QPdfPrintEngine, these will be removed
in a following change implementing a CUPS plugin.

Change-Id: I439b6fad9cf88c3d24aa48e49475f49ad310dbad
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-07 20:26:43 +02:00
Girish Ramakrishnan
36547f4eff Expose QPA API under qpa/*
The main reasons for doing this are:
1. _qpa.h end up in the master QtGui include file. QtGui is meant for
userland applications. qpa code is neither binary nor source compatible.
Inadvertant use of QPA api makes the user code binary-incompatible.
2. syncqt creates forwarding headers for non-private header files. This
gives people the impression that this is public API.

As discussed on the mailing list, even though QPA api is internal and subject
to change, it needs to  treated differently from private headers since they
will be used by  in-qtbase and out-of-qtbase plugins.

This commit does the following:
1. The _qpa in QPA header files is dropped.
2. syncqt now treats any file with qplatform prefix as a special file and
moves it to qpa/ directory. The recommended way of using QPA API in plugins
is: #include <qpa/qplatformfoo.h>. This allows the user include QPA API
from multiple modules (for example, qplatformfoo might be in QtPrintSupport)
3. The user needs to explicitly add QT += <module>-private to get access to
the qpa api.
4. Creates compat headers for the olden style qplatformfoo_qpa.h and QPlatformFoo
includes.

This commit does not change the cpp filenames. This requires a more careful
merging of existing non qpa cpp files and existing cpp files on a case by
case basis. This can be done at anytime.

The following files are not renamed as part of this changed but will be fixed
as part of a future change:
src/gui/kernel/qgenericpluginfactory_qpa.h
src/gui/kernel/qgenericplugin_qpa.h
src/gui/kernel/qwindowsysteminterface_qpa.h

files were renamed using

    for x in `find . -name "qplatform*_qpa.h"`; do git mv $x "${x/_qpa.h/.h}"; done
    for x in `find . -name "qplatform*_qpa_p.h"`; do git mv $x "${x/_qpa_p.h/_p.h}"; done

includes were renamed using script

for file in `find . -name "*.h" -or -name "*.cpp" -or -name "*.mm"`; do
    sed -i -e 's,.*#.*include.*<\(Qt.*/\)\?\(QPlatform.*\)>,#include <qpa/\L\2.h>,g' \
        -e 's,.*#.*include.*"\(Qt.*/\)\?\(QPlatform.*\)",#include <qpa/\L\2.h>,g' \
        -e 's,.*#.*include.* "\(qplatform.*\)_qpa.h",#include <qpa/\L\1.h>,g' \
        -e 's,.*#.*include.*"\(qplatform.*\)_qpa_p.h",#include <qpa/\L\1_p.h>,g' \
        -e 's,.*#.*include.*<\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)>,#include <qpa/\2\3>,g' \
        -e 's,.*#.*include.*"\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)",#include <qpa/\2\3>,g' \
        $file
done

Change-Id: I04a350314a45746e3911f54b3b21ad03315afb67
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-05-07 20:25:24 +02:00
Robin Burchell
30a4245438 Remove definitions of INV_EPS and M_SQRT2.
The use of these went away in Qt 4 commit
f7d61dab69308f0993c8a5f2232226d1713ac4a7.

Change-Id: I0bcd52cf59f653e5b699fa7cfaf4be510bac6b88
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-07 17:56:29 +02:00
Samuel Rødal
f60bf8a18a Fixed QOpenGLBuffer::map and unmap implementations.
We already have the necessary enablers in QOpenGLExtensions.

Change-Id: I90d763516d8b92c09c878133552200c94a46fbf2
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-05-07 12:40:36 +02:00
Samuel Rødal
79400f83ec Added clarification to platform screen documentation.
Document that physicalSize() should return the size in millimeters.

Change-Id: Idf1283aa9b303bcb95361688f2ef663979bc6516
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-05-07 12:12:26 +02:00
Friedemann Kleint
7be0e21543 Implement QWindow::resize(int, int) by calling to resize(QSize).
The old implementation called setGeometry() clearing the
positioning policy flag.

Change-Id: If8226f86481318e772fba37c2c195037c3d955b0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-04 17:57:46 +02:00
Jiang Jiang
295ec32a74 Avoid glyph rendering with FT when not needed
If we only need to access the font metrics (like in scenegraph) for
layout, we don't need to render glyphs with FreeType at all.

Increase cached linearAdvance to 22 bits so that no overflow will
happen: FreeType returns 16.16 fixed point linearHoriAdvance, but
QFixed is 26.6, we store

    glyph->linearAdvance = linearHoriAdvance >> 10

Apparently 'short' is not enough since it's only 16 bits.

Change-Id: Id14eafa19f01a687de11997526281f9e7e860482
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-04 15:35:30 +02:00
Lars Knoll
ac300a166f Load resources in in QTextDocument correctly
In Qt 4, we loaded resources through the QTextEdit or
QTextControl if they were the parent of the document.
Modularization for Qt 5 broke this, as we can't cast
the parent to a QTextEdit anymore.

The fix is to make the loadResource() methods in QTextControl
and QTextEdit invokable and discover and invoke them at
runtime on the parent object.

Task-number: QTBUG-25116
Change-Id: Iba04bc16849b0c5ddcd275f12d1a386a8fe591bf
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-04 15:31:02 +02:00
Bjoern Breitmeyer
55024ee0f9 removed unneccessary wince ifdef
Change-Id: I4b057c0ae266baae3e8c3675656abb361bfcacf4
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-04 15:24:52 +02:00
Thiago Macieira
4ececbba58 Allow the QPA plugin arguments to contain non-ASCII.
Who knows what we might need them for in the future?

Change-Id: Ic68e04aea6cb26afb0ed98684bbb37a62c111638
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2012-05-04 15:24:52 +02:00
Laszlo Agocs
5190beae81 Add setCursor API to QWindow
Change-Id: Id430ea9c94475356c9367a135f678f5f9ef795fc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-04 13:02:00 +02:00
Thiago Macieira
2883a6de40 Change QString::toAscii to toUtf8 in the embedded filename in XBM.
Change-Id: Iea32f30ac71b35c2792e2523400811fa54c804dc
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-04 12:45:57 +02:00
Thiago Macieira
575ede308e Change remaining uses of {to,from}Ascii to {to,from}Latin1 [QtGui]
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: I2850033159508ebb1ff7564e15b99a146dbee94c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-04 12:45:52 +02:00
Morten Johan Sorvig
1014de4b2f Compile.
Clang is picky about the missing QT_FASTCALL and
cant't find the base fetchPixel/storePixel template
function.

Change-Id: I7c0c14835b3d428f8f95961dc603d809511d7165
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-04 09:19:23 +02:00
Christoph Schleifenbaum
ee8eef9195 Make cupsTempFile member unconditianol.
QPdfEngine has to have the same member everywhere. Otherwise
QPdfEngine and QPdfPrintEngine are compiled with different flags
(-DQT_NO_CUPS) -> QString cupsTempFile is only in QPdfEnginePrivate
in one lib -> crash.

Task-number: QTBUG-25553

Change-Id: I1d23bd14b8e68c212225ac773675a3b1bd2ca6cb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-04 07:00:23 +02:00
Thiago Macieira
80a23370e6 Remove some remnants of Symbian code in src/gui/painting
Those files don't exist anymore. They were removed in
d1a2b53aaf.

Change-Id: Id20203c5671eec8bff74fb76b8baf6b2fecb7c5b
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-03 19:24:45 +02:00
Lars Knoll
1e49914fee Merge remote-tracking branch 'origin/api_changes'
Conflicts:
	src/corelib/global/qglobal.cpp
	src/corelib/global/qlogging.cpp
	src/gui/kernel/qguiapplication.h
	src/gui/kernel/qwindow.cpp
	src/gui/kernel/qwindow.h
	tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp

Change-Id: I62a8805577a7940d4d36bed985eb3e7019d22f2e
2012-05-03 12:26:09 +02:00
stockton
e02e49852f fix documentation for QKeySequence::StandardKey "What's This"
add apostrophe and double-quotes.

Task-number: QTBUG-25545

Change-Id: Ib79953731953166ff7d8b999fee6571e62d86d01
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-02 14:53:41 +02:00
Sean Harmer
b17814e6ff Allow creation of QOpenGLShaderProgram without a current context
This change prevents the qWarning() in QOpenGLFunctions from being
triggered when creating a QOpenGLShaderProgram object without a current
QOpenGLContext. This is a common case especially when the shader program
is a member variable of a class.

It now relies upon the QOpenGLShaderProgram::init() function to resolve
the GL function pointers when the shader program is first used which of
course should be done with an active context.

Change-Id: Ib7dc345593f2a70d72ef8f650151cc90001058ca
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-02 11:36:36 +02:00
Sean Harmer
c73ddb0c0e Initialize QOpenGLFunctions before using it in QOpenGLShaderProgram
Change-Id: I472e97092b05f1721b7df5759d674c213d6018c6
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-02 11:20:42 +02:00
Olivier Goffart
36b3a6ad38 Fix compilation of public headers with QT_NO_DEPRECATED defined
Put the functions in QT_DEPRECATED_SINCE if possible

QPluginLoader::staticInstances is not documented as deprecated, and do
not reference any alternative use. So I unmarked it as deprecated.

Change-Id: I556c3f3657fb0490dd5543fcc56718fe9bd394e7
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-05-02 11:14:09 +02:00
Debao Zhang
ade8888603 Don't use obsolete qVariantValue, qVariantCanConvert, etc.
qVariantValue and qVariantCanConvert are Compatibility members, while in
Qt4.8 they are marked as Qt 3 Support Members.

qVariantFromValue and qVariantSetValue are Obsolete members.

Change-Id: Ie8505cad1e0950e40c6f6710fde9f6fb2ac670fd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-02 08:30:59 +02:00
Rohan McGovern
6b98bf6a14 Fixed QtGui and QtPrintSupport with -qtnamespace and MSVC
With this compiler, external functions declared inside other functions
will end up in the wrong namespace.

Change-Id: Ia37283d632dbc2ee0c269aeffa1f045b3e60148e
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-05-02 03:20:53 +02:00
Olivier Goffart
e1d5355325 Fix warning about narrowing inside {}
Such as
qdialogbuttonbox.cpp:259:1: warning: narrowing conversion of
‘2147483650u’ from ‘unsigned int’ to ‘const int’ inside { }
[-Wnarrowing]

Change-Id: I00d66d96ef3af1a46935a58119668a20f8fd58c7
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-01 07:11:13 +02:00
Lars Knoll
c56e756aa9 Reset pointer to 0 after freeing
set m_textureResource to 0 after freeing it, to
ensure we allocate a new one two lines below before
using it again 5 lines below.

Change-Id: Ib9c4de94aefed91f15d0fab0cd3c774a64f2f891
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-01 07:10:34 +02:00
Olivier Goffart
67245d1708 Fix compiler warning in qdrawhelper.cpp
warning: always_inline function might not be inlinable [-Wattributes]

Those function are only used in array of function pointers. They
cannot be inlined.

Change-Id: I82b10d82ac8915129dc8921b1a74d42d8547bc40
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-01 01:18:03 +02:00
Bradley T. Hughes
b46189c3c3 Support all modality types in QPlatformDialogHelper
Modality is not a boolean property in Qt. There are 2 types: window
modality and application modality. Native dialogs can support both of
these types as well (e.g. on Cocoa, a window modal file dialog should be
displayed as a Sheet). Remove the QPlatformDialogHelper::ShowFlags enum
and instead pass a Qt::WindowModality parameter to
QPlatformDialogHelper::show_sys().

The Windows implementation has been updated to check for
Qt::ApplicationModal instead of the ShowModal flag (since only
Qt::ApplicationModal dialogs are blocking).

The Cocoa implementation has been updated to only use non-modal and
application modal native color and font dialogs (which restores Qt 4
behavior). These are shared Cocoa panels that cannot be shown as sheets,
however. If the programmer asks for window modal color/font dialogs, we
use the Qt versions, not the native ones. The file dialog can be shown
either as a Sheet (but we need to pass an NSWindow parent for it to work
properly) or as an application modal dialog.

This change has been tested on Mac OS X with
tests/manual/windowmodality.

Change-Id: I9064987433895c55f68aac979ef8e8207fb24bbe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-30 14:01:22 +02:00
Laszlo Agocs
9d6f208704 Remove unused private and protected members from QClipboard
Change-Id: I1d5ce0db4a9a6582629e2c0b74e9ab998b405788
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-04-30 11:37:36 +02:00
Lars Knoll
03da3d7f5c Get rid of most warnings related to QInputMethod
Change-Id: Id0b1235a5dc209c5c06e0a64613364c89e733005
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
2012-04-29 14:05:39 +02:00
Lars Knoll
600e193bbc Don't generate compiler warnings for using deprecated methods
We need to construct QImageTextKeyLang objects for the deprecated
method in QImage. That's impossible to do if we don't have a
constructor for the class that's non deprecated. So add a private
constructor and make QImage a fried of the class so it can use
that constructor.

Change-Id: I6359e9943fe031ed3dca85479ee9ec47ceaf776b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-28 01:16:20 +02:00
Lars Knoll
9d1f1b0901 Get rid of some deprecation warnings
Change-Id: I05e6f9479789652cc1536cb5bced2bc8fa664c84
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-28 01:16:20 +02:00
Friedemann Kleint
e79d975be4 Replace QGuiApplication::activeWindow by focusWindow().
Fix deprecation warnings.

Change-Id: I8d33aa8c035df6f5ef3fff6a402e980e43e03406
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-27 20:16:37 +02:00
Morten Johan Sorvig
1d72e3fbdf Remove deprecation tags from QWheelEvent.
0df1c9f1 enabled deprecation warnings from Qt,
causing warnings from QWheelEvent use.

Using delta() and orientation() in new code is still
not advised, but since QtWidgets uses them the
"deprecated" tag is not suitable.

Change-Id: I597e8ddf9fd2dc911d0e30044e96df744982ff81
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 14:41:42 +02:00
aavit
56d4d97852 Fix workaround for image readers that can scale but not clip
If both scaling and clipping was requested from an image reader that
only supports scaling, the code failed to apply the intended
workaround (i.e. read normal and do clipping and scaling afterwards).
Ref. the comment just above about "Only enable the ScaledSize option if
..."

Change-Id: I273edba60bf9f785f2082aa8f236505ec3ce0776
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-04-27 10:37:02 +02:00