Commit Graph

362 Commits

Author SHA1 Message Date
Oswald Buddenhagen
5a4df43c71 make QProcessEnvironment::systemEnvironment() encoding-safe
on unix, don't do the roundtrip over unicode.

on windows, use the WinAPI unicode environment instead of the 8-bit CRT
environment.

Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit 60194ad0ea68d7c82b4729119d122dcfeb909842)
2011-05-10 12:54:52 +02:00
Oswald Buddenhagen
9ff8d1c34a make QProcessEnvironment on Unix cache converted variable names
the converted keys also cache their hash, as they are used only for the
purpose of looking up in a qhash.

Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit 18f1613aa8ece72d24ac10e28f06e3db1d8ce400)
2011-05-10 12:54:52 +02:00
Oswald Buddenhagen
299d10549f move key/value converters to the private class
this will enable them to access other members later

Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit a2d70d71c8c7652ded41d5d603672c3927df44e6)
2011-05-10 12:54:52 +02:00
Oswald Buddenhagen
4212ee7ec7 make QProcessEnvironment on Windows preserve variable name case
while windows itself does not care which case the variable names are in,
they may be passed to unix tools which *do* care.

note that this uses true case folding for string comparisons while
windows uses uppercasing. this means that "ess" and "eß" will be
considered the same by us, while not by windows. this is not expected to
have real-world impact, particularly because non-ascii variable names
are not used much.

Task-number: QTCREATORBUG-3110
Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit f3db5603871928ebed43a085a496397e65952b39)
2011-05-10 12:54:52 +02:00
Oswald Buddenhagen
3ab236d77b split QProcessEnvironmentPrivate::Unit into Key and Value
Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit 11a79c65ea992be0e2ede7dc8f60660c9190291f)
2011-05-10 12:54:52 +02:00
Oswald Buddenhagen
1e9a4bce9d remove unused functions
Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit e989a4d375b279b3ea61139cb07596e0e4b79e28)
2011-05-10 12:54:52 +02:00
Oswald Buddenhagen
e608887ee4 minor optimization: use QList::reserve()
Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit 6a53f17c7039f1a5405912a4a645572e215410bb)
2011-05-10 12:54:52 +02:00
Oswald Buddenhagen
9590b7b662 use the Hash typedef
Reviewed-by: thiago
Reviewed-by: dt
(cherry picked from commit 10fd0d3e5c88c7b0265db3acdd75cb3d6f35ee63)
2011-05-10 12:54:52 +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
Thorbjørn Lindeijer
cd650da45a Revert "Added QStringRef::toLatin1 and QStringRef::toUtf8"
This reverts commit feabda665de62a0f6a82d831b45926697f30b45b.

They were already added by Denis Dzyubenko in commit 2916b074.
(cherry picked from commit ffe0a2ec7c1f4412792a977401bdc4dbf6c76acd)
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
c6e1ee2b28 Fixes warnings about unused variables
Reviewed-by: Peter Hartmann
(cherry picked from commit 61c6d66b7efd8de4a83b021e7c4ef2b1a803ece2)
2011-05-10 12:54:51 +02:00
Olivier Goffart
12c96812f9 Fixes warnings
In QString, it would comlain that:
   assuming signed overflow does not occur when assuming that (X - c) > X is always false
Changing to unsigned comparison fix the warning

Others are about unused variables

Reviewed-by: Thiago
(cherry picked from commit 5e5485809e8c6f8339bb9f19ad71ed623a8b23c7)
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
Thorbjørn Lindeijer
e8ac3549c5 Added QStringRef::toLatin1 and QStringRef::toUtf8
These helper functions make it convenient to avoid making an unnecessary
copy of the string before converting it to a QByteArray. The current
most obvious way to do this would be:

  // QStringRef text
  QByteArray latin1 = text.toString().toLatin1();

Though the copy can also be avoided by doing:

  const QString textData =
      QString::fromRawData(text.unicode(), text.size());
  QByteArray latin1 = textData.toLatin1();

Now the faster method can be achieved using the new obvious way:

  QByteArray latin1 = text.toLatin1();

