Commit Graph

2754 Commits

Author SHA1 Message Date
Jędrzej Nowacki
5bd377274e Add QPolygonF to metatype system.
That was strange that QPolygon was know to QMetaType class but QPolygonF
not.

Change-Id: I67bb99644b8b1d0fe1aec730619d8048cb78219b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:12:18 +01:00
Jędrzej Nowacki
8fd64d22ac Make usage of internal QVariant space.
Each QVariant instance has internal storage which may be
used for well-know basic types. This patch changes the
behavior by delegating type dependent operation to QMetaType
class which knows more types than QVariant itself.

The patch significantly reduce amount of code in QVariant
implementation.

There are few side effects of this patch:
- better performance:
* for Core types when using Gui (QGuiVariant is able to
construct Core types)
* for small custom types (QVariant::Private::Data is used for all
types that has size small enough)
- comparing two QVariants can give different result for small custom
types (binary comparison instead of pointer comparison)

Change-Id: Ic17fa500d6a882110bfba896fd456c8e6c7a63a9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:34 +01:00
Jędrzej Nowacki
2b39be6dd5 Implement QMetaTypeSwitcher.
Currently one of the most common coding pattern, when working with
QMetaType types, is to switch over all types ids to convert a given
type id to a real c++ type. The pattern is not perfect, because of:
- code duplication - to convert type id to a real type a user has to
write own switch case
- maintenance - adding new type to QMetaType::Types doesn't propagate
to other parts of code.

Proposed type switcher can solve the issue by switching type id and
delegating found c++ type.

The class is created for internal use only and was created to simplify
common problems in QtDeclarative, QtScript and QVariant.

Change-Id: I0567ef908024b3b05ee18126f98a73a74748fbd2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:14 +01:00
Jędrzej Nowacki
eda469d3a0 Add QTypeModuleInfo template class
From time to time it is necessary to know from which module a type comes
from. This information couldn't be part of QTypeInfo as id doesn't work
for forward declared types.

QTypeModuleInfo should stay for Qt internal usage only.

Change-Id: Ia53747c88293fc0cdaffef919b94c653412779d3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:09 +01:00
Jędrzej Nowacki
7f35d5849e Refactor QMetaType types.
QMetaType::Type enum is the main source of type ids. Currently
there are many tasks that can be replaced by a smart macro that
can iterate over all types. The patch introduces series of FOR_EACH_
macros that may be used for code generation.

As the first step the macro was used for Q_DECLARE_BUILTIN_METATYPE
to make sure that no type was forgotten.

Second step was to use created macros in autotest to improve tests
coverage.

Change-Id: I34e9ad7bacf02b44b028bc1aad20b1241aacebd3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-11-09 10:11:02 +01:00
Bradley T. Hughes
7ae1e39455 Silence warnings from clang
Many enumerator values were not handled in msbuild_objectmodel.cpp. For
each unhandled value, add a case statement that simply breaks.

Change-Id: I018fc5e641200568c88ccc6acb3f5b6ee6b3fd6f
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2011-11-09 09:42:20 +01:00
Jason McDonald
9de6257657 Remove redundant copies of QTRY_COMPARE.
QTRY_COMPARE is now part of qtestlib, so there's no need for copies of
it.

Change-Id: Ied4e7d3b30c1cf16ddcbf8655e4d976e74c2bd8a
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-09 01:09:27 +01:00
David Faure
eb41f4be1e Update .gitignore
Change-Id: Ie304ec2776d6fdef734da8bbc22e8dea77417c78
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-08 17:20:39 +01:00
Friedemann Kleint
635cf1badf Widgets: Remove remains of Windows file dialog.
Also remove Windows-specific binary compatility hack from Qt4.

Change-Id: I4b6914b357f21737e392745f907c770db9f7a641
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-11-08 17:20:39 +01:00
Aurindam Jana
124044613d QGlobal: Define a default message handler
Currently, qInstallMsgHandler() does not return the
handle to the default message handler. This patch defines
a default message handler. This is returned by
qInstallMsgHandler() when called for the first time. A call
to qInstallMsgHandler(0) will restore the default message
handler as was the case previously.

Change-Id: I42f06654d45fb0e633f3c6d912fc8f05c23249aa
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-08 17:20:39 +01:00
Olivier Goffart
a4f446704e QNAM: Fix authentication cache when the password is in the URL
Two problems:
 - The signal cacheCredidentials was not connected in the synchronous
   case while it must be connected. (Regression when the threaded http
   was merged)
 - We cannot cache the credidentials when we proceed the url because
   at that point, we do not know the realm (this basically reverts
   9bc5a32b875b812c3a706034c8c27614f86bd138)

