Commit Graph

1831 Commits

Author SHA1 Message Date
Frederik Gladhorn
38ed8c2ddd Make QLineControl send accessibility updates.
To make it emit the signals for the right object, it needs its parent to
be the QGraphicsItem/SGItem/QLineEdit.
According to IA2 it should emit TextUpdated and CursorMoved signals.
TextChanged is deprecated.
More fine grained signals would be desireable but this makes changes work at all.

Reviewed-by: Morten Sorvig
2011-05-12 15:59:33 +02:00
Jan-Arve Sæther
1625b25a9f Revert "Fix double painting when adding an item into a linear layout"
(It did not really fix the issue.)

This reverts commit 33f525e636ef8fa64a15d3e66c56adaea0075bda.

Conflicts:

	src/gui/graphicsview/qgraphicslinearlayout.cpp
	tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
(cherry picked from commit fee052e3e37b3335fe563cb8a1881bf59f9e25d0)
2011-05-12 15:51:02 +02:00
Sergio Ahumada
446a7ba4ff Fix licence headers again for MR 900
See commit b00089261eafbdf5f92ed94d7fb20b402bfcaeb2

Reviewed-by: Gabriel de Dietrich
(cherry picked from commit bc16ebdb7aeff70fe8149297183636ea7fd14ed1)
2011-05-12 15:48:46 +02:00
Jan-Arve Sæther
913ff73200 Avoid flicker when invalidate is propagated in a widget/layout hierarchy
* Do not call invalidate from activateRecursive().
  This resulted in that a layout was invalidated as many times as there
  were items in the layout.

* Several improvements. Do not call resize(size()) too often.
  Calling resize() from the widgetEvent() is not very nice though...

* Remove commented out code

* make sure layout is activated even if the widget does not change size

* activate the layout if the resize is same as size()

* In order to not break existing apps, make this an opt-in feature
  with QGraphicsLayout::setInstantInvalidatePropagation(true);

Reviewed-by: Frederik Gladhorn
Reviewed-by: John Tapsell
2011-05-12 15:47:26 +02:00
Gabriel de Dietrich
1ce725cb60 Fix licence headers again for MR 900
See commit b00089261eafbdf5f92ed94d7fb20b402bfcaeb2

Reviewed-by: Trust me
(cherry picked from commit 7b6a7f475119878681c9d0c06b29896ec3fe72c3)
2011-05-12 15:43:54 +02:00
Lars Knoll
6697f2a899 Merge remote branch 'origin/master' into refactor
Conflicts:
	src/gui/gui.pro
	src/gui/painting/painting.pri
	src/opengl/opengl.pro
	src/openvg/openvg.pro
2011-05-12 12:48:12 +02:00
Lars Knoll
1f806aa1b4 New algorithm for drawing thin lines
Added a new QCosmeticStroker class for drawing thin
lines. The class can handle both aliased and antialiased
lines.

The code replaces all the midpoint line drawing algorithms in
the raster paintengine and gives correct subpixel positioning
for lines.

It gives around 30% to 50% speedup against the midpoint algorithm. If
we missed that fast path, the speedup is around between a factor of
6 to 8 for lines and aliased paths and 100 and 400 for antialiased
paths.

Reviewed-by: Kim
(cherry picked from commit 37c329a3e35fabc88fbcad824a69f37c671d2132)
2011-05-12 10:36:29 +02:00
Lars Knoll
e577d02cc9 move files in src/gui into their final locations
Rename the guikernel subdir to kernel
and guiutil to util.
2011-05-11 20:18:42 +02:00
Samuel Rødal
e40443f7df Prevent crash in OpenGL engine when scaling images / pixmaps.
Make sure the resulting image / pixmap is valid if the source was valid.

Task-number: QTBUG-19157
Reviewed-by: Kim
Reviewed-by: Benjamin Poulain
(cherry picked from commit 1c5da7207a21cc44a4a08d291c290ffcd9b958fd)
2011-05-11 17:34:42 +02:00
Stephen Kelly
d49c561b73 Add the QIdentityProxyModel.
Older commit history is in KDE svn:
http://websvn.kde.org/trunk/KDE/kdelibs/kdeui/itemviews/kidentityproxymodel.cpp?view=log

Ammended to update the license headers.

Merge-request: 900
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>

Conflicts:

	doc/src/frameworks-technologies/model-view-programming.qdoc
	tests/auto/headers/tst_headers.cpp

(cherry picked from b00089261eafbdf5f92ed94d7fb20b402bfcaeb2)
2011-05-11 17:37:48 +02:00
Miikka Heikkinen
a2e836f3c1 Fix initial main window dimensions for "fullscreen with softkeys" case
The application main window defaults to fullscreen size when initially
constructed, even if softkeys are specified for it, as the screen
furniture is constructed later in show_sys. This resulted in the main
window being partially under softkeys.
Fixed by invoking handleClientAreaChange() explicitly in show_sys in
fullscreen with softkeys case.

Task-number: QTBUG-19043
Reviewed-by: Sami Merila
(cherry picked from commit e8fc93973a41f193665baa5fdc26cba951bd692f)
2011-05-11 16:39:20 +02:00
Bjørn Erik Nilsen
1e41e3076a Fixes crash in QWidget::effectiveWinId.
Widgets are left in a transitional (and incosistent) state while being
re-parented, which caused QWidget::effectiveWinId() to crash in certain
circumstances. See patch for more details.

Auto test included.

Reviewed-by: ogoffart
(cherry picked from commit 6db0153cd7e35e4a919a76ae2aadbf2d2510bfb7)
2011-05-11 16:38:49 +02:00
Qt Continuous Integration System
1a1af689fc Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Fix tst_QVariant::invalidColor
  Move QTextCursor::MoveStyle to Qt namespace
  Add some QRawFont related low level functions to avoid extra copying
2011-05-11 23:47:33 +10:00
Jiang Jiang
16628b76c0 Move QTextCursor::MoveStyle to Qt namespace
We cannot use QTextCursor::MoveStyle enums in QTextLine because
QTextCursor is not a QObject, while referring to that enum in
Q_PROPERTY requires it to be. That's why we need to move the
enums in Qt namespace.

Reviewed-by: David Boddie
(cherry picked from commit 5eba82b752e85a5d6cb3a893214ed2646d75f362)
2011-05-11 15:28:09 +02:00
Jiang Jiang
3032ba0f8e Add some QRawFont related low level functions to avoid extra copying
Added functions:

- QRawFont::glyphIndexesForChars(const QChar *chars, int numChars,
  quint32 *glyphIndexes, int *numGlyphs) const
- QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes,
  QPointF *advances, int numGlyphs) const

Reviewed-by: Eskil
(cherry picked from commit 965af9eb2932efae5d736df54c3859460017b6a5)
2011-05-11 15:26:34 +02:00
Samuel Rødal
0719af99b7 Compile fixes after merge. 2011-05-11 12:39:14 +02:00
Samuel Rødal
5e2b0aa1b3 Merge remote branch 'staging/master' into refactor
Conflicts:
	src/gui/painting/qdrawhelper_p.h
	src/gui/painting/qgraphicssystemfactory.cpp
	src/gui/painting/qpainter.cpp
	src/gui/painting/qunifiedtoolbarsurface_mac.cpp
	src/gui/painting/qunifiedtoolbarsurface_mac_p.h
	src/openvg/openvg.pro
	src/openvg/qpaintengine_vg.cpp
	src/openvg/qwindowsurface_vg.cpp
	src/openvg/qwindowsurface_vgegl.cpp
	src/plugins/platforms/wayland/qwaylanddisplay.cpp
	src/widgets/graphicsview/qgraphicsscene.cpp
2011-05-11 12:39:09 +02:00
Qt Continuous Integration System
ff112f47c8 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-earth-staging:
  Add QT_xxx_VERSION macros for each library in qtbase
2011-05-11 00:10:15 +10:00
Liang Qi
45cdd701fa Add QT_xxx_VERSION macros for each library in qtbase
Provide version info for each library like QTCORE_VERSION and etc.

Task-number: QTMODULARIZATION-44
Reviewed-by: axis
2011-05-10 15:15:15 +02:00
Olivier Goffart
48b7c870ec Merge remote-tracking branch 'staging/master' 2011-05-10 13:15:10 +02:00
Eskil Abrahamsen Blomfeldt
f0857b7667 Compile on Mac
Missing API update in Q_WS_MAC block

Reviewed-by: Jiang Jiang
(cherry picked from commit 4b95d9939db75d7bd55db4bbbf2d67af459f7eb5)
2011-05-10 13:14:41 +02:00
Alexander Potashev
342d2a253c Allow different text for undo actions and items in QUndoView
Now the texts used for undo actions and for items in QUndoView can
be set separately. This introduces an extended format of text that
can be passed to QUndoCommand::setText or QUndoCommand constructor.