Reviewed-by: Thiago Macieira
Reviewed-by: Robin Burchell
(cherry picked from commit feabda665de62a0f6a82d831b45926697f30b45b)
2011-05-10 12:54:50 +02:00
Laszlo Agocs
b9f6b156c6 Make translucent windows working properly with OpenVG.
The OpenVG engine correctly uses vgClear() to fill the surface with
transparent pixels whenever the window has the WA_TranslucentBackground
attribute enabled. However both scissoring and masking affects
the operation of vgClear(). Drawing artifacts were previously
visible due this, simply because scissoring was left enabled by
the VG paint engine, and the filling with transparent pixels
happens in the window surface's beginPaint() that is called
between the paint engine's end() (for the previous paint) and
begin() (for the next paint).

Task-number: QT-4907
Reviewed-by: Jani Hautakangas
(cherry picked from commit 4a1ae3d1b4e8e032b1c978fcc7e1812e37e1f047)
2011-05-10 12:54:50 +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
Frederik Gladhorn
a92f96efa2 Return name and allow actions for invisible accessible items.
There is no reason not to report the name or allow actions
when a widget is invisible.

Reviewed-by: Morten Sorvig
(cherry picked from commit b88b2cb05c56a4c936a073ccf53c9fb3ad50d5d8)
2011-05-10 12:54:50 +02:00
Jens Georg
b11d1be7f3 Update documentation of QDateTime::toString
Merge-request: 1149
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
(cherry picked from commit 3d4149afe62b4fc5d519a2a155b8f8c32e7e95c4)
2011-05-10 12:54:50 +02:00
Jens Georg
2528f4ffe5 Fix QDateTime::toString for Qt::ISODate
Fixes QTBUG-18290 and the "missing Z" from QTBUG-9698

Merge-request: 1149
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
(cherry picked from commit 8f95a19d330480bd86650c3d2e4e147d3bca5789)
2011-05-10 12:54:50 +02:00
Laszlo Agocs
dc131f1560 Specify swap behavior preserved bit in openvg engine.
Unlike OpenGL, the EGL_SWAP_BEHAVIOR_PRESERVED_BIT was not set for
the EGL configuration used with OpenVG. Yet the preserved swap was
enabled still, which, according to the EGL spec, should fail. To
make sure it still works with other EGL implementations, the bit
is now set in the configuration.

Reviewed-by: Jani Hautakangas
(cherry picked from commit 710aa7f8fbd72ee303c3348aa3aaf12d6984964d)
2011-05-10 12:54:49 +02:00
Emmanuel BOURGERIE
02ebcdb8c7 Fixed QTBUG-11935 : "With MySQL version > 50000 the QMYSQLDriver::
tables() returns tables in all databases on the server"

This bugfix has been rewritten to match contributors advise.

Change-Id: I3a9cf900ff7eae47c9ffdbcf34bcb1b4396d9837
Merge-request: 1010
Reviewed-by: Charles Yin <charles.yin@nokia.com>
(cherry picked from commit c0ca29efdeb442a6b88ccadff409e3f7ef828ce8)
2011-05-10 12:54:49 +02:00
Emmanuel BOURGERIE
b1d6704b14 Fixed QTBUG-11935
Change-Id: Ia7bdb0ceecf2892f6be73d1816764a2bab6275f1
Merge-request: 1010
Reviewed-by: Charles Yin <charles.yin@nokia.com>
(cherry picked from commit a18f36048aa23fb088527c26274e49ce626ddf4d)
2011-05-10 12:54:49 +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
Thiago Macieira
d60bd8e216 Fix warnings on unused parameters and variables
(cherry picked from commit 940f16babab76b328b7c9bfdb5435102c689b76b)
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
Thierry Bastian
1712e20a5a Fixed a crash on Windows XP with mingw in threaded-code
The thread callback doesn't align the stack on 16-bytes on WinXP.
That causes a crash when we call SSE code. So now we tell the
compiler to force that alignment of the stack.

Task: QTBUG-18631
Reviewed-By: Olivier
(cherry picked from commit 364ce5b7f5379499562b4f4f5a68da7ba068fe1e)
2011-05-10 12:54:48 +02:00
mread
3e787c470d Symbian's QElapsedTimer::restart() fixed to return ms rather than us
Symbian's QElapsedTimer::restart() had accidently been changed to
return a microsecond count rather than milliseconds, when the elapsed
timer resolution was increased. This fixes it back to milliseconds.

