summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* List required xcb packages for Ubuntu 12.04.Jason McDonald2012-07-111-0/+3
| | | | | Change-Id: Ia934a9da9986f451d90053891c80ec352b939172 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* statemachine: Revamp property assignments implementationKent Hansen2012-07-114-243/+823
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the old implementation, property assignments (QState::assignProperty()) were "second-class citizens". Assignments were not really integrated into the state machine algorithm, but rather done as a separate step (QStateMachinePrivate::applyProperties()). While that was convenient for SCXML spec transcription purposes, it resulted in some pretty poor semantics on the user side: * Properties were not assigned until _after_ both the QAbstractState::onEntry() function had been called and the QState::entered() signal had been emitted. * Automatic property restoration (QStateMachine::RestoreProperties) did not play nice with nested states (and parallel states, in particular). The proper fix is to refactor the implementation to make property assignments first-class in the core state machine algorithm (QStateMachinePrivate::microstep()). In practice, this meant splitting some steps. Instead of calling exitStates() straight away, we now first only compute the states to exit (without actually exiting them), and use the resulting set to compute which properties are candidates for restoration. Similarly, instead of calling enterStates(), we first only compute the states to enter (without actually entering them), and use the resulting set to compute which properties are assigned by the entered states. With that in place, the rest was a matter of moving the various chunks of the old applyProperties() logic to the place where they belong in the per-state entry/exit. All existing autotests pass. Added several tests that verify the desired semantics in more detail. Task-number: QTBUG-20362 Change-Id: I7d8c7253b66cae87bb0d09aa504303218e230c65 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* statemachine: Refactor {enter,exit}States() functionsKent Hansen2012-07-112-19/+34
| | | | | | | | | | | | Move the computation of the sets of entered/exited states to separate functions. This separation is done in order to facilitate the integration of property assignments (QState::assignProperty()) into the core state machine algorithm. Change-Id: I5b7084e0e37037eb64909d217856746d81bf1878 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* XCB: Use glXCreateContextAttribsARB if availableSean Harmer2012-07-111-1/+43
| | | | | | | | | | | | | | | If the GLX ARB extension ARB_create_context is available use the function glXCreateContextAttribsARB to create a context for OpenGL 3 or newer that honours the requested profile and version. If a core profile is requested we also ensure that it is forwards compatible. Also ensure that the stored surface format reflects the requested version. Change-Id: Ie4f77be19bfc400440a2f8c9b3d99240eb430925 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Remove clipboard operations from QAccessibleEditableTextInterfaceJan-Arve Saether2012-07-1111-253/+284
| | | | | | | | | | | | | | | | | | Also, remove its subclass QAccessibleSimpleEditableTextInterface Instead of having the subclass that implements this conveniently, we move this behaviour over to the bridge. The bridge should check if role() == EditableText is set, and then it should try to support the IAccessibleEditableText interface (i.e. it should accept the calls to replaceText(), deleteText() and insertText()) and change the text with the following operations: 1. Query the text using QAccessibleTextInterface::text() or by using QAccessibleInterface::text(QAccessible::Value) as a fallback 2. Do the requested delete/insert/replace manipulation 3. Update the text with setText(QAccessible::Value, newText); Change-Id: Iee5e41faf14351951e2bfca8c9eac970a113e878 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Change deprecated use of qgenericplugin_qpa.h to qgenericplugin.hSergio Ahumada2012-07-111-1/+1
| | | | | | | | | | In file included from kernel/qgenericpluginfactory.cpp:46:0: ../../include/QtGui/qgenericplugin_qpa.h:4:4: warning: #warning Header <QtGui/qgenericplugin_qpa.h> is deprecated. Please include <QtGui/qgenericplugin.h> instead. [-Wcpp] Change-Id: I533270e23e742e6f15ad5d480afb4901fb8541b0 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* add feature file for centralized qml plugin project handlingOswald Buddenhagen2012-07-111-0/+67
| | | | | | | Change-Id: I7cdce31d7ac458656cf8e8490fd7f7e5c04ca106 Reviewed-by: Alan Alpert <alan.alpert@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Set the IMPORTED_SONAME for imported targets.Stephen Kelly2012-07-112-0/+4
| | | | | | | | | On windows this doesn't need to be set. On Mac I'm not sure yet on the various configurations. Change-Id: I31f191711a2ae0a1bb7221ae6e1fef377d62f1dc Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix the name of _debug libraries on APPLE.Stephen Kelly2012-07-111-2/+2
| | | | | | Change-Id: Id3ae730c0ce0630f8ccc222fe09e5d3da23d124d Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* fix linking against installations in /usr/libOswald Buddenhagen2012-07-101-2/+2
| | | | | Change-Id: I17a6a2e058f039e525461d459477329fd7090417 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* make sure that building tests implies building other partsOswald Buddenhagen2012-07-101-2/+9
| | | | | | | | some tests have runtime deps on the other parts Change-Id: Ieb2925e762e94b3c0b16884be0f59e10ce8e4878 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix showNormal() and friends for platforms with fullscreen hintThomas McGuire2012-07-102-4/+4
| | | | | | | | | | | | Don't call show() inside of QWidget, as that might make the window fullscreen due to QStyleHints::showIsFullScreen(). This regression was introduced earlier when QWidget::show() gained support for the hint. No auto test caught the problem, as the affected platforms (EGL and QNX) are not CI-tested. Change-Id: I647c2362ac5b53ced562f1d77848552cc122fba0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* qtbase: Add missing example installs and files.Friedemann Kleint2012-07-107-3/+34
| | | | | Change-Id: I071fd862e001b766c9fb13106242edf23a608663 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make gui compile with QT_NO_SHORTCUTJeremy Katz2012-07-101-0/+5
| | | | | | | | | | | The metatype system expects operator<<(QDataStream &, QKeySequence &) even when shortcuts are disabled. This provides empty definitions for that case. Task-number: QTBUG-24816 Change-Id: Ie29fd01d38178bdc31cc51f1f08662b30edfc1e4 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Use DirectWrite font engine for non-ttf fonts as wellEskil Abrahamsen Blomfeldt2012-07-101-3/+1
| | | | | | | | | | | | DirectWrite supports different font types, not just TTF. In order to enable e.g. CFF support, we simply remove the test for TTF which was initially put in to be on the safe side when handling bitmap fonts. However, using DirectWrite with bitmap fonts also seems to work fine, so there's no reason to have the fallback. Task-number: QTBUG-22654 Change-Id: I8572bc421ab3dd223025ea152ba9b33f7cf33a8a Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Get font's underline position in DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-102-0/+11
| | | | | | | | | Fetch the correct underline position for the font along with other metrics. Task-number: QTBUG-22656 Change-Id: I35f6ea15ad18088033a5e7b7b83e2430c1b32a8f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* test: subtract qurlinternal.pro when private_tests are not enabledSergio Ahumada2012-07-101-1/+2
| | | | | | | | | | This test used requires(contains(QT_CONFIG,private_tests)) in its .pro file, but did not subtract itself from its parent project SUBDIRS when private_tests weren't enabled. Change-Id: Idcd0893c4804a8217e4dd33ba9838ff67e996f58 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make the documentation consistent with the header and QVector* classesLaszlo Papp2012-07-101-4/+4
| | | | | Change-Id: If0c5951029beb388cf4b1b8269de7305d0556ef1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* configure{.exe}: enable 'tools' as a default build partRohan McGovern2012-07-102-2/+2
| | | | | | | | | | | Tools for each module should be enabled by default. Prior to qt_parts.prf, they have been enabled by default, but only by accident - the value of QT_BUILD_PARTS with respect to 'tools' was generally not respected. Change-Id: Icd49d6128d4050ff1c865967a563e9ab88c5a3a2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* statemachine: Don't assign properties for transitions with no targetsKent Hansen2012-07-102-6/+59
| | | | | | | | | | If the transition has no target states, that means the current state won't change; hence, property assignments should not be performed. In particular, properties should not be restored to the values they had before the state was entered. Change-Id: I237bbb541f939c272777e70c5f26c886ec457a17 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* statemachine: Tiny refactoring to avoid double lookupKent Hansen2012-07-103-3/+4
| | | | | Change-Id: I5040ca417dc12e1e0938ba7669b3017e414d13f9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* statemachine: Add some missing QT_NO_PROPERTIES guardsKent Hansen2012-07-102-4/+10
| | | | | | | ... and move the applyProperties() declaration to the right place. Change-Id: Iff4f468f2e7bc0350866b737a0db02c0f74bdd4f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* statemachine: Small refactoring of animation selection codeKent Hansen2012-07-102-14/+21
| | | | | | | | | QStateMachinePrivate::applyProperties() is an epically long function. Move the code for selecting animations to a separate function, in preparation of a larger refactoring. Change-Id: Ic5846db97dd0cb0d6ad01740f413b233d2a66975 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* statemachine: Purge restorable properties when they are restoredKent Hansen2012-07-102-0/+48
| | | | | | | | | | | | Previously, a registered restorable property would only be unregistered if the property was animated (see QStateMachinePrivate::_q_animationFinished()). But if a property is set directly, it should also be unregistered; otherwise, the state machine would use the previously saved (stale) value the next time that property should be restored. Change-Id: I5d246aa5355ddd0ba5f81b0186a9f0e4f3bbaa3f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Set compound state's initial state to 0 if it is removed/deletedKent Hansen2012-07-102-0/+15
| | | | | Change-Id: I45b7c15a9b3d5a1860cb9a7da8836f9eaaa0326d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* statemachine: Let QPropertyAssignment do the property writeKent Hansen2012-07-102-4/+4
| | | | | | | | This allows QPropertyAssignment to be smarter (caching the property index, for example). Change-Id: Ib6d302f46f784219b6b3f07784e5c31dd7288c6e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* statemachine: Don't crash if property assignment target is deletedKent Hansen2012-07-104-13/+88
| | | | | | | | Do like QPropertyAnimation and store the QObject in a QPointer. Purge the assignments list upon state entry and property restore. Change-Id: I54a56885a2905178ab6aa5cf292b3d25c86b7a97 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Use Q_DECL_CONSTEXPR for the QFlag's inline constructorLaszlo Papp2012-07-101-2/+2
| | | | | Change-Id: I8f9c7bf0fddb79c6c0937e415c427a0547a5cab0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtGui: declare some classes as sharedMarc Mutz2012-07-1010-1/+37
| | | | | Change-Id: I0ebb0ca8b8edcecc939021407d1755693f97e553 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Use factor and divisor wording to be consistent with the documentation and restLaszlo Papp2012-07-101-27/+27
| | | | | Change-Id: If05bdcba8f94f4220bae4c40dc5fc3cf44ee41a0 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Extend the sync profile with generating forward header for qnumeric.hLaszlo Papp2012-07-101-0/+1
| | | | | | Change-Id: I3195758e02e26258f1a1ad888e0a069d62b66a53 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* statemachine: goToState() should require that the machine is runningKent Hansen2012-07-101-10/+7
| | | | | | | | | | | goToState() is an internal function. Allowing both goToState() and machine.setInitialState() to be used to set the initial state of the machine complicates the logic of QStateMachine::start(). The existing tests for goToState() still pass. Change-Id: Ie831b4c869848f7f4c3e6bd576cf298a9799eb22 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Speed up QCoreApplication construction a bitHarald Fernengel2012-07-102-3/+3
| | | | | | | | Remove all QString conversions during QCoreApplication construction on Linux. Saves multiple mallocs. Change-Id: Ia8ba071a750dd6a08dcf14ef3ecc424f70a3098d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Color transparency support in html import/exportAlexey Chernov2012-07-104-5/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Export of color transparency component is added for cases where color is exported to html. New static function colorValue() is added to prepare CSS string representation of QColor. When the color is opaque, it falls down to QColor::name() method which was used previously, otherwise it returns 'rgba()' CSS statement or 'transparent' keyword in case transparency is 0. 6-digit precision is used for alpha value as it's maximum which can be processed properly by Gecko and Webkit engines (http://lists.w3.org/Archives/Public/www-style/2009Dec/0295.html). Import part for rgba() statement was also added to QCssParser. It supports rgba() color values as stated in CSS Color Module Level 3 (http://www.w3.org/TR/css3-color/#rgba-color). Import of undocumented statement 'rgba(int,int,int,int);' was also added to preserve regression test success and to provide compatibility with previous code relying on this behaviour. Test cases added to QCssParser autotest for rgba(int,int,int,float) statement and to QTextDocument autotest for rgba(int,int,int,float) and 'transparent' statements for certain 'color', 'background-color' and 'bgcolor' properties. Change-Id: Id341c4e800249820d52edef8003e50f9a74d062b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Support fallback fonts in DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-104-88/+162
| | | | | | | | | | | | | When selecting fallback fonts for a DirectWrite font, we would cast the font engine to QWindowsFontEngine and get unpredictable results and crashes. This change factors out getting the LOGFONT data from the QFontDef struct and will use this to create a new DirectWrite engine. Task-number: QTBUG-22658 Change-Id: I743944d9a44d8742b47b1aa3354532493362cc4a Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* QtDBus: declare some classes as sharedMarc Mutz2012-07-102-0/+4
| | | | | Change-Id: I82f8d8d02f4a5276924f579871547c0a34605424 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Q_DECLARE_SHARED: mark the type movableMarc Mutz2012-07-1013-12/+4
| | | | | | | | | | All implicitly shared classes are by definition movable, so this patch adds Q_DECLARE_TYPEINFO(Type, Q_MOVABLE_TYPE) to Q_DECLARE_SHARED. Change-Id: Idf8989ae1a7ed6d1ac13fccb7eaef7395a875350 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QtCore: mark some classes as sharedMarc Mutz2012-07-107-5/+12
| | | | | Change-Id: I811d3eebd87c230883cc579c20f9fa4e14ff9521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix compilation with conforming compilers (e.g. GCC >= 4.7)Marc Mutz2012-07-103-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | In qdbus_cast(), qMetaTypeId<QDBusArgument> as well as qvariant_cast<QDBusArgument> are used. They don't depend on any template argument of qdbus_cast(), so their definitions need to be available at function template definition instead of instantiation time. But the necessary Q_DECLARE_METATYPE(QDBusArgument) was at the end of the header, after the defintion of qdbus_cast(), which is too late for conformin compilers. Fixed by moving it up just after the QDBusArgument definition. Similarly, in tst_qdatetime and tst_qvector, the Q_DECLARE_METATYPE() for Qt::DateFormat and QVector<int>, and with it the specialisation of QMetaTypeId<>, were issued after the first use of meta typing; too late for conforming compilers. Change-Id: I25ca0b06e68d5184597a22708404a8f2040b2de1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make the x() and y() method documentation consistent with the restLaszlo Papp2012-07-101-2/+2
| | | | | Change-Id: I24d34fe32e2ed7673ba525db0543e705d08037c4 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add note and references to the operator*=() methods for consistencyLaszlo Papp2012-07-101-0/+12
| | | | | Change-Id: Ic2681e1db39a30619d3b2a906595cdbdd0e766d6 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Optimize QFontMetrics:: boundingRect() and left/rightBearing()Konstantin Ritt2012-07-101-6/+6
| | | | | | | | by avoiding unneeded metrics calculation. Same optimization for QFontMetricsF. Change-Id: I7fd0caa2ddb45862ee9e9c0519a71b03bcd0cb6f Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix the UCS-2 surrogates handling in Q*FontEndine*::stringToCmap()Konstantin Ritt2012-07-103-0/+4
| | | | | | | | | by making sure QGlyphLayout's numGlyphs member is properly initialized if the string-to-glyphs lookup was successful (tip: a surrogate pair produces a single glyph index). Change-Id: I01953f3b6281d79e1a214bfab0424e796d94769a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Optimize Q*FontEngine*::stringToCMap()Konstantin Ritt2012-07-103-6/+14
| | | | | | | | | | | by avoiding the glyph metrics calculation when those metrics weren't requested (QFontEngine::GlyphIndicesOnly flag has been passed). As a side effect, this fixes a crash in case QGlyphLayout was initialized only partially (with the glyphs array and the size). Change-Id: I7d67abc2a74683131361fa21f8be203f61f247bc Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Move ShaperFlags enum from QTextEngine to QFontEngineKonstantin Ritt2012-07-1020-96/+88
| | | | | | | | These flags are specific to font engine(s) and has nothing to do with the text engine or the text layout. Change-Id: I4bb793c3c634b3cf0ae0a8a8c23b946fad5874b6 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Adding iMX6-device-filesThomas Senyk2012-07-103-0/+180
| | | | | Change-Id: Ifdfacf7201c9ee47783ae782d1f9042fe529a039 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Change deprecated use of CONFIG+=qdbus to QT+=dbusSergio Ahumada2012-07-0910-14/+10
| | | | | | | | qdbus.prf was deprecated by 812adb58ba714c69eea9249584da2efd4fedecbc Change-Id: I5ceb65c1c671734491fe12e2174e6d8ecc14147d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix installation of syncqt.Casper van Donderen2012-07-091-2/+2
| | | | | | | | - Use the syncqt from the source dir, not build dir. - Copy both syncqt and syncqt.bat on win32. Change-Id: Ic07805d03124386fb112c154e22363a06ae1c8ec Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix glyph positions with DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-091-1/+1
| | | | | | | | | Make same change as we have done in the other engines (floor instead of round) to be in sync with changes in the paint engines. Task-number: QTBUG-26409 Change-Id: I7a99aa27c93cb695ac91507505ef0b940cd78ebc Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Fix bounding box of DirectWrite font engineEskil Abrahamsen Blomfeldt2012-07-091-4/+9
| | | | | | | | | | Vertical bearings of the font were ignored, giving the wrong height. Also, the left bearing is right bound in DirectWrite, so the sign should be flipped. Task-number: QTBUG-22649 Change-Id: I82934f5b08e68e46d1b2221b35008bf9d75c5748 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>