The action text can now contain two strings separated by a "\n". The
first string (that goes before "\n") is then returned by
QUndoCommand::text() and used as name of item in QUndoView.
The second string (that goes after "\n") is returned by
QUndoCommand::actionText() and used when the text properties of the
undo and redo actions are updated.

If the text passed to QUndoCommand does not contain "\n", everything
works as before, and both QUndoCommand::text() and
QUndoCommand::actionText() return the same string.

Even though action text in English usually does not need different forms
for undo actions and QUndoView item, translators can employ this new
command text format, for example to adjust the grammatical case used in
command text to match the context of "Undo %1"/"Redo %1".

Merge-request: 2610
Reviewed-by: ossi
(cherry picked from commit 9b784789c75d59b27530bbf1d12676cc44f64f46)
2011-05-10 12:54:56 +02:00
Alexander Potashev
ec4d346f95 Allow using not only prefixes for undo command text
Functions QUndo{Group,Stack}::create{Undo,Redo}Action() now use action
text templates "Undo %1" and "Redo %1" if no custom prefix was provided.

This makes more flexible translations possible. The surrounding text
(like "Undo" and "Redo") can now be suffixed to the command name as
German and Korean languages require ("%1 rueckgaengig machen" for German).

Also, now the default action text (when no command can be undone) can be
translated differently from the prefix. For example, it can be
translated as "Undo action", not just "Undo".

When a non-empty prefix is passed to QUndo*****::create****Action(),
those functions work as before, and the features described above become
unavailable.

Task-number: QTBUG-14442
Merge-request: 1212
Reviewed-by: ossi
(cherry picked from commit 213c25ad24e4f3b0a44f82f23d34746cd294f8d6)
2011-05-10 12:54:56 +02:00
Robin Burchell
0bb70c3164 Ensure that QDateTimeEdit::calendarWidget() will always return a valid widget.
This case may be triggered in the (admittedly slightly abnormal) case where a
user wishes to embed the calendar widget in a layout or, for whatever reason, do
something else that will change its ownership.

We work around this by detecting when it is deleted and recreating the widget.

This will also have a positive side effect if setCalendarWidget() is called with
a widget which is then subsequently deleted, returning the default widget
instead of a pointer to (now deleted) memory.

Reviewed-by: Denis Dzyubenko

Merge-request: 2568
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
(cherry picked from commit 124ec3200f8453142717fcfe7a4aa0a55164aaa6)
2011-05-10 12:54:56 +02:00
Olivier Goffart
74dda83074 Fix drawing text in item view:
Put back code that was removed by mistake in e8019cf8feb402303e6d253f5ca58bebfda42679

Task-number: QTBUG-18998
(cherry picked from commit bbbd4b8f3949b58d4fd21854241cb46cbc024a80)
2011-05-10 12:54:55 +02:00
Samuel Rødal
978fc98bff Fixed bug in X11 backend when creating translucent windows.
We forgot to send the ParentAboutToChange event, which meant QGLWidget
didn't destroy the old EGL surface. This could cause two EGL surfaces to
be created for the same QGLWidget, which leads to undefined behaviour on
some platforms.
(cherry picked from commit 5a834d7141cc7d29d022911ccec16e628d94acf1)
2011-05-10 12:54:54 +02:00
Matthew Cattell
c500291e42 Fixed bug in QPdfEngine::addImage causing mono images to be made 32 bit
Regression from 4.5 causing performance and size degradation.

Task-number: QTBUG-18997
Reviewed-by: Samuel
(cherry picked from commit 18122b473ecbd85ba953f70743b1756358bf7c0c)
2011-05-10 12:54:53 +02:00
mae
4b75ceea08 Reduce open and stat system calls for QSettings
The patch moves the global static QSettings object
from QLibrary to QCoreApplication and reduces a
few stat and open calls.

Without the patch, a large Trolltech.conf was
pushed out of the unused settings cache during
startup, meaning Trolltech.conf was parsed
more than once.

Reviewed-by: Liang Qi
(cherry picked from commit 31ef8fa6abc2ea23c6f0a996b36494d88aafb0b5)
2011-05-10 12:54:52 +02:00
Samuel Rødal
5c791cc0d5 Fixed off-by-one in radial gradient color table index computation.
Clamp to GRADIENT_COLOR_TABLE-1, not GRADIENT_COLOR_TABLE-2. Fixes
visible error in gradients.qps

Reviewed-by: Kim Motoyoshi Kalland <kim.kalland@nokia.com>
(cherry picked from commit af9d20680c91f587f4791aa68f3a8b03d3a42be0)
2011-05-10 12:54:51 +02:00
Olivier Goffart
9c8734dccb Fixes warnings about unused variables
Reviewed-by: Samuel
(cherry picked from commit 28061caa38d94de85db9aec743d1efba33c1e46f)
2011-05-10 12:54:51 +02:00
Olivier Goffart
138cf4373b Fixes warnings about unused variables
Reviewed-by: jbache
(cherry picked from commit e8019cf8feb402303e6d253f5ca58bebfda42679)
2011-05-10 12:54:51 +02:00
Olivier Goffart
bd64c94a26 Fixes warnings about unused variables
Reviewed-by: Samuel
(cherry picked from commit ddd253e14318af45e5c56df736028b88257068c4)
2011-05-10 12:54:51 +02:00
Frederik Gladhorn
14e31b1f5f Add accessible events as defined by IAccessible2.
Additional events from:
http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_accessible_event_i_d_8idl.html

Reviewed-by: Morten Sorvig
(cherry picked from commit 6bd74d66b418cad30ed5a448e657a7a5097eed4a)
2011-05-10 12:54:50 +02:00
Samuel Rødal
4a93814a1d Removed warning from QPixmap::handle().
With the new fromX11Pixmap function there are valid use-cases where
checking the handle() is useful also with the raster graphicssystem.

Reviewed-by: Thiago Macieira
(cherry picked from commit 1124f41253edd0e03704db72b0e1b6b4b518bd0f)
2011-05-10 12:54:49 +02:00
Gabriel de Dietrich
a759518a98 Removing the "resetInternalData" slot in QAbstractProxyModel
This reverts commits 0916a68056154ecb60e4ea2c79726ab2e49b1532 and
6f1384fcbeea993d5be47590c696de60215b7608.

This effectively reverts most of MR 694.

Reviewed-by: Olivier
(cherry picked from commit 06e104b9c305d3db0dd1848e6e633ee3888fd1de)
2011-05-10 12:54:49 +02:00
mae
4d38a48a70 Fix insert and scroll to bottom case
When using QtextCursor::insert() with a large text followed by setting
the vertical scrollbar to its maximum value (scroll to bottom),
QPlainTextEdit would not behave properly if a document size
change was triggered by the insertion due to line wrapping.

This was visible in Qt Creator.

Auto test included.

Reviewed-by: con
(cherry picked from commit 5d144faf3c524ab557b88f69c4b755e20237e846)
2011-05-10 12:54:49 +02:00
Laszlo Agocs
d4eedda7d2 Make text rendering working outside the gui thread on Symbian.
It was previously not possible to render text (QPainter::drawText)
in a secondary thread on Symbian, it always resulted in some
kind of panic. This patch corrects it. For S60 5.0 and earlier
the behavior is not changed, threaded text rendering is only
supported on Symbian^3 and newer. This also means
QFontDatabase::supportsThreadedFontRendering() will return
true from now on, but only on Symbian^3 and higher.

Task-number: QTBUG-18516
Reviewed-by: mread
(cherry picked from commit 0c62e02b80570bf8b92eff7acceb9018df61c89e)
2011-05-10 12:54:49 +02:00
Frederik Gladhorn
af6057918a Typos in internal api docs.
(cherry picked from commit 81f79b80337a4ef967fdd2b0773f0523c1ce9261)
2011-05-10 12:54:49 +02:00
Thierry Bastian
78ec3b2bd9 Revert "Fixed a crash in QListView"
This caused regressions in the QListView

This reverts commit 5b3872b2d7523d44ba454a76613e7a3fa45387f7.
(cherry picked from commit 0edbaca5e7b718bb9bbbeaccc9e322b525b4327e)
2011-05-10 12:54:48 +02:00
Miikka Heikkinen
dd646cd10e Do not modify window size for fullscreen windows in setGeometry_sys
Minimum sizes of widgets can cause windows to expand beyond screen
limits in QWidgetPrivate::setGeometry_sys. Normally this is not
noticeable as the window size is forced in various places to the
clientRect, but there are certain sequences where the size set in
setGeometry_sys is the final one, resulting in too large windows.