Task-number: QTBUG-18411

Change-Id: I8ea11fa23db4314c3f17ed06d2d7f9ee934ccdba
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-08 17:20:39 +01:00
Jiang Jiang
1c70cd9980 Avoid double initialize of platform font database
Since platform font database will be populated in QFontDatabase::load,
no need to do it here in QFont::initialize.

The change was in cd781b732e but lost
in previous merge.

Change-Id: Iaa56fea5765d94e4f7b58409654bc218808086cd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-08 15:52:28 +01:00
Peter Hartmann
7a78248e9c SSL: blacklist intermediate certificates that issued weak certs
... as did browser vendors.
Tested manually with affected CA certificates.

Reviewed-by: Richard J. Moore <rich@kde.org>
(cherry picked from commit e1d6df4e5931ee49b4b68dd5a33146f5639268b7)

Change-Id: I5bf6c147abf6d2de0f313d65faa2d9a1e9684cea
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
2011-11-08 15:52:28 +01:00
Morten Sorvig
ed55c4a14c Cocoa cursor support: Add QCocoaCursor.
Port the Qt 4 mac implementation.

Change-Id: I3bc6fd0b5a0398dcf43a5aaa3b498bb74b42c105
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-08 15:52:28 +01:00
Friedemann Kleint
f54411069c Widgets: Use QPlatformDialogHelper in QColorDialog/QFontDialog.
Change-Id: Ib9a2f19679c2d4c8583742a918d61c1a98403843
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-11-08 14:10:15 +01:00
David Faure
5e26608ae2 Add Q_DECLARE_PRIVATE equivalent for QDir, to be able to subclass it
Apply the same solution to QFileInfo (no public detach(), but a
non-inline d_func instead).

Change-Id: I31c4c759f44a0649b97f7884b078b174c9c00f22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-08 12:09:06 +01:00
Kevin Simons
4d398c90fb The value of the -sysroot option of configure was not getting set correctly
Change-Id: I35f7b87e1fa176358b85bca646fbf1a388cb77a5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-08 10:47:57 +01:00
Jo Asplin
97ea2f0f6e Completed change to eliminate v8.pro
The initial change to eliminate v8.pro was
incomplete - see 803b7d651c.

Change-Id: Ia2c996d247f8b19380363f3e0409d38d3b839fdb
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-08 09:23:27 +01:00
Jo Asplin
b481e0d885 Moved utf8/ and deleted corelib.pro
This change moves utf8/ into corelib, thus
allowing corelib.pro to be deleted.

Change-Id: Ib1b4e0930ac0e116d9bbc242a6dfb63ae5785d19
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-08 09:22:50 +01:00
Jo Asplin
dad925a1ce Re-enabled tst_qdialog
Commit 0fd8514a57 ensured that
the showAsTool test function is now properly QSKIP'ed for
platforms where it is always known to fail.

This change re-enables the test case as a whole so that
the passing test function may actually catch real Qt bugs again
(without being ignored by CI).

Task-number: QTBUG-22453
Change-Id: Icfe56558f8c0f4b50dbbc21d9748df6d81fea4fe
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-08 09:22:00 +01:00
Jo Asplin
6ce2cf3456 Deleted QWS tests
QWS is not supported for Qt 5, so the QWS tests are deleted.

Change-Id: I08837fbd879915bbca9f821fad3551450eb3a1c6
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-08 09:21:43 +01:00
Charles Yin
78542c6275 QPainterPath: Fix copy constructor again.
The previous fix a05270f435 is not correct,
QPainterPathPrivate(other) should be QPainterPathPrivate(), as there
is only a default ctor for QPainterPathPrivate and ref is initialized there,
 use copy ctor just copies the ref value which makes all detach() calls broken.

Add an unit test for this as well.

Change-Id: I658f0a977664d5ec523af3f8a48c1a866eda6ab0
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2011-11-08 07:43:00 +01:00
Jiang Jiang
63eae1bd15 Fix subpixel positioning support
Move subpixelPositionForX from QTextureGlyphCache to QFontEngine,
since some font engines like QFontEngineFT may need a custom
implementation or tweak it a little bit.

In QRasterPaintEngine::drawCachedGlyphs, do not add aliasedCoodinate
to x offset as that will break subpixel positioning.