Reviewed-by: Shane Kearns
(cherry picked from commit 39202973e3fb7ff37033290b29efa1b9edc674fb)
2011-05-10 12:54:48 +02:00
Laszlo Agocs
dfebed5d5b Create a cleanup stack for each new thread on Symbian.
The native thread implementation in Qt 4.8 did not call
CTrapCleanup::New() which resulted in E32USER-CBASE 69 panics
in applications when they tried to use the cleanup stack in
a thread's run() function. In 4.7 this was working because
OpenC's pthread implementation created a CTrapCleanup automatically.
Now we do it also in the native Symbian thread implementation.

Trask-number: QTBUG-18822
Reviewed-by: Murray Read
(cherry picked from commit 41aa023ef6019ac9745b780c953f48b8bbc42a42)
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
Guoqing Zhang
758978564c Fix OpenGL build break on Symbian
Task-number: QT-4871
Reviewed-by: Dmitry Trofimov
(cherry picked from commit f3092b91a7a2e9e34dfe7eefb3c6b0ed8c3c3786)
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
Frederik Gladhorn
2c7c8cf5d0 Don't crash when requesting text.
Sometimes during initialization the QAccessibleItemRow will
still be in an invalid state.

Reviewed-by: Jan-Arve
(cherry picked from commit 90b4cf4b1aa0f70a62118e200e76dc1dc57985cc)
2011-05-10 12:54:44 +02:00
Frederik Gladhorn
1422ce7ded Let QAccessibleButton::text return something even when not visible.
Buttons would not report their text when hidden, which is inconsistent.
Reviewed-by: Jan-Arve
(cherry picked from commit 1897ca20a343121422b354a7910814ddd37abd17)
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
0fbeed69a4 Make navigation in TabWidgets consistent.
navigate would not return the right index in the parent if the current
widget was not the visible one.

Reviewed-by: Jan-Arve
(cherry picked from commit fdeeaa9d61efea9cca783a1d4098ae505df24390)
2011-05-10 12:54:43 +02:00
Frederik Gladhorn
d27fb341ec Fix text for checkable buttons, unit tests.
Return Check/Uncheck for checkable buttons.
Partially revive the buttons unit test.

Reviewed-by: Jan-Arve
(cherry picked from commit 6040eeebfb1ab3be3906295c373033cd5b5d9dc3)
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
José Millán Soto
ed8f1a09f8 QAccessibleTextEdit: Using x coordinate for calculate character width
Merge-request: 1148
Task-number: QTBUG-18233
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit 6cd51aeec11e7a70ba560c350274d5a4bd43c9b9)
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
Qt Continuous Integration System
fde6021547 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Rename QGlyphs -> QGlyphRun
2011-05-10 20:26:33 +10: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
Qt Continuous Integration System
c5d63be839 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:
  Respect capacity in QVector::append().
2011-05-10 20:07:16 +10:00
Qt Continuous Integration System
41e14a4175 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Add internal documentation for QUnifiedToolbarSurface.
  Fix the autotest condition.
  Change the repaint() call to an update().
  Fix the update() autotest for raster.
  Change the repaint() to an update().
  Set the default graphics system to raster.
  Revert "Switch the default graphics system to raster on Mac."
  Fix an race condition in the auto test.
  Fix an race condition in the auto test.
  Fix a race condition when the main window is being destructed.
  Switch the default graphics system to raster on Mac.
2011-05-10 19:50:02 +10: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
Liang Qi
44b7877c87 Respect capacity in QVector::append().
Fix a bug in QVector::append(), it should use the capacity for new size,
when it is implicit shared and capacity is bigger than the new size.

Autotest included.

Task-number: QTBUG-11763
Reviewed-by: joao
Reviewed-by: Olivier Goffart
2011-05-10 11:38:53 +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
Qt Continuous Integration System
d0343621a3 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Remove const from QPlatformClipboard::mimeData().
2011-05-10 18:17:06 +10: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
Qt Continuous Integration System
94021247c1 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Retrieve the actual data in the Wayland clipboard only when requested.
2011-05-10 17:54:22 +10:00
Qt Continuous Integration System
7f9c32bd39 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 QDefaultAnimationDriver
2011-05-10 17:24:49 +10:00
Laszlo Agocs
04549f2eed Retrieve the actual data in the Wayland clipboard only when requested. 2011-05-10 09:17:55 +02:00
Alan Alpert
8fb5928469 Fix QDefaultAnimationDriver
Animation drivers were changed to used signals instead of virtual
functions, but the default animation driver was left behind.