Removed the modification of window size in setGeometry_sys
for fullscreen windows for which the correct size is already requested.

Task-number: QTBUG-18749
Reviewed-by: Sami Merila
(cherry picked from commit da8f333cfe17a53d475208efa36fa369a9ee4638)
2011-05-10 12:54:48 +02:00
Gabriel de Dietrich
ebbc98fcb6 Totally kill MR 916
... the hard way.

Reviewed-by: Trust me
(cherry picked from commit 443d5b17619002cd6bb428198c453271a01accab)
2011-05-10 12:54:48 +02:00
Samuel Rødal
c889ddb59d Another attempt at fixing the MSVC2005 build.
Apparently direct casting is illegal there too, even though they don't
have the cast operators.

Reviewed-by: Kim
(cherry picked from commit 45c60ceac3d5a401543d7d56a44d1f9227464431)
2011-05-10 12:54:48 +02:00
Samuel Rødal
49fc892129 Compile fix in qdrawhelper_sse2.cpp for MSVC 2005.
(cherry picked from commit 7f921ea08c296e7451a44a1dae15350ae183ea20)
2011-05-10 12:54:48 +02:00
Gabriel de Dietrich
4b25f3fa1f Reverting merge request 916
Revert "Introduce menubar plugin system"

This reverts commits 56c3de426d97ab7c8fb..f7b60fffb673b182e63
(cherry picked from commit c6514537a8568050f5812a2b55fcf47a3ec2fce1)
2011-05-10 12:54:47 +02:00
Gabriel de Dietrich
9b609e1c05 Reverting merge request 916
Revert "Build fix on QMenuBar"

This reverts commit ea585d567bf0970c57e31846da044295d80774ba.
(cherry picked from commit 68542b72f53f52df43063677e24994463872e81b)
2011-05-10 12:54:47 +02:00
Samuel Rødal
d92ac3c188 Compile fix in qdrawhelper_sse2.cpp.
(cherry picked from commit 7cc4ffce36c24596630ca83cd6418869d6383670)
2011-05-10 12:54:47 +02:00
Thierry Bastian
95d7a4e8ea Build fix on QMenuBar
Reviewed-By: gabi
Merge-Request: 916
(cherry picked from commit ea585d567bf0970c57e31846da044295d80774ba)
2011-05-10 12:54:47 +02:00
Jan-Arve Sæther
b46d7d3b91 Do not call setSizePolicy from ctor, it might call a virtual function
More specifically, it might very well call updateGeometry()

Reviewed-by: Frederik Gladhorn
(cherry picked from commit febdcef08f22310cbd70ec13b315f70ff8e41e83)
2011-05-10 12:54:47 +02:00
Thierry Bastian
2e768aad98 Fix copyright and a few codestyle mistakes
Reviewed-By: Trust-Me
Merge-Request: 916
(cherry picked from commit 56c3de426d97ab7c8fbb3f5766e1872d6f2e91e9)
2011-05-10 12:54:47 +02:00
Aurélien Gâteau
0241d63994 Renamed QAbstractMenuBarImpl to QAbstractMenuBarInterface
Merge-request: 916
Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
(cherry picked from commit 3d188ffae259584c4351c5fa766a49da9b189112)
2011-05-10 12:54:47 +02:00
Aurélien Gâteau
5d6d23f118 Make ctor and dtor of QAbstractMenuBarImpl inline
This way the class does not need to be exported

Merge-request: 916
Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
(cherry picked from commit a624a4011adca00d7334462c4d33f574c465110a)
2011-05-10 12:54:47 +02:00
Aurélien Gâteau
9317fee1d9 QAbstractMenuBarImpl::allowSetVisible => setVisible
This makes it possible to alter the behavior of QMenuBar::setVisible().
It seems to be needed for the Mac menubar.

Merge-request: 916
Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
(cherry picked from commit bafeffd7b8b2c40761369ba496ee655dff6cf2a5)
2011-05-10 12:54:46 +02:00
Aurélien Gâteau
03b0eb416f Introduce menubar plugin system
Merge-request: 916
Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
(cherry picked from commit be0d346052d69693c2780e62401f3c0d4b0d89d4)
2011-05-10 12:54:46 +02:00
Aurélien Gâteau
1b573dd5ff Introduce QAbstractMenuBarImpl
Merge-request: 916
Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
(cherry picked from commit 0432a6b79d35ac7db909a81793417107ebfb668f)
2011-05-10 12:54:46 +02:00
Aurelien Gateau
69da442904 Hide Q<Platform>MenuAction
This will help abstracting the platform specific parts of QMenuBarPrivate in a
common interface.

Merge-request: 916
Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
(cherry picked from commit c664954295c0605c73f7e69deb9f6130c5f5fb05)
2011-05-10 12:54:46 +02:00
Aurélien Gâteau
e84cfbfcfa Fix warning about initialization order
Merge-request: 916
Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
(cherry picked from commit f7b60fffb673b182e633545bffd1d310337aca50)
2011-05-10 12:54:46 +02:00
Samuel Rødal
83ecb25998 Added support for six-parameter radial gradients.
The extended radial gradients conform to the radial gradient
specification in HTML 5 canvas.

Task-number: QTBUG-14075
Reviewed-by: Andreas Kling
(cherry picked from commit da55c1ea92474e989e5582b02815936bbf584405)
2011-05-10 12:54:46 +02:00
Samuel Rødal
e05443367f Improved gradient table generation performance for two-stop gradients.
Two stops is a fairly common case so we gain quite a bit by special
casing it. Improves performance by 10 % in parcycle benchmark, and
by 90 % in a synthetic benchmark.

Reviewed-by: Andreas Kling
(cherry picked from commit 5b74a70ac630073582be56f8a0539624a1080185)
2011-05-10 12:54:45 +02:00
Samuel Rødal
db58039591 Optimized radial gradient fetch using SSE 2.
On an i7 this improves performance by 22 % in parcycle, 107 % in default
svgviewer example, and 283 % in a synthetic radial gradient benchmark.

Reviewed-by: Andreas Kling
(cherry picked from commit 26bd3dccdee8c6a8f1cf9d254a2a6be7d403aa8d)
2011-05-10 12:54:45 +02:00
Samuel Rødal
28e32c0bc3 Improved qt_gradient_clamp for reflect spreads.
Using GRADIENT_STOPTABLE_SIZE * 2 as the modulo gives more correct
behaviour, and also improves performance slightly.

Reviewed-by: Benjamin Poulain
(cherry picked from commit 44dd7ef86a3970694a4f8fd9516575c0533a336e)
2011-05-10 12:54:45 +02:00
Samuel Rødal
79d238abdc Prepared for SIMD implementation of radial gradients.
Made the radial gradient fetch func into a template to be able to
optimize the inner loop using SIMD instructions.

Reviewed-by: Benjamin Poulain
(cherry picked from commit f16c261348193b4c03f796db4e1e3a5db09267a2)
2011-05-10 12:54:45 +02:00
Jonathan Liu
11140fc40a Fix incorrect rendering of checked menu items on Windows Classic
Modify rendering of checked menu items when using Windows Classic
style to be more native looking.

Changes:
* Checked menu items with no icon are not drawn sunken
* Disabled checked menu items with an icon have a plain background
  instead of a checkerboard pattern same as when enabled
* Check mark is drawn with highlighted text color when selected to
  match text
* Fix check mark offset for disabled unselected checked menu item
  as the entire check mark was drawn shifted (1, 1)
* Fix color of check mark shadow for disabled unselected checked
  menu item as it was same color as the check mark when it should
  be a light color

Task-number: QTBUG-15098
Merge-request: 2513
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@nokia.com>
(cherry picked from commit e89a2b72050dd782da16ff24bc2eb84dc36ed6a5)
2011-05-10 12:54:45 +02:00
Pierre Rossi
fc9a9acbbe Fix a bug with menu overflowing from a lower resolution second screen.
The menu needs to take into account the screen geometry of the screen
it's about to be shown on (not the last screen it was shown on) when
updating its actions rects

Task-number: QTBUG-2748
Reviewed-by: Thierry
(cherry picked from commit b10265efba544b1e4820f45b86354d442f6abf26)
2011-05-10 12:54:45 +02:00
Pierre Rossi
a74f09044e Calculate the submenu position after emitting aboutToShow()
The rationale behind this is that if the submenu gets populated in a slot
connected to aboutToShow(), we'll have to do it again anyway.

