Commit Graph

215 Commits

Author SHA1 Message Date
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
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
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