Reviewed-by: Michael Brasser
2011-05-10 13:43:58 +10:00
Qt Continuous Integration System
4bcd4c08fe Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Turned on private headers for some plugins.
2011-05-10 01:16:35 +10:00
Jonni Rainisto
7eef0de091 Turned on private headers for some plugins.
Reviewed-by: axis
2011-05-09 16:55:33 +02:00
Qt Continuous Integration System
e8aceff195 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:
  Skip test on MacOS due to problems with corewlan plugin
  Fix QNetworkConfigurationManager usage outside main thread first
  Update QTBUG-17223 for Qt 4.8
  fix tst_qnetworkreply::httpProxyCommands autotest
  Send User-Agent from the network request in http proxy CONNECT command
  Add autotests for configuration dependent network proxies
  Fix QNetworkReplyImpl error handling
  Enable per network configuration proxy settings in QNetworkAccessManager
  Allow a network configuration to be included in a proxy query
  Fix error handling in write for socks socket engine
2011-05-09 21:54:18 +10:00
Shane Kearns
a590e77fd8 Fix QNetworkConfigurationManager usage outside main thread first
QNetworkConfigurationManager creates the engines loaded from plugins
as objects in the main thread.
If a QNetworkConfigurationManager instance is created in a worker thread
without any instance previously existing in the main thread, then it
is uninitialised until the main thread has run.
This causes allConfigurations() to return an empty list if called
immediately after instantiation, for example.

This fix initialises the plugins using blocking queued connections,
which causes the worker thread to block until the initialisation function
has been called in the context of the main thread.
Deadlock is possible if the main thread is for some reason waiting on the
worker thread, but it will not deadlock on QNetworkConfigurationManager's
mutex.
If this is a problem for an application, it should use
QNetworkConfigurationManager from the main thread first to preload the
plugins.

Task-number: QTBUG-18795
Task-number: QTBUG-18799
Reviewed-by: Cristiano Di Flora
2011-05-09 13:50:02 +02:00
Shane Kearns
7dd503c62f Update QTBUG-17223 for Qt 4.8
In Qt 4.7, http network requests are assigned to http connection
channels before connecting the channel.
In Qt 4.8, channels are connected "blind" as this gives a performance
improvement in certain circumstances.

On the assumption that User-Agent should be the same for all the
requests being sent to the server in a given burst, we use the first
queued request to set the user agent for a http proxy.

Task-number: QTBUG-17223
Reviewed-by: Markus Goetz
Reviewed-by: Martin Petersson
2011-05-09 13:16:41 +02:00
Shane Kearns
e01faeb5c7 Send User-Agent from the network request in http proxy CONNECT command
Some proxies can discriminate based on the User-Agent when sent a
CONNECT command for establishing a HTTPS connection.
With this change, if the User-Agent header is set in the QNetworkRequest
then it will be passed to the http socket engine for use in the connect
command sent to the proxy.
As before, "Mozilla/5.0" will be used by default when no user agent
has been set.

Task-number: QTBUG-17223
Reviewed-by: Markus Goetz
2011-05-09 13:16:13 +02:00
Shane Kearns
a342ba933a Fix QNetworkReplyImpl error handling
The backend was never started when compiled without bearer management,
now it is.
Now emits the error signal in case of startup errors which would leave
the state machine hanging. Previously it just printed a warning.

Reviewed-by: Peter Hartmann
2011-05-09 13:15:23 +02:00
Shane Kearns
1ad3814a56 Enable per network configuration proxy settings in QNetworkAccessManager
Delayed the resolving of the proxy until the backend is being started.
This is because the proxy settings are not known until after
QNetworkAccessManager has brought the network online using
QNetworkSession.
On Nokia's symbian3 phones, the default network configuration is a
service network containing a list of access points in priority order.
For a typical user, this will include one or more WLAN networks and a
cellular network - each of which can have different proxy settings.