Task-number: QTBUG-14739
Reviewed-by: Thierry
(cherry picked from commit 0848b860b9251e76b9319f65554f932ab68e33cc)
2011-05-10 12:54:45 +02:00
Thierry Bastian
09e2335f6d Fixed a crash in QListView
The problem was that QAbstractScrollArea calls layoutChildren on resize
but the QListView requires that updateGeometries is called before.

Task: QTBUG-18558
Reviewed-By: Pierre
(cherry picked from commit 5b3872b2d7523d44ba454a76613e7a3fa45387f7)
2011-05-10 12:54:45 +02:00
David Boddie
82340de4c8 Doc: Fixed reference to a name in a table.
Task-number: QTBUG-18679
(cherry picked from commit a769192ef0393afa07c08a1672b45604fdf64be1)
2011-05-10 12:54:44 +02:00
Jens Bache-Wiig
a5cfc446ed Fix progressbar animation on Vista
This fixes two issues.
- The indeterminate animation was sometimes incorrectly disabled
  when value was 0
- The progress animation was incorrectly stopped when progress
  bars were disabled

Task-number: QTBUG-10957
Reviewed-by: richard
(cherry picked from commit 05e46b93ccb2334ec3722cf1205058f778d11458)
2011-05-10 12:54:44 +02:00
Jonathan Liu
d001733c24 QTabWidget/Win: do not add content margin when documentMode enabled
QTabWidget has 2 pixel bottom and right content margin. This removes the
margin to maximize the area available for content and improve
consistency with other Qt styles when documentMode is enabled.

Task-number: QTBUG-15769

Merge-request: 957
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@nokia.com>
(cherry picked from commit 23dd5cb45547de167f5c2e78554e9c3013e59998)
2011-05-10 12:54:44 +02:00
Pierre Rossi
5346d77e8c QTableView: prevent QTableView from hanging when removing rows.
The problem was introduced in cd2afafb where we removed some code that
was meant to adjust the header's offset upon row removal.
The problem with this is that visualIndexAt() is likely to return -1 in
QHeaderView::paintEvent, which in turn will lead to calling paintSection
for each and every section.

Task-number: QTBUG-18551
Reviewed-by: Thierry
(cherry picked from commit d814e378987348ce2123d083b01ea6fb6c3e6bbf)
2011-05-10 12:54:44 +02:00
Jonathan Liu
55bfa460d2 QFileSystemModel: Handle QDir::NoDot and QDir::NoDotDot for setFilter
Add support for QDir::NoDot and QDir::NoDotDot for setFilter in
QFileSystemModel.

Task-number: QTBUG-14760
Reviewed-by: Frederik
(cherry picked from commit b60d82fd56897b1a1d3cc730172f71c27a497ede)
2011-05-10 12:54:44 +02:00
Jan-Arve Sæther
75bec8093d Fixed regression where AT client did not always announce stuff properly.
This fixes a regression that was created by
75e478abdf336bbdc1b00e2ca4f5293d5455a0cb.
That broke accessibility on 64 bit windows, since lParam can both be
0x00000000fffffffc and  0xfffffffffffffffc.