Change-Id: Idbcec617509459b80965220ceb07b17737649bbf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-08 07:43:00 +01:00
Jędrzej Nowacki
04f6983979 Implement QRegion::isNull
The method was missing from QVariant perspective (QVariant::isNull
supposed to call isNull not isEmpty).

Change-Id: Ic1ac9f662e275ac73908809f2c4ac59679b40b00
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
2011-11-08 06:20:42 +01:00
Chris Meyer
d7208aa0c6 Added '-' parameter to fix strings command using gcc-llvm on Mac OS 10.6 w/ Xcode 4.2.
Change-Id: Ib44c17c92fd67e8ffe3f34fa9c6014d8f0d861a8
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2011-11-08 01:13:40 +01:00
Friedemann Kleint
a05270f435 QPainterPath: Fix copy constructor.
Re-add base class initialization accidentally removed by
e277575987.
Fix warning: 'base class 'class QPainterPathPrivate' should be
explicitly initialized in the copy constructor.

Change-Id: Ie94fa82eeeb3a8ddc69aef447f73ce36da616916
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-07 16:49:08 +01:00
Bradley T. Hughes
b2bc9d2762 Bump QCoreApplicationPrivate::app_compile_version to 0x050000
The minimum compile version is 0x050000 now, it cannot be less. Remove
checks for 0x040200 in the widget code, which provided compatibility in
the 4.x series for binaries compiled with 4.0 and 4.1.

Change-Id: Ia01da90de26dca6aeeb79d29c754cbeeecf809af
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-11-07 16:45:16 +01:00
Jason McDonald
e8f7fccf22 Cleanup corelib autotests
Remove redundant empty constructors, destructors and test functions.

Change-Id: Idb51368895e67ec3fc0345a9a5d33d77730c051b
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-07 13:26:41 +01:00
Jo Asplin
9ceb3b4f6f Moved qobjectperformance into other/
The qobjectperformance test is a kind
of performance test that asserts that the
time it takes to emit a signal to a certain
number of receivers does not exceed a certain
time.

other/ currently seems to be a sensible place for
such a test. Alternatively, it could have been put
next to corelib/kernel/qobject/.

Change-Id: I5c9461b62984f5806d1f6940123d30ef9f9f5a37
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-07 13:26:41 +01:00
Jo Asplin
803b7d651c Refer to v8 directly as a subdirectory.
v8 may be specified directly as a subdirectory in
tests/auto/auto.pro instead of indirecly referring to v8.pro.

Change-Id: I95d8c788fa67958372795519036cd8aec835b324
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-07 13:26:41 +01:00
Friedemann Kleint
e0cae9af5e qtbase/examples: Add options to standarddialogs example.
Categorize dialogs using a toolbox and add an
options groupbox for dialogs that have options flags.

Besides example usage, this allows people implementing
platform native dialogs to play around with the options.

Change-Id: Icc0fd00382332b11783271ef15a0583c18758784
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2011-11-07 13:26:41 +01:00
Joerg Bornemann
c76e91db97 symbian epoc root code removed
Change-Id: Ibc9f5e42c534a09a8a44a0c95789f467970d38a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-07 13:26:41 +01:00
Joerg Bornemann
981dd3b314 qmake: remove symbian support
Change-Id: I1db834500921681676a6f46e7750bdd81bf0093d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-07 13:26:41 +01:00
Jo Asplin
e0dfa4547e Re-enabled passing tests in tst_qmenu
To increase the effective test coverage, this patch
re-enables the tst_qmenu test case as such, and
instead disables only the test functions that are currently
failing in CI.

Task-number: QTBUG-22453
Change-Id: I62cc1a2a9b0206595808deafb5fc137888ec97b3
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-07 13:26:41 +01:00
Joerg Bornemann
eb7192a96d remove symbian support from configure
Change-Id: Ib37defb1a69b3f8e5e5c6698f022291849f52716
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-11-07 12:01:47 +01:00
Jo Asplin
50890c0da8 Re-enabled passing tests in tst_qinputcontext
To increase the effective test coverage, this patch
re-enables the tst_qinputcontext test case as such, and
instead disables only the test functions that are currently
failing in CI.

Task-number: QTBUG-22453
Change-Id: Ib1d4946ab29e67e0e72f4f9c6a7bf39b65d0f6be
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-07 09:28:33 +01:00
Jo Asplin
7ba57e2630 Re-enabled passing tests in tst_qprinter
To increase the effective test coverage, this patch
re-enables the tst_qprinter test case as such, and
instead disables only the test functions that are currently
failing in CI.