Task-number: QTBUG-18618
Reviewed-by: Peter Hartmann
2011-05-09 13:14:46 +02:00
Shane Kearns
f0f55cd59f Allow a network configuration to be included in a proxy query
When Qt is compiled with bearer management support, the network
configuration can be included as a parameter in QNetworkProxyQuery.

This allows QNetworkProxyFactory::systemProxyForQuery to get the right
proxy setting for a specific network. For example a mobile phone could
have network configurations for home WLAN, work WLAN and 3G data
access points, each with different proxy configurations.

Task-number: QTBUG-18618
Reviewed-by: Peter Hartmann
2011-05-09 13:14:37 +02:00
Shane Kearns
279883fdf1 Fix error handling in write for socks socket engine
When socks socket engine calls the write function of the native socket
engine, it now propagates errors to the abstract socket.

Task-number: QTBUG-18713
Reviewed-by: Markus Goetz
2011-05-09 13:14:10 +02:00
Qt Continuous Integration System
38644abb0d Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Added Wayland selection support.
2011-05-09 19:17:15 +10:00
Laszlo Agocs
4973c2669a Added Wayland selection support. 2011-05-09 11:11:14 +02:00
Qt Continuous Integration System
3d8f39857f Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Add qglobal.h exports for QtLocation & QtSensors
2011-05-09 15:43:57 +10:00
Alex
82444f5dff Add qglobal.h exports for QtLocation & QtSensors
Plus the QtLocation configure options

Reviewed-By: Lincoln Ramsay <lincoln.ramsay@nokia.com>
2011-05-09 15:34:25 +10:00
Qt Continuous Integration System
cf1440a6e3 Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging:
  Install private headers into the correct location
2011-05-08 13:17:33 +10:00
Marius Storm-Olsen
ab53743198 Install private headers into the correct location
The privates need to be under <MODULE NAME>/ since we use
    #include <ModuleName/private/header_p.h>
in many places
2011-05-07 22:10:54 -05:00
Qt Continuous Integration System
de47cd9b66 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 QRawFont::setPixelSize() on Mac
2011-05-07 00:05:46 +10: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
Qt Continuous Integration System
f15c1fff3f 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 QPainter::drawGlyphs() with non-affine transformation
2011-05-06 19:00:01 +10: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
Olivier Goffart
3a76f74e88 Merge remote-tracking branch 'mainline/master' into earth 2011-05-06 09:54:24 +02:00
Friedemann Kleint
ec88a76127 uic: Remove Q3Support.
Remove code and tests.
2011-05-06 09:32:09 +02:00
Jørgen Lind
1edc451057 Dont do doneCurrent in swapBuffers 2011-05-05 18:11:57 +02:00
Marius Storm-Olsen
022a528dfd compile openvg with private headers 2011-05-05 08:58:59 -05:00
Taito Silvola
c3ad797d8a QSslConfiguration documentation fix
setPeerVerifyMode() and peerVerifyMode() comments fix

Merge-request: 1220
Reviewed-by: Peter Hartmann
2011-05-05 14:16:30 +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
Kent Hansen
1a2345ec19 Add Q_UNIMPLEMENTED() macro
(cherry picked from commit adce00979c30cc22d26ba43c15e0c7a3733b57ab)
2011-05-04 18:15:53 +02:00
Prasanth Ullattil
af026f6fa4 Fix build error on Mac
To use the private headers, the .pro file should contain
QT += <module>-private

Reviewed-by: Olivier Goffart
2011-05-04 18:04:40 +02:00
Paul Olav Tvete
3611f82975 Build fix 2011-05-04 16:55:48 +02:00
Friedemann Kleint
10a0cc3da2 BC cleanup in uitools.
Remove virtual functions obsoleted by new resource handling
in Qt Designer 4.4. Remove static hash of private objects
for formbuilder.
Requires fd61c9b24d27452df3eb478a81d7e7725fe6f5b4 in qttools.

Rubber-stamped-by: axis
2011-05-04 16:23:51 +02:00
Peter Hartmann
33ce5392e8 HTTP cache backend: do not load resources that must be revalidated
The header field "Cache-Control: must-revalidate" is a strict
requirement for loading the resource from the server, and not reading it
from the cache without revalidating first. With this patch, PreferCache
will load such from the network instead of loading them from the cache,
and AlwaysCache will throw a ContentNotFound error.