However, MSDN explicitly says that lParam should be casted to a DWORD,
which would result in (an unsigned) 0xfffffffc in both cases. This can
then be compared to OBJID_CLIENT (defined to ((LONG)0xFFFFFFFC).

Reviewed-by: Prasanth Ullattil
(cherry picked from commit 504941bc50234c225f162192491815bc4d6c38cf)
2011-05-10 12:54:44 +02:00
Jens Bache-Wiig
45c8b242f3 Don't use inactive borders for spinbox on Mac
This was probably caused by the fact that the only spinbox
visible in the main control panel has an inactive frame border.
In XCode 4, however the spin buttons are generally attached
to an active lineedit frame, so we change the default for 4.8.

Reviewed-by: gabriel
(cherry picked from commit 6c9d808c5726893e9aa673ca8b0cbebae67f641c)
2011-05-10 12:54:43 +02:00
Richard Moe Gustavsen
8ab64530b3 Cocoa: respect QT_NO_EXCEPTION in color dialog
If the macro is set, we should not use cocoa exceptions either, as
this causes compile failures

Rev-By: jbache
(cherry picked from commit cdb5729d8e1ffc4a00b52d6d4bbee34a9820a193)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
a5e191de57 Window and Application fixes for accessibility.
Return app name instead of window title for root accessibility object.
Return Window as accessible type for the main window.

Reviewed-by: Jan-Arve
(cherry picked from commit 9a5b0d7a579572cd7e7faf869ab1a6684800f592)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
8f5b2faaac Call QAccessible::updateAccessibility when changing accessible name.
Reviewed-by: Jan-Arve
(cherry picked from commit e783275cfb71e7325472b3aea54e109a7a854bf7)
2011-05-10 12:54:43 +02:00
Stephen Kelly
3880eee2d0 Use the virtual API to clear a selection.
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Merge-request: 980
(cherry picked from commit e3cd651d92a9e550fe52360d1be6ae41d0f2ab85)
2011-05-10 12:54:43 +02:00
Jan-Arve Sæther
97952e918d Avoided calling updateAccessibility() from updateMicroFocus if the item was hidden
This had the following negative effect in qmlviewer:
- Every time the qmlviewer logged something to its QPlainTextEdit
  (regardless of if it was visible or not) it would call
  updateMicroFocus (because appending to QPlainTextEdit would move the
  cursor). The result was that the AT client got overloaded with
  accessibility state changes, and response time got really bad.
(cherry picked from commit ad50e45311cce712fbe35641cde973d616ff560d)

Reviewed-by: Frederik Gladhorn
(cherry picked from commit a825b3a9e6132842090e43fae85d2c6c61b2def6)
2011-05-10 12:35:52 +02:00
Jan-Arve Sæther
0154343608 Notify a11y framework of FocusChanges for QGraphicsObject
(cherry picked from commit 1b5cb7865eb8b48a2721f9b9c3ccd2fb25f8175d)

Reviewed-by: Frederik Gladhorn
(cherry picked from commit 9a02ad74693f1835745ec20798b353f7e62bcd5e)
2011-05-10 12:35:51 +02:00
Jan-Arve Sæther
26acac4052 Call updateAccessibility on the QGraphicsObject in updateMicroFocus
Since QGraphicsObjects now can be in the a11y hierarchy, we should
treat them just like we treat widgets.
(cherry picked from commit 860745a4713b29857d14571572504da71a2ca077)

Reviewed-by: Frederik Gladhorn
(cherry picked from commit 4687938fd03ed65306039af6b4e5e192ec8bf491)
2011-05-10 12:35:50 +02:00
Jan-Arve Sæther
5e8b377cb7 Fix updateAccessibility for QGraphicsObjects
If updateAccessibility is called on a QGraphicsObject, walk up and find
the closest ancestor widget with a HWND.
(cherry picked from commit d4291591dfb6a7b1f5c7d00879e8162e84d9ab1b)

Reviewed-by: Frederik Gladhorn
(cherry picked from commit 96406a7dd609e75340f7b4a05726c60c197786b8)
2011-05-10 12:35:49 +02:00
Jan-Arve Sæther
068545f2cd Make accessibility work on Windows with alien
This means that there will be no implicit conversion to windows handles
anymore!
Enabler for making QML accessible on windows.
(cherry picked from commit a3ac7deb5dfe48c5fdd0e170c20b6852c3bb41de)

Reviewed-by: Frederik Gladhorn
(cherry picked from commit d289e54f2d2aa066cb383d8c8249bd7594bdf7b0)
2011-05-10 12:35:48 +02:00
Eskil Abrahamsen Blomfeldt
051ef6f294 Rename QGlyphs -> QGlyphRun
API clean-up for QGlyphRun:
1. QGlyphs -> QGlyphRun
2. QGlyphRun's font()/setFont() -> rawFont()/setRawFont()
3. QPainter::drawGlyphs() -> drawGlyphRun()
4. QTextLayout and QTextFragment's glyphs() -> glyphRuns()

Reviewed-by: Jiang Jiang
(cherry picked from commit 84ef364302728b68d2d29ea9c4ccbec32c7bb115)
2011-05-10 12:20:13 +02:00
Fabien Freling
a35b2d58d9 Add internal documentation for QUnifiedToolbarSurface.
This document is aimed for developers. This is why
it is directly written in the header file. This is
not part of the public API.

Reviewed-by: Richard Moe Gustavsen
(cherry picked from commit 891b6ac7236d21b69bdb54b00051422cee004059)
2011-05-10 11:45:42 +02:00
Fabien Freling
daf3795461 Change the repaint() call to an update().
In show_sys(), if we directly call repaint() this
will triggers too many UpdateRequest events.
This fixes the qwidget autotest
"compatibilityChildInsertedEvents".

Reviewed-by: Richard Moe Gustavsen
(cherry picked from commit 747962e6ec20a59b7e2ed67c5cd685258f199a86)
2011-05-10 11:45:33 +02:00
Fabien Freling
5839b221a0 Change the repaint() to an update().
Forcing to repaint might cause a recursive
repaint. Since there is no apparent reason to
directly repaint, we just call update().

Reviewed-by: Richard Moe Gustavsen
(cherry picked from commit 244fedd484b022881b906b1bc794d5af19d02843)
2011-05-10 11:45:30 +02:00
Fabien Freling
68857f9045 Set the default graphics system to raster.
This change is specific to Mac OS X/Cocoa.

Reviewed-by: Lars Knoll
(cherry picked from commit 2c2026df66f237b7313397dd74f6bc3212b94596)
2011-05-10 11:45:19 +02:00
Fabien Freling
8ac73771c6 Revert "Switch the default graphics system to raster on Mac."
This reverts commit a5d40fd3814ab7c8e865912c03a918bfd5994998.

We have to fix the regressions due to the raster engine before putting
it by default.
(cherry picked from commit 3197fe2af911673c6291db0102e90a0d7f6ae926)
2011-05-10 11:44:57 +02:00
Fabien Freling
e27baeff28 Fix a race condition when the main window is being destructed.
During the destructor of QWidget, we delete the
layout. If the layout is not set to 0 afterwards,
a check on the layout might turn true, but any access
will end with a segfault.

Reviewed-by: João Abecasis
(cherry picked from commit abc5a632942c23496d75c49b3b0b4a674cdafdf8)
2011-05-10 11:44:34 +02:00
Fabien Freling
e7de0c2e12 Switch the default graphics system to raster on Mac.
Reviewed-by: Lars Knoll
(cherry picked from commit a5d40fd3814ab7c8e865912c03a918bfd5994998)
2011-05-10 11:34:15 +02:00
Laszlo Agocs
edd56d531b Remove const from QPlatformClipboard::mimeData().
Most implementations will anyway do non-const operations in there, the
change avoids the need for const_cast or mutable.
2011-05-10 10:09:44 +02:00
Samuel Rødal
df677b9653 Exports for QtWidgets to link. 2011-05-09 13:40:34 +02:00
Laszlo Agocs
4973c2669a Added Wayland selection support. 2011-05-09 11:11:14 +02:00
Lars Knoll
7ff96330ed get QtWidgets to link
some more changes, mainly exporting methods from
QtGui to get QtWidgets to link.
2011-05-07 20:56:32 +02:00
Lars Knoll
e135c811bb move to the right location 2011-05-07 15:04:58 +02:00
Lars Knoll
1ae5e36baf make the new QtGui compile 2011-05-07 10:29:28 +02:00
Lars Knoll
f67b8df3eb library split 2011-05-07 00:02:01 +02:00
Lars Knoll
32ce4fe9e6 split up qguivariant into two files
Move everything that will end up in QtWidgets
into a qwidgetsvariant.cpp file. Currently
this is QIcon and QSizePolicy only.
2011-05-06 23:52:43 +02:00
Lars Knoll
7ff1d396e7 move QPalette into QtGui
also add QGuiApplication::palette() for the default
application palette.
2011-05-06 22:08:43 +02:00
Eskil Abrahamsen Blomfeldt
4135b6b323 Fix QRawFont::setPixelSize() on Mac
When refactoring the setPixelSize() code of QRawFont, it was broken
on Mac. To avoid making the same mistake again, I've added a simple
autotest to check that the pixel size is actually set.

Reviewed-by: Jiang Jiang
(cherry picked from commit 821b8b540af491ce60d35bd84d3c91399ecc0d16)
2011-05-06 16:00:15 +02:00
Lars Knoll
dcc2317f2b comment out references to QDragManager for now 2011-05-06 15:28:42 +02:00
Samuel Rødal
72409addf2 Get rid of qt_qpa_set_cursor from QGuiApplication for now. 2011-05-06 12:45:11 +02:00
Samuel Rødal
acf56efdc7 Get rid of stale QWidget-stuff from QGuiApplication. 2011-05-06 10:56:32 +02:00
Eskil Abrahamsen Blomfeldt
80a230e221 Fix QPainter::drawGlyphs() with non-affine transformation
When the matrix has an non-affine transformation, the text will have to
be rendered using the default path-renderer. This means going through
the drawTextItem() path (since drawStaticText() has no support for those
transformations) and it also means not pre-transforming the coordinates,
since the default implementation of drawTextItem() supports
transformations.

Task-number: QTBUG-18214
Reviewed-by: Jiang Jiang
(cherry picked from commit 55446d104db77fc7994ab12352b1c08bb7b63346)
2011-05-06 10:44:49 +02:00
Lars Knoll
14a322318d compile fixes 2011-05-05 15:38:01 +02:00
Lars Knoll
3821d92366 remove qwidget dependencies from keymapper
Remove the QWidget dependencies from keymapper and
move it back into guikernel.
2011-05-05 14:58:04 +02:00
Lars Knoll
419ef5f126 move gesture event into qgesture.*
Since QGesture stays in QtWidgets for now, move
the event there as well.
2011-05-05 14:51:04 +02:00
Lars Knoll
73a99f3897 compile fixes 2011-05-05 14:19:52 +02:00
Lars Knoll
2bcd79e213 remove some more qapp dependencies 2011-05-05 14:07:23 +02:00
Lars Knoll
288d388496 special directory for stuff we want to move from widgets to gui
Create a special to_be_moved directory, that will contain files
that are to be moved from QtWidgets to QtGui. This will allow
us to do a first split of the libraries rather fast and we can
then start pulling in these classes one by one.
2011-05-05 14:02:45 +02:00
Jiang Jiang
1daf67042d Only enable design metrics for scalable fonts
Bitmap fonts don't have linear advance at all.

Reviewed-by: Eskil
(cherry picked from commit 111accbf9aaf95b052448ecb70937c61e9b59d66)
2011-05-05 13:39:11 +02:00
Jiang Jiang
05a1416be8 Add a way to retrieve CTFontRef from QFont
Since macFontID restricts to quint32, we have to return that in
QFont::handle.

Task-number: QTBUG-17890
Reviewed-by: Eskil
(cherry picked from commit c8f299b7e675c839b16d750cd2633a57cdd0526f)
2011-05-05 13:39:05 +02:00
Lars Knoll
326bd84c84 move some more files into proper places 2011-05-05 12:23:13 +02:00
Lars Knoll
b220fcb1a8 remove some dependencies to QTextEdit
QSyntaxHighlighter is now free of dependencies to
QtWidgets.
QTextImageHandler still needs some work to get
the url resolving to work again.
2011-05-05 10:38:43 +02:00
Lars Knoll
7351a43560 remove some QApplication dependencies 2011-05-05 10:38:15 +02:00
Lars Knoll
22a6540326 QPixmapFilter will live in QtWidgets
The class is only used for QGraphicsEffect. When merging
QtOpenGL into Gui and Widgets, the GL nased pixmap
filters will also need to be moved into effects/ and
the pixmapFilter() method in QPaintEngineEx can get
removed.
2011-05-05 09:57:00 +02:00
Samuel Rødal
6229ef2dce Get rid of more QWidget / QApplication dependencies. 2011-05-04 16:59:33 +02:00
Lars Knoll
d7b91f613d remove QWidget dependencies. 2011-05-04 16:39:05 +02:00
Lars Knoll
b22f3a086e separate QPrinter and QPrintDialog
Removed all dependencies QPrinter had on QPrintDialog.
2011-05-04 15:53:52 +02:00
Samuel Rødal
7196329d32 More QApplication prefixes changed. 2011-05-04 15:13:47 +02:00
Lars Knoll
08ba97f653 qdrawutil is for QtWidgets
the methods don't make sense for QML based apps
2011-05-04 15:15:21 +02:00
Samuel Rødal
aa20a95f59 Use base-class prefix instead of QApplication:: where possible. 2011-05-04 15:03:45 +02:00
Samuel Rødal
7a0ae98978 Move some cursor handling to QGuiApplication from QApplication. 2011-05-04 14:58:26 +02:00
Lars Knoll
8c626b7079 that signal has moved to QGuiApplication 2011-05-04 14:58:52 +02:00
Lars Knoll
fd84bc720a remove some unused code
QPaintDeviceRedirection is not being used any more.
Remove all code related to it.
2011-05-04 14:55:11 +02:00
Lars Knoll
100e074126 QStylePainter belongs in QtWidgets
Move it into the styles/ directory that will end up
in the QtWidgets library
2011-05-04 14:55:11 +02:00
Samuel Rødal
5c16bb8a12 Move KeyPlatform and currentPlatform() to QGuiApplicationPrivate. 2011-05-04 14:42:42 +02:00
Samuel Rødal
e6af684ee4 Closing of popups in QWidgetWindow. 2011-05-04 14:35:36 +02:00
Samuel Rødal
4cc4cb3c51 Remove unused variable. 2011-05-04 14:35:36 +02:00
Lars Knoll
bd8d12b7f6 move platform specific files out of the way
Keep the files as reference to implement the
lighthouse plugins, but move them away from
the main directory hierachy as they won't be
part of Qt5 in any case.
2011-05-04 14:39:19 +02:00
Jiang Jiang
edf55f7d50 Remove QFontEngineFT::loadGlyphMetrics
It is no longer used and was accidentally merged back in.

Reviewed-by: Eskil
(cherry picked from commit 782535ac548c582542bd1c17207e288e816870a8)
2011-05-04 14:34:31 +02:00
Jiang Jiang
2a8d50ed6a Add required font metrics functions to QRawFont
Reviewed-by: Eskil
(cherry picked from commit 2c8df8bfb679885c3cbd2ee02f5e4053fdd554c2)
2011-05-04 14:34:21 +02:00
Samuel Rødal
dc0f9f02a5 Implemented enter / leave events for QWidget. 2011-05-04 14:19:40 +02:00
Samuel Rødal
4e69052efc More fixes... 2011-05-04 13:57:06 +02:00
Samuel Rødal
f838dcc050 Improved handling of child windows.
Don't force-create QWindows until they're explicitly created or shown.
2011-05-04 13:14:29 +02:00
Lars Knoll
9ff98b92a1 forgot this file 2011-05-04 13:09:06 +02:00
Lars Knoll
3e8b53a46c moving some more files around. 2011-05-04 13:08:02 +02:00
Lars Knoll
401f078386 split kernel/ up according to the future library split
Create a guikernel/ directory that contains the files that'll go
into libQtGui. What remains in kernel/ will go into QtWidgets.
In addition to that image/, painting/ and text will end up
int QtGui.
2011-05-04 12:50:14 +02:00
Lars Knoll
004700532a remove constructor 2011-05-04 12:14:17 +02:00
Lars Knoll
1077edd108 Merge remote branch 'origin/master' into refactor 2011-05-04 12:04:43 +02:00
Lars Knoll
0e3823d30c remove dependency to QStyle::visualAlignment
The current position of the code in QGuiAppPrivate
is a bit messy, but we can later on consider
consolidating some of this in some helper
namespace.
2011-05-04 11:51:33 +02:00
Gunnar Sletta
c41153e693 Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging 2011-05-04 11:38:42 +02:00
Eskil Abrahamsen Blomfeldt
2e0003eda4 Include pixel size of font in exported HTML from QTextDocument
When you copy-pasted rich text in which the font size had been set
using setPixelSize() the font size would be mysteriously forgotten.
The pixel size property in QTextCharFormat was added ad hoc, and not
integrated in the HTML exporter.

Task-number: QT-4792
Reviewed-by: Gunnar
(cherry picked from commit 5aa5c2e2935c1829cc6965198968699f17c24ec0)
2011-05-04 11:20:59 +02:00
Lars Knoll
b9798615b4 small cleanups 2011-05-04 11:06:54 +02:00
Samuel Rødal
c418f5ce8d Proper sub-widget mouse grabbing in QWidgetWindow. 2011-05-04 10:42:54 +02:00
Samuel Rødal
07fef33d28 Get rid of warning in QPixmap::grabWidget(). 2011-05-04 10:40:20 +02:00
Samuel Rødal
3f3a950d6e Clean up some QWidget dependencies in gui/image. 2011-05-04 10:26:42 +02:00
Samuel Rødal
19822fa60c Get rid of QCustomRasterPaintDevice / QWS stuff in raster engine. 2011-05-04 10:13:43 +02:00
Gunnar Sletta
9c6347f245 Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging 2011-05-04 10:08:23 +02:00
Samuel Rødal
8d5df33f9c Get rid of remaining QWidget dependencies in QPainter. 2011-05-04 10:02:56 +02:00
Samuel Rødal
862263b0ab Remove QWidget dependency in QPainter::initFrom(). 2011-05-04 10:02:56 +02:00
Samuel Rødal
ea6c6d711b Get rid of unused window surfaces. 2011-05-04 10:02:56 +02:00
Lars Knoll
2e9fd1325f move keyboardInputLocale and keyboardInputDirection into QGuiApplication 2011-05-04 09:31:54 +02:00
Lars Knoll
526bc2bf78 less qapp includes 2011-05-04 09:18:55 +02:00
Eskil Abrahamsen Blomfeldt
5bf2f85953 Compile on Windows
The SPI_FONTSMOOTHINGCONTRAST macro is not defined everywhere. When
the code was refactored, the workaround for this was lost. This
resubmits the work-around to make it compile.

Reviewed-by: Samuel
(cherry picked from commit 4c3630c1fcd2b3008f540a8906a19c533604f36a)
2011-05-04 09:12:40 +02:00
Lars Knoll
492bbdefd3 Remove more QApp dependencies
platformIntegration() lives in QGuiApplication
QFont and QFontDatabase can live with QGuiApp only
as well.
2011-05-04 09:11:33 +02:00
Jørgen Lind
d8c6e2773f Remove warnings
(cherry picked from commit 9625c564877414695a9706acf34bc8719018ef06)
2011-05-04 09:03:50 +02:00
Jørgen Lind
64fa65df74 Lighthouse: Fix virtual desktopwidget
(cherry picked from commit 69c759f5b84c2f6a44377e5f72cfe9d5bf7344c6)
2011-05-04 09:03:41 +02:00
Lars Knoll
54c9b1a80c even less QT3_SUPPORT
the new libQtGui should now be free of any
Qt3 related methods.
2011-05-03 22:51:17 +02:00
Lars Knoll
181df199d3 remove more QT3_SUPPORT code 2011-05-03 22:37:25 +02:00
Lars Knoll
52352c6c57 remove obsolete stuff
everything inside QT3_SUPPORT is gone in
gui/painting
2011-05-03 21:51:54 +02:00
Lars Knoll
34f712e79e remove postscript support from Qt
I really wanted to do this since many years
already! :)
2011-05-03 21:25:04 +02:00
Lars Knoll
f169264b7b remove more QApplication dependencies 2011-05-03 21:14:05 +02:00
Lars Knoll
5df3d517b4 move layoutDirection from QApplication to QGuiApplication
The concept is needed in both QWidgets and QML,
so it has to be in QGuiApplication.
2011-05-03 21:06:20 +02:00
Lars Knoll
91d2b267f1 remove a few qapplication includes 2011-05-03 21:05:50 +02:00
Lars Knoll
ac6878a2f1 rename qwindow_qpa to qwindow 2011-05-03 20:31:37 +02:00
Lars Knoll
5a91925514 QGuiApplication is not QPA specific
Rename files to reflect that QGuiApplication is
going to be used everywhere.
2011-05-03 20:31:37 +02:00
Eskil Abrahamsen Blomfeldt
e443d88501 Support gamma correction of text on GL
If the SRGB framebuffer extension in GL is available, we can support
gamma correction of text with a gamma of 2.1. On Mac this is
sufficient for gamma correcting subpixel antialiased text. Gray
antialiasing should not be gamma corrected on Mac.