Task-number: QTBUG-22453
Change-Id: I74cc30dc26b8b83852b3516f8def995eab19cf0f
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-07 09:27:07 +01:00
Andrew den Exter
db34625eae Fix QQuickTextInput implicit width.
QQuickTextInput tries to set the UseDesignMetrics text option on its
QLineControl but this is overridden by the options set in
updateDisplayText(). Apply the new options in updateDisplayText to
the existing options.

Change-Id: I6789c3c2d6e496c1594d586bd075473983978f77
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2011-11-07 01:11:30 +01:00
Richard Moore
9602887db1 SSL certificate extensions: add unit tests
Added tests for each of the supported extensions, and also for the
handling of unknown ones.

Change-Id: I29e0a5c1a411f41c2a554293662a33b56f205c00
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-06 21:01:03 +01:00
Richard Moore
6248b869d0 SSL certificates: add functionality to read extensions
... by adding a new class QSslCertificateExtension and methods in
QSslCertificate to support extensions. This is needed e.g. for OCSP
(checking revocation status of a certificate) or Extended Validation
certificates.

Change-Id: I5c5d9513fa640cd487786bb9a5af734afebd0828
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-11-06 21:00:39 +01:00
Kevin Simons
efe02f9673 Reinstate and deprecate the two argument QMetaType::construct
Change-Id: Id291f00ba13a39b4af022b75fd428b876d6dd9b0
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela
7851568c65 QLineEdit - made mouse interactions commit preedit
Simplifying input context mouse handling rules by making
the editor in charge when text gets committed and selected.

This includes:
 - Allowing selection to start on top of preedit. Commits once a
   single character gets selected
 - Double click to commit preedit before selecting a word.
 - Only sending events to input context that happen on top of preedit.
 - Committing preedit when a mouse press happens outside of it,
   allowing to move cursor to click position.

Change-Id: I9dab00ea3445055ffd0d7cae540a1197c5748509
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela
10dc2171cf Fix broken indendation with hard tabs
Change-Id: I1aa161ddab55f11683b2eee3c205505a829013c4
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela
8bd40fef07 Support tentative commit string with input method.
Tentative commit string allows input method to notify editor
what is expected to be committed in the place of preedit.
This commit adds such support in QLineEdit.

Change-Id: If855619bc6843652db0d6254f7e7063bb8ad0936
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 23:47:02 +01:00
Pekka Vuorela
4b3d88a9c6 QTextEdit - mouse events to override input context
- Selection can start on top of preedit
- Mouse press outside preedit commits
- Double click to commit on top of preedit

Change-Id: Ia2698d97d354a677d935de1a8fd9ed53a161ca5e
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-05 22:10:52 +01:00
Jo Asplin
15d25dc676 Moved qmetaobjectbuilder test into corelib/kernel/
This commit moves the qmetaobjectbuilder test from test/auto/
into corelib/kernel/ since that matches the location in the Qt source.

Change-Id: I0342e8185ce775b0ef71849f365bf54c8fb56da4
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-05 02:31:14 +01:00
Jason McDonald
59309fa404 Remove unused PlatformQuirks functions.
These functions are no longer used anywhere in qtbase and are highly
unlikely to be used elsewhere.

Change-Id: I8e7c433c3b3e799ce0e5bc465182a5046275eb00
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2011-11-05 02:31:07 +01:00
Jo Asplin
79c99466aa Moved qobjectrace into integrationtests/
The qobjectrace test seems to belong to
integrationtests/ since it tests the interaction
between QObject and QThread (much in the same way
integrationtests/qsharedpointer_and_qwidget/ tests the
interaction between QSharedPointer and QWidget).

Change-Id: I89f1dab7300c2ef23755d52a86479677ef021ef1
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2011-11-05 02:30:58 +01:00
Jiang Jiang
b2b3046804 Allow disabling FreeType internal cache
To disable it, set QT_NO_FT_CACHE environment variable to 1.

Change-Id: I086aa93c71cbdf86858a41a2bbad5d2db247cdfb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2011-11-05 02:30:04 +01:00
Jiang Jiang
2b2221fcfa Fix a warning in QGlyphRun compilation
Change-Id: Ic072240193fc8eb5e7fdcd0dada79383398b224b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2011-11-05 02:29:41 +01:00