Reviewed-by: Markus Goetz
Task-number: QTBUG-18983
2011-05-04 14:35:09 +02:00
Peter Hartmann
0c9f327102 HTTP reply: do not load resources from cache that must be revalidated
The header field "Cache-Control: must-revalidate" is a strict
requirement for loading the resource from the server, and not reading it
from the cache without revalidating first. With this patch, PreferCache
will load such from the network instead of loading them from the cache,
and AlwaysCache will throw a ContentNotFound error.

Reviewed-by: Markus Goetz
Task-number: QTBUG-18983
2011-05-04 14:34:34 +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
Peter Hartmann
863de43dca QNetworkCookie: allow spaces in unquoted values
We should follow
http://tools.ietf.org/html/draft-ietf-httpstate-cookie-23 , which says
parse the value until reaching the next ';' or the end of the line.
Other cookie implementations allow spaces in unquoted values as well.

Reviewed-by: Martin Petersson
Task-number: QTBUG-18876
2011-05-04 14:20:46 +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
Gunnar Sletta
9c6347f245 Merge branch 'master' of scm.dev.nokia.troll.no:qt/qtbase-staging 2011-05-04 10:08:23 +02:00
Gunnar Sletta
a41265a09e Merge branch 'qtquick2' of scm.dev.nokia.troll.no:qt/qtbase-staging into qtquick2 2011-05-04 10:01:30 +02:00
Gunnar Sletta
539602d43a Make it possible for animation driver to specify the advance time delta 2011-05-04 10:00:42 +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
Jørgen Lind
d8c6e2773f Remove warnings
(cherry picked from commit 9625c564877414695a9706acf34bc8719018ef06)
2011-05-04 09:03:50 +02:00
Jørgen Lind
03aafc9d48 Fix Wayland plugin so it works with the wayland bind api
This is mostly for the xcomposite api, but also we needed to readEvents
after doing a connect
(cherry picked from commit 16c054125949b8f8ceec9626156d8790254a63a2)
2011-05-04 09:03:49 +02:00
Kristian Høgsberg
1e3e3980da wayland: Track wayland changes
Pass version number when creating proxies, use wl_ prefix when looking
up interfaces and drop wl_egl_display.
(cherry picked from commit c2adf9395214d711a3a40516c6c2afa64b3b4ca3)
2011-05-04 09:03:49 +02:00
con
95bbf56ff0 Support GL ES 2 with uikit.
For GL ES 2 teach the paint device about the fact that it
is doing rendering backed by a framebuffer object,
not a system framebuffer (which doesn't exist).
(cherry picked from commit 3b437a7706efbaaafdc4861393cbe21354cf4ee2)
2011-05-04 09:03:49 +02:00
Jørgen Lind
64fa65df74 Lighthouse: Fix virtual desktopwidget
(cherry picked from commit 69c759f5b84c2f6a44377e5f72cfe9d5bf7344c6)
2011-05-04 09:03:41 +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
Markus Goetz
8e9aa019bb QNAM HTTP: Removes some comments 2011-05-03 16:47:11 +02:00
Markus Goetz
100b7565aa QNAM HTTP: More comments 2011-05-03 16:47:09 +02:00
Markus Goetz
9aa2feec0e QNAM HTTP: Implement abort() and close() 2011-05-03 16:47:07 +02:00
Markus Goetz
718657d8b2 QNAM HTTP: Comments 2011-05-03 16:47:05 +02:00
Markus Goetz
ea4df8586e QNAM: Function re-ordering 2011-05-03 16:47:03 +02:00
Peter Hartmann
5fdd720425 HTTP caching documentation: add some comments 2011-05-03 16:43:58 +02:00
Peter Hartmann
04f2c4a7a7 Revert "HTTP caching internals: fix logic for PreferNetwork and PreferCache"
This reverts commit 11838861a23ace66307306cf9c96b3f1910e09a9.
2011-05-03 16:43:56 +02:00
Markus Goetz
6d3044db95 QNAM: Fix initialization order warnings 2011-05-03 16:43:54 +02:00
Markus Goetz
b68f29720a QNAM: TODO comments for Qt 5 2011-05-03 16:43:52 +02:00
Markus Goetz
5b2b0a7b35 QNAM HTTP: Fix upload progress signal 2011-05-03 16:42:55 +02:00
Peter Hartmann
a5562d345b HTTP caching internals: fix logic for PreferNetwork and PreferCache 2011-05-03 16:39:32 +02:00
Peter Hartmann
2aba57d58e HTTP Network Reply Impl: return earlier when resource loaded from cache 2011-05-03 16:39:30 +02:00
Peter Hartmann
7876177c0c HTTP Reply implementation: make cache validation method return bool 2011-05-03 16:39:28 +02:00
Peter Hartmann
76e04fdf3d cache: rename validateCache() to loadFromCacheIfAllowed() 2011-05-03 16:38:45 +02:00
Markus Goetz
43b6320a5a QNAM: Fix proxy code after refactoring 2011-05-03 16:34:58 +02:00
Peter Hartmann
0b7df28754 fix build 2011-05-03 16:34:56 +02:00
Markus Goetz
a0beeac097 QNAM: Start new HTTP backend architecture 2011-05-03 16:34:54 +02:00
Markus Goetz
f78640e5c2 QNAM: Copy files for new architecture 2011-05-03 16:34:52 +02:00
Markus Goetz
be4d62d3b7 QNAM: Improve internal proxyAuthenticationRequired()
Make it independent from the backend architecture
to improve refactorability.

Reviewed-by: Peter Hartmann
2011-05-03 16:34:50 +02:00
Markus Goetz
856da3ee19 QNAM: Improve internal authenticationRequired()
Make it independant from the backend architecture
to improve refactorability.

Reviewed-by: Peter Hartmann
2011-05-03 16:34:48 +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
Martin Petersson
5aaa38c7ac QNetworkConfigurationManager: Fix network polling.
startPolling() is called by each engine, so before it would start
multiple singleshot timers. So I moved the timer to the class
and check if it has already been started before it is activated
again. So that we just use one timer.

Task-number: QTBUG-17219
Reviewed-by: Iiro Kause
Reviewed-by: Kranthi Kuntala
(cherry picked from commit 2506b86828ca8140c2f22d85a4378df40899b132)
2011-05-02 12:39:40 +02:00
Martin Petersson
5be54b220a QAbstractSocket: Fix waitForReadyRead infinite loop.
Make sure that waitForReadyRead times out if the read buffer is full.

Task-number: QTBUG-16123
Reviewed-by: Peter Hartmann
(cherry picked from commit 8d4cd52b6981a4e6deea7fdb77f56e40c4f3e6ba)
2011-05-02 12:39:12 +02:00
Martin Petersson
e4b289c276 Fix compile warning on Windows
Reviewed-by: Prasanth Ullattil
(cherry picked from commit 800ad68e4f000e65b0a83ef1da2a29d595964156)
2011-05-02 12:38:48 +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
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
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
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
axis
9e57cd5e6a Merged master into qtquick2. 2011-04-27 14:34:19 +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
Prasanth Ullattil
055a45e61d Fix the target for QtUiTools debug on Mac 2011-04-27 12:06:04 +02:00
axis
2e1af58417 Introduced the QT.<module>.plugins variable to module profiles. 2011-04-27 12:06:02 +02:00
axis
afa1807c40 Added QT.<module>.imports support to module profiles. 2011-04-27 12:06:00 +02:00
Prasanth Ullattil
d7ce3d25bc Avoid recursively including the same arch.pri file 2011-04-27 12:05:57 +02:00
Prasanth Ullattil
3bfa70fef9 Include headers.pri from the last path in MODULE_INCLUDES 2011-04-27 12:05:55 +02:00
axis
95137041ab Use correct DESTDIR for UiTools. 2011-04-27 12:05:52 +02:00
Liang Qi
80473d3c2c Move uitools from QtTools to QtBase 2011-04-27 12:05:52 +02:00
Marius Storm-Olsen
82bf3bd775 Make each module refer to its own bin/
Since modules cannot rely on QtCore having a build directory, nor
can they build the applications directly into $$[QT_INSTALL_BINS]
each module needs their own bin/. Add this path to each module's
pri file, so others can use their applications
2011-04-27 12:05:51 +02:00