On Windows, the user can potentially set the gamma value to anything
between 1.0 and 2.2 (or something like that). We support anything
that resembles 1.0 closely enough by pushing the text out without
any correction (like before). We also support anything that resembles
2.1 (the gamma hardcoded in GL's SRGB extension) by turning on the
extension before blending the text. In between the two, we'll use
gray antialiasing to avoid differing too much from the raster engine
(which is our reference in this.)

For gray antialiasing on Windows, we use a constant gamma of 2.3 which
has been determined by experimentation. Since this is close enough to
2.1 we do gamma correction with SRGB extension.

The distance limit of 0.2 is determined by some experimentation.

Reviewed-by: Samuel
(cherry picked from commit 79ba7cceca5e4029876ace2121edd25b08ae14ce)
2011-05-03 16:50:01 +02:00
Samuel Rødal
ecd9c29a96 Wheel event forwarding. 2011-05-03 16:41:26 +02:00
Lars Knoll
4c6a882e86 remove QApplication and QWidget dependencies in gui/image
The main place that'll still need work is QPixmap::fill(QWidget *)
and QPixmap::grabWidget()
2011-05-03 16:21:47 +02:00
Lars Knoll
f1f5a80cfe remove QApplication dependencies in gui/image 2011-05-03 16:10:52 +02:00
Lars Knoll
2ce57e22d0 remove a unneeded reference to qbackingstore 2011-05-03 16:10:52 +02:00
Lars Knoll
075634945d remove the graphicssystem code paths.
QPA's platform integration layer replaces the
graphics system now.
2011-05-03 14:23:39 +02:00
Lars Knoll
3745e1bd79 reinstantiate a file that got removed by mistake
QPA was using a _qws.cpp file, that got removed by accident.
2011-05-03 13:32:59 +02:00
Lars Knoll
4ebc56f4bd remove a not required include. 2011-05-03 13:19:53 +02:00
Lars Knoll
ea55f60426 split the HexString template class out of qstylehelper
The class is used in quite a few places and has no relation
to styles. Split it out into it's own file to remove a dependency
between Gui and Widgets.
2011-05-03 13:19:29 +02:00
Lars Knoll
806e026043 remove qapp dependency
graphicssystems are not relevant in any case with qpa, so
we simply use the fallback case.
2011-05-03 13:16:52 +02:00
Lars Knoll
eba9bad431 QWS removal, part 2 2011-05-02 16:02:38 +02:00
Marius Storm-Olsen
1287361f64 Move private headers into versioned subdirectory
This will allow us to expose private headers in a controlled manner,
and ensure that they are not used by accident. This also means that
we internally will have to enable the private headers for the
modules we wish to use in the project.
2011-05-02 15:30:08 +02:00
Marius Storm-Olsen
6319779bed Add module.prf, and install MODULE_PRI for each module
Output warning if not present
2011-05-02 15:30:08 +02:00
Lars Knoll
88e39d8654 remove Qt/Embedded.
Everybody use Lighhouse instead :)
2011-05-02 13:45:38 +02:00
Samuel Rødal
59ded5cce4 Implemented close event for QWindow and QWidgetWindow. 2011-05-02 12:00:00 +02:00
Samuel Rødal
3edff16c87 Properly handle the expose event for QWindow. 2011-05-02 10:52:15 +02:00
Samuel Rødal
3086f2098e Set the window title even if it was set before calling create(). 2011-05-02 10:38:33 +02:00
Samuel Rødal
5daea69f74 Resizing support in QWidgetWindow. 2011-05-02 10:36:39 +02:00
Eskil Abrahamsen Blomfeldt
ac4af55972 Make pixel size a qreal in QRawFont
The pixel size in the font engines is already a floating point value.
For maximum flexibility, we should expose this in the public API.

Task-number: QTBUG-18817
Reviewed-by: Jiang Jiang
(cherry picked from commit ac9e63b58533a3215106ed9da82cff3a3e3dda3a)
2011-05-02 10:13:32 +02:00
Dmitry Zelenkovsky
f26c4ba80d Support more items for QTextCharFormat::VerticalAlignment enum for custom text objects.
* QTextCharFormat::AlignNormal - support text format descent, place text object bottom on (baseline - descent).
 * QTextCharFormat::AlignBottom - place text object bottom on baseline.
 * QTextCharFormat::AlignTop - Still not supported.
 * Any other vertical alignment is mapped QTextCharFormat::AlignBottom.

Add new enum AlignBaseline for custom inline objects to take into account font baseline.

Merge-request: 2578
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
(cherry picked from commit ee9455ed2a83084692d969c398ecb91bcd4fc33a)
2011-05-02 09:53:25 +02:00
Samuel Rødal
af77656f15 Proper child delivery of mouse and key events. 2011-05-02 09:26:40 +02:00
Paul Olav Tvete
a90d1b432c Make the wayland plugin compile 2011-04-29 17:07:06 +02:00
Samuel Rødal
57b7c82560 Add QWidgetWindow to bridge events from QWindow to QWidget.
Gets rid of QWidget dependencies in QWindow and QWindowSurface. Events
are not delivered to the correct child widget yet.
2011-04-29 15:46:07 +02:00
Jiang Jiang
774527dd1e Use maximum ascent/descent/leading from fallback fonts in shaping
When shaping a QScriptItem with a multi font engine, currently we
only take the ascent/descent/leading from the primary (first) font
engine in that multi font engine, however, subsequent engines used
during shaping may have larger ascent/descent/leading, disregarding
them may cause clipping issues in some cases.

It's fixed by checking each font engine used in the shaping process
and take the maximum value instead of the first one. On ATSUI we
merely make it compile.

Task-number: QTBUG-16719
Reviewed-by: Eskil
(cherry picked from commit c501403cb5a0c9ec21b00e0c2f640ae85566e0cf)
2011-04-29 11:02:25 +02:00
Jiang Jiang
bbbfc9b0eb Another ugly hack to make bidi cursor work with Core Text
If the text is wrapped with LRE/LRO/RLE/RLO override/embed marks,
Core Text in Mac OS X 10.5 doesn't produce an empty glyph at the
beginning of the glyphs (while it does in Mac OS X 10.6), thus
we need to prepend an empty glyph here, otherwise cursor position
calculation will consider the first two characters as a ligature
of the same glyph.

Reviewed-by: Eskil
(cherry picked from commit a36ac6c34bafa801c2c30d76f59e4a3594efc4d5)
2011-04-29 11:02:24 +02:00
Jiang Jiang
d64460fffb Make sure layoutData exist before checking for string direction
Otherwise accessing that through QTextEngine::alignLine may cause crash.

Reviewed-by: Samuel Rødal
(cherry picked from commit dcdb62c3d1a76d951c4b65bc1b1bd930e2ad14ec)
2011-04-29 11:02:24 +02:00
Jiang Jiang
044e7602ae Take leading space width into account for painting and selection
When painting horizontally centered RTL text and selection with
trailing spaces, we need to take that space width into account
because line.textAdvance doesn't include it.

Task-number: QTBUG-18612
Reviewed-by: Eskil
(cherry picked from commit 224226727f07e8940e0d3131fe7587b11cc4a6ca)
2011-04-29 11:02:24 +02:00
Jiang Jiang
d623257584 Remove extra comma at the end of enum list
It fails compilerwarnings test.

Reviewed-by: TrustMe
(cherry picked from commit 1e847c00dcf4948b8892d0a552576e1d3ea554b9)
2011-04-29 11:02:24 +02:00
Jiang Jiang
0d32728af2 Don't transform glyph positions for Core Graphics paint engine
Since it already transformed text positions based on transform matrix
on QPainter.

Reviewed-by: Eskil
(cherry picked from commit b86c9120710bf1481df5f6541618169a82fd65b8)
2011-04-29 11:02:24 +02:00
Jiang Jiang
a7b6f4c8a5 Turn on HarfBuzz support for Mac/Cocoa
It's possible to enable HarfBuzz text layout on Mac by either:

- Set QT_ENABLE_HARFBUZZ environment variable when running a Qt
  app.

- configure with -harfbuzz to build Qt, then HarfBuzz support
  will be turned on by default.

HarfBuzz will only be used when the font explicitly requested
is supported by HarfBuzz (aka. TrueType/OpenType font), other
fonts (AAT fonts) will still be handled by Core Text.

Using HarfBuzz for text layout will hopefully solve most tricky
complex text shaping bugs on Mac.

Task-number: QTBUG-17728
Reviewed-by: Eskil
2011-04-29 11:02:23 +02:00
Jiang Jiang
0f7cba14f6 Support visual cursor movement for BIDI text
Bidi input can in some contexts be more intuitive if the cursor
works in visual way: pressing left arrow key always make cursor
move one character to the left regardless the language of text,
pressing right arrow key always make cursor move to the right.
It is also the behavior of Mac OS X. Based on the above reason
and requests from Symbian we implemented this support for visual
movement in BIDI text. 3 public properties are added to
QTextDocument, QTextLayout and QLineEdit respectively:

- QTextDocument::defaultCursorMoveStyle can be used to control
  the cursor behavior in all widgets based on QTextDocument,
  like QTextEdit, QPlainTextEdit, etc. When set to QTextCursor::
  Visual, it will enable visual movement for all the cursors in
  the corresponding text edit. Default is QTextCursor::Logical.

- QTextLayout::cursorMoveStyle is used for low-level cursor
  manipulation. When set to Visual, it will enable visual movement
  behavior for all the cursor related methods, including cursorToX,
  xToCursor and drawCursor. Default is Logical.

- QLineEdit::cursorMoveStyle is used to control cursor movement
  behavior in QLineEdit. Default is Logical.:

Task-number: QTBUG-13859
Reviewed-by: Eskil
(cherry picked from commit c480dd641f5d22d1ee72cb27bf39e24c6df65658)
2011-04-29 11:02:23 +02:00
Eskil Abrahamsen Blomfeldt
e99aa8b20c Make sure QFont's resolve mask is copied on compilers with C++0x support
The QFont consists of a d pointer and a resolve mask, and they should
both be copied in the assignment operator.

Task-number: QTBUG-18921
Done-by: Friedemann Kleint
(cherry picked from commit cb5e526c6023237c36aac3446a0a18288f39f3a9)
2011-04-29 10:12:27 +02:00
Jiang Jiang
8c90fb22c4 Fix glyph position issue with fallback fonts
Task-number: QTBUG-18933
Reviewed-by: Eskil
(cherry picked from commit 18fcbf7ae41504324cd453ba9b9655f3e94f6495)
2011-04-29 10:09:13 +02:00
Samuel Rødal
7dda80e1d0 Key and wheel events. 2011-04-29 09:33:50 +02:00
Eskil Abrahamsen Blomfeldt
b2db259a32 Fix crash in raster on X11 when text contains unsupported characters
We would assume the font engine was a FT engine and do a static cast
here, which would cause a crash if the box engine was in use instead.

Task-number: QTBUG-17443
Reviewed-by: Samuel
(cherry picked from commit c9c54682bcd23598ac7a8db3b10e9f18c978e268)
2011-04-29 09:05:26 +02:00
Eskil Abrahamsen Blomfeldt
544babaaf9 doc: Minor cleanup in QGlyphs docs
Just a minor clean-up in the QGlyphs docs. Mainly to try to trigger
CI.

Reviewed-by: TrustMe
(cherry picked from commit 774b5b8c6a627fc90fb7382bc907db5d2e8193bf)
2011-04-29 08:55:03 +02:00
Eskil Abrahamsen Blomfeldt
064d54b2b0 doc: Simplify language in QGlyphs docs
Mainly to trigger CI.

Reviewed-by: TrustMe
(cherry picked from commit 1a1683c2d57debbb3e7f3ae6001eb2c8685dca02)
2011-04-29 08:54:41 +02:00
Samuel Rødal
b68d0688fe Add resize event support to QWindow.
(cherry picked from commit 12b4e7e5a2b18cdd23f540821e1f2785f62b0b9a)
2011-04-28 15:40:01 +02:00
Samuel Rødal
bbee0db8f9 Preliminary QWindow event delivery.
(cherry picked from commit 28a09e668a8125cff680ab9f1e7256e7e4e34158)
2011-04-28 15:39:52 +02:00
Jørgen Lind
290573425c QApplication: Baseclass fixup
(cherry picked from commit 5bbdf65632feed1a2e3f30e97bcdd47950f2b8d4)
2011-04-28 15:39:49 +02:00
Jørgen Lind
9f14dc661e Font
(cherry picked from commit 050925ccac957dea3d4e138babdd7aa93925dffc)
2011-04-28 15:39:46 +02:00
Jørgen Lind
9b8759284b clipboard
(cherry picked from commit 3f5c0e26e0f8b6876c3fb4d3822df49c748b2eea)
2011-04-28 15:39:44 +02:00
Samuel Rødal
0d12e17d25 QGuiApplication refactor in progress.
Things are a bit broken now... At least wiggly runs :)
(cherry picked from commit 6cdcf395ffe1e051d109a45ecd71141173a4a4c0)
2011-04-28 15:39:41 +02:00
Jørgen Lind
dd34255948 Fix QWindow::destroy
(cherry picked from commit 00cd7aa93f916772b22c6137293c7127fe5a33b8)
2011-04-28 15:39:38 +02:00
Jørgen Lind
dc897ca7d9 Lazy init of QWindow
(cherry picked from commit a2c884b6d2fcc77f6aa5e7aaa0aa329f5bef0bbd)
2011-04-28 15:39:36 +02:00
Jørgen Lind
d04aee22e7 Added a visible state to QWindow
(cherry picked from commit 6cd96d1921af9740bf92405ae3adf466140f8923)
2011-04-28 15:39:33 +02:00
Jørgen Lind
2a8189035f Add isWindow type to QObject
(cherry picked from commit 77f08730b4cdb23b43471b2b29ece59e159103d7)
2011-04-28 15:39:30 +02:00
Jørgen Lind
d72a994a06 For QWindow we need topLevelExtra to be created when we have
native widgets
(cherry picked from commit 247088f8fe929d55832f48af3da6f7e5e80cf8a4)
2011-04-28 15:39:28 +02:00
Jørgen Lind
d8784df713 use QObject parent logic when setting parent for QWindow
(cherry picked from commit 2be9fdb4b58accea4078654efed49a50acf6c74d)
2011-04-28 15:39:25 +02:00
Jørgen Lind
54ab99d5e2 Fix compile warnings
(cherry picked from commit e7e856403f32af3e75958c0a8ab68dc37d28df83)
2011-04-28 15:39:23 +02:00
Jørgen Lind
4eb1543337 Lighthouse: use maybetopdata instead of creating topdata for all
widgets
(cherry picked from commit 873764aa3cfbbd87bbbb4f3224a7807d46a16fc7)
2011-04-28 15:39:20 +02:00
Samuel Rødal
45272d5e45 Get rid of QWindow::WindowType and clean up Qt::WindowFlags instead.
(cherry picked from commit 72176bf2a490d2f831d53a66a0987213efa60935)
2011-04-28 15:39:03 +02:00
Samuel Rødal
96b872506a Don't create a platform window if we already have one.
(cherry picked from commit c4dea497adc36a0be840a51c9b98177f1f4b65b2)
2011-04-28 15:39:00 +02:00
Jørgen Lind
02d44966ba Add proper parent logic for qwidget
(cherry picked from commit 98118fb729c39083718c220383fff462ba8eaebd)
2011-04-28 15:38:57 +02:00
Samuel Rødal
ef77e8b651 Added QWindowContext and got wiggly up and running with xcb.
(cherry picked from commit c980e4ef4ebc7699a6c3a7529d3f08ebafc21ffe)
2011-04-28 15:38:51 +02:00
Jørgen Lind
fbef41167a Make QtGui compile again....
Comment out stuff in QWidget::create_sys
(cherry picked from commit 1bbc6a6bb2bf1175080e7a5ba6834ff642fd47ab)
2011-04-28 15:38:48 +02:00
Samuel Rødal
25028e3b14 QPlatformWindowFormat -> QWindowFormat fixes.
(cherry picked from commit 4c2eba33ca0433386fa1273fb1bc14adb852d9ac)
2011-04-28 15:38:46 +02:00
Samuel Rødal
864a2dfa9b QWindow implementation fixes.
(cherry picked from commit 2682cb6bd76a89c8d4ae81b0dd4a77abbf987c24)
2011-04-28 15:38:43 +02:00
Samuel Rødal
dffc816f49 Make QWindowFormat in QWindow a setter and not a constructor argument.
(cherry picked from commit 61e0c55dd0c82031cf5cd021bf3f3537ee91b4a8)
2011-04-28 15:38:41 +02:00
Samuel Rødal
6d28965b10 Move WindowType to QWindow.
(cherry picked from commit cfa7dc87bc962bd0f3a43a464723d74d87f997e2)
2011-04-28 15:38:38 +02:00
Jørgen Lind
498f938f2d Just some more on QWindow. Nothing works
(cherry picked from commit 3acf7aa979630a57791e2a039b1b7b0b85b0aac8)
2011-04-28 15:38:35 +02:00
Samuel Rødal
fee009bcf9 WIP Qt 5 API.
(cherry picked from commit ad12d5babcdc2bad3f2c0fb9fd352ab79c197aa1)
2011-04-28 15:36:28 +02:00
Eskil Abrahamsen Blomfeldt
07fa0ccfc4 Make QtQuick2 compile on QPA
Moved the logic to set pixel size into the font engines to avoid
making the platform plugin interface too complex, and added a function
in QPA to make an isolated font engine based on font data. Currently
none of the QPA back-ends supports it, but it compiles and spits out
a warning if you try to create a QRawFont from data there. This isn't
used in QtQuick2 anyway.

Reviewed-by: Jiang Jiang
2011-04-28 11:01:04 +02:00
Qt by Nokia
eae8fb8599 Initial import from qtquick2.
Branched from the monolithic repo, Qt qtquick2 branch, at commit
a4a585d2ee907746682846ae6e8a48e19deef469
2011-04-27 14:33:44 +02:00
Qt by Nokia
38be0d1383 Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
Qt Git wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:

http://qt.gitorious.org/qt/pages/GitIntroductionWithQt

If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.

Branched from the monolithic repo, Qt master branch, at commit
896db169ea224deb96c59ce8af800d019de63f12
2011-04-27 12:05:43 +02:00