summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Update Qt internals to use QChar::ScriptKonstantin Ritt2012-12-2128-389/+348
| | | | | | | | | | | | | | ...and remove the outdated QUnicodeTables::Script enum. QFontEngineData now has one extra slot that never used (engines[QChar::Script_Inherited]). engines[QChar::Script_Unknown], if accessed, would be set with a Box engine instance, and could be used as a minor optimization some time later. In order to preserve the existing behavior, we map all scripts up to Latin to Common. Change-Id: Ide4182a0f8447b4bf25713ecc3fe8097b8fed040 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Make distance fields rendering work with Opentype CFF fontsEskil Abrahamsen Blomfeldt2012-12-212-1/+14
| | | | | | | | | | | | If the font has a CFF table, GDI will not label it as TMPF_TRUETYPE, however, we can still use GetFontData to get the SFNT tables. This is required to get the maxp table which contains the glyph count, which is required to use the font with the distance-field renderer. Task-number: QTBUG-28746 Change-Id: I3ca1e3d96ea53c453e6fa422b33d1f1f5050a82c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix typo in QWidget::setLayout() documentation.Mitch Curtis2012-12-211-1/+1
| | | | | Change-Id: I4882f01b980d7b89e54be2eeacc3a83fd014d0fe Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QMessageBox: Add property 'textInteractionFlags'.Friedemann Kleint2012-12-202-0/+28
| | | | | | Change-Id: Ia7a4801599f18a1202aa89f54e48066e3d271bfb Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Add QChar::Script enumKonstantin Ritt2012-12-205-5796/+6460
| | | | | | | | | | | | | | | ...where the values are not aliased to Common script. The old QUnicodeTables::Script enum was retained for compatibility reasons until Qt internals are updated to use QChar::script(). Using QChar::Script instead of QUnicodeTables::Script would improve both the text analysis (itemization, boundary finding) and the text shaping quality. This also a required step for switching to Hurfbuzz-NG. /* This adds 6668 more .rodata bytes */ Change-Id: I5aa3d12c550528d0052542436990f8d0779ea8e5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Remove usage of qt_mac_get_scaleFactor() as it is no longer neededAndy Shaw2012-12-193-14/+2
| | | | | | | | | qt_mac_get_scaleFactor() uses a deprecated function, but as this function is no longer needed internally anyway, just remove it. Task-number: QTBUG-28574 Change-Id: I4e3cd2383ecc56aa6f9e3931a1806c62b1cedeb5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Change behaviour of selectRow, selectColumn, unselectRow, unselectColumnJosé Millán Soto2012-12-182-12/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | According to the comments of selectRow and selectColumn, the expected behaviour of this method was to select a row or a column and unselect any cell that were previously selected. However the actual behavior was to select only one cell and not deselect any cell. Moreover, according to the specification there's no simple way of selecting multiple rows or columns as when one of the methods is called for selecting one row or column the others should be unselected. The specification was changed not to require the rest of the cells to be deselected, although they might be deselected if the selectionMode requires that in order for the new row/column to be selected. The implementation of these methods was changed in QAccessibleTable and QAccessibleTree to select the whole row/column and take into acount selectionMode and selectionBehavior. tst_qaccessibility.cpp was modified to test the new behaviour of the methods. Change-Id: I29635d014792169302435e81704e02c16f951238 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Deactivating an inactive panel no longer causes unwanted deactivation.Andreas Aardal Hanssen2012-12-171-10/+14
| | | | | | | | | | | | | | | | | | | | | QGraphicsItem::setActive() is by design not guarded against calls that do not change the current activation state of the item (e.g., calling setActive(true) on an active item or calling setActive(false) on an inactive item). This is to ensure that it's possible to set explicit activation state on items, either before they are added to a scene, or while the scene itself is inactive. Before this fix, calling setActive(false) on a panel item that is not currently active would by accident clear activation from any other panel that might have focus. After this fix, activation is only cleared if the item setActive() was called on itself is the active panel, or is the panel that will regain activation once the scene is reactivated. Task-number: QTBUG-28544 Change-Id: Ic4752f1e4400f9a0660bc968834747610212bb52 Reviewed-by: Bjørn Erik Nilsen <post@bjoernen.com> Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Add new signal: QGraphicsScene::focusItemChanged().Andreas Aardal Hanssen2012-12-173-7/+47
| | | | | | | | | | | | | | This signal is emitted by QGraphicsScene whenever focus changes in the scene (i.e., when an item gains or loses input focus, or when focus passes from one item to another). You can connect to this signal if you need to keep track of when other items gain input focus. It is particularily useful for implementing virtual keyboards, input methods, and cursor items. Task-number: QTBUG-10570 Change-Id: I9cbbd9a2d15d6f568e1597c2c33ec049eb70f793 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Make sure panels always gain focus when activated or tab is pressed.Andreas Aardal Hanssen2012-12-171-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes behavior, but I would argue it's a good change. If you create a panel and activate it (e.g., by simply showing it or reparenting it onto an already-visible item), you expect the panel to gain focus / which is sort of the whole point of activating it. Prior to this change, you had to have explicitly called setFocus() on one of the panel's children, which would give that item subfocus, for that item to auto- gain focus when the panel was activated. This change makes it more automatic. If the panel itself or any of the widgets in its focus chain can gain focus, they will gain focus when the panel is activated. So the new logic is - if the panel already has a focus item, so if someone explicitly set subfocus on an item before the panel is shown, that item gets focus. Otherwise, if the panel itself can gain focus (e.g., someone makes a line edit / text edit panel), it gains focus when activated. Otherwise, we search the focus chain until we find the first item that can gain focus. This last case is the file dialog case, where the dialog itself can't gain focus but typically the first item in the focus chain is the primary focus widget, such as the search field or the directory list view. The change also fixes this for the first Tab. If you clear focus on a panel, the user expects to be able to press Tab to regain focus. Prior to this change that didn't happen. Now, the panel or the first in the focus chain that can get focus gets focus on first tab. Task-number: QTBUG-28194 Change-Id: Id7ec1741d0d5eb4ea845469909c8d684e14017f1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Elaborate shortDayName(), etc using default locale.Leonard Lee2012-12-141-10/+10
| | | | | | | | | | QDate::toString() should explain QDate::shortDayName() and QDate::shortMonthName() will be localized name using the default locale from the system. Task-number: QTBUG-28522 Change-Id: I027a72773b5772bf00344f14a4b522e41c9e63db Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* No reason to dynamically resolve NotifyWinEvent anymoreJan Arve Saether2012-12-131-12/+1
| | | | | | | | It has been available in user32.dll since Windows2000/Windows Server 2003 Change-Id: Icbfc63e944bc9e8098e3b01fd57dc7aa45bcd345 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* QNX: QQnxCursor implementation.Rafael Roquetto2012-12-136-3/+166
| | | | | | | | | | | Implementation of QQnxCursor, a QPlatformCursor subclass. Due to the lack of a proper cursor API from the underlying OS, this class only caches the current cursor position to make sure that the QCursor class works properly. Change-Id: I55031184a009f3b26ad4af36b1975204e8fa80dc Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* Remove some dead code from QLabel::paintEvent()Andy Shaw2012-12-111-14/+0
| | | | | | | | | | | | The code removed was in a if (d->control) block and therefore d->control was always going to be true thus rendering the nested if invalid. The case that this would account for is already handled in the else for the parent if so this code is in effect not needed. Change-Id: I799383e238560a8a8e3d7dc073d3b1ee74269f90 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* qdoc: Fix warnings about unused variables.Friedemann Kleint2012-12-112-2/+2
| | | | | Change-Id: Ic75518aaea3a080aee656637335f358304191b94 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Repair QGraphicsWidget focus chain when used with ItemIsPanel.Andreas Aardal Hanssen2012-12-073-78/+96
| | | | | | | | | | | | | | | | | Add handling of the focus chain to QGraphicsItem::setFlags(), so that the focus chain is repaired (panels pop out of the chain and non-panels merge back in) when the ItemIsPanel flag is toggled. Add handling focus chain to QGraphicsWidgetPrivate::fixFocusChainBeforeReparenting for panels. Before this fix, you must enable the ItemIsPanel flag before adding the item as a child to a parent panel, and you lose focus when using the tab key to focus around a panel after it has been reparented into another panel. Task-number: QTBUG-28187 Change-Id: I1d0d81a90697eaf715a8a337c8bf6c2159329e68 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* [QTBUG-27420] Make Q{Box,Grid,Form}Layout::takeAt() unparent a nested layoutMarc Mutz2012-12-023-5/+23
| | | | | | | | | | | QStackedLayout doesn't have support for QLayout, only QWidget, so the issue doesn't arise there. Reported-by: Johannes Schaub Task-number: QTBUG-27420 Change-Id: I71f8d10a036918c16d8f8c9197a2ec61cd76cf01 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix wrong error message count in QDBusErrorPeter Kümmel2012-12-011-1/+1
| | | | | | | | | | Don't pass the pointer errorMessages_string - 1 to strcmp(). -1 marks the end should not be used for the pointer arithmetic in get(const char *name) Change-Id: I5ec239c63f074d104d441511294554f21fd6eccd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cocoa: create dialogs as NSPanelsTeemu Katajisto2012-12-011-6/+10
| | | | | | | | | NSPanels have builtin support to work with modal sessions. Task-number: QTBUG-28111 Change-Id: Ifeb6de03129e77aad744b3989931964c375cdbc7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QSignalSpy: assorted improvementsMarc Mutz2012-12-012-10/+13
| | | | | | | | | | | | | | | | - Add const - Add explicit (only effect under C++11; C++98 knows no multi-arg implicit conversions) - Add Q_DECL_OVERRIDE to qt_metacall reimplementation - Add reserve() calls on containers - Change 'args' from QList to QVector for a 2x memory reduction on 64bit platforms Change-Id: If6c779dac0499d4ab64e5191d37596edf7341f76 Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Move gestures overview from qtdoc to qtbase; mention Qt QuickShawn Rutledge2012-12-014-9/+225
| | | | | | | | | | | | On the one hand this doc reads like an overview, but didn't mention Qt Quick; on the other, the gestures framework is questionable, and in any case is solidly in the widgets module, not reusable for Qt Quick. So, just added some comments at the end to make it clear that Qt Quick takes a different approach. Also changed the relevant links because the title has changed. Change-Id: I66a0c0c106f496de26fb8947e90826ef39ccfddd Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Properly release pixel format and context in QCocoaGLContext.Zeno Albisser2012-12-012-0/+8
| | | | | Change-Id: Idd13924dccc8d7798f463484eeb3c3074f7b51f1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Basic high-dpi "retina" support for Qt 5.Morten Johan Sørvig2012-12-0143-115/+533
| | | | | | | | | | | | | | | | | | | | | | | | | | Bring Qt 5 on par with Qt 4, prepare for more comprehensive support later on. Introduce device independent pixels (dips), device pixels, and devicePixelRatio. Add high-dpi support to QPainter, QGLWidget, the cocoa platform plugin, mac and fusion styles. Dips are similar to CSS pixels, Apple points and Android density-independent pixels. Device pixels are pixels in the backing store/physical pixels on screen. devicePixelRatio is the ratio between them, which is 1.0 on standard displays and 2.0 on "retina" displays. New API: QImage::devicePixelRatio() and setDevicePixelRatio() QPixmap::devicePixelRatio() and setDevicePixelRatio() QWindow::devicePixelRatio() QScreen::devicePixelRatio() QGuiApplicaiton::devicePixelRatio() Change-Id: If98c3ca9bfdf0e1bdbcf7574cd5b912c9ff63856 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QWidget windows have fullscreen button by default; manual test for itShawn Rutledge2012-12-013-2/+6
| | | | | | | | | | It's again possible for QWindows and widget windows to go into fullscreen mode on the Mac. Change-Id: I7b304a135838394ef0392f89be4f225f2949fad3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Cocoa: Disable accessibility.Morten Johan Sørvig2012-12-018-3/+28
| | | | | | | | | The accessibility implementation is unstable and causes application crashes. Disable until it has been stabilized. Change-Id: Ic34361a0ad599c6f92df722499d274fe0655646b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Docs: Fixed enum and parameter links for networkOliver Wolff2012-12-013-4/+4
| | | | | Change-Id: Ie04e09d91e9b0781dc3bcbfe271c851fbe486849 Reviewed-by: David Schulz <david.schulz@digia.com>
* Renamed the keyboard-focus doc to make clear it's about WidgetsShawn Rutledge2012-12-016-6/+7
| | | | | | | Also link from the widgets index page. Change-Id: I49cd415b09d7458d89d75931ecfaafe29c226c6f Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Mac: Fix small button metrics, menu indicator alignmentGabriel de Dietrich2012-12-011-2/+6
| | | | | | Task-number: QTBUG-28275 Change-Id: I08de3cc7fee3af725c66ed081072277b2ca32601 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* ANGLE: Fix debug-and-release buildsFriedemann Kleint2012-12-0110-22/+240
| | | | | | | | | | | | | | | Add a 'd' to debug builds to allow both release and debug builds to be used. - Add .def-files for Debug - Build all libraries debug/release - Add description to README.qt - Differentiate debug/release in qmake.conf. Task-number: QTBUG-28196 Change-Id: Ib3081004a6ed2ad71d353244154684d2e0ebbc86 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Angle: Use dynamic runtime library of MSVC.Friedemann Kleint2012-12-011-4/+11
| | | | | | | | It is also used in Qt, mixing both is not recommended. Add to default variables instead of overwriting them. Change-Id: I895d44d5ea17f98dde9979eea6ff10b98180cc08 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Cocoa: fix modal native dialogs with ongoing modal sessionsTeemu Katajisto2012-12-013-0/+13
| | | | | | | | | | | | | Commit 26db7de13d5885067844532b5a5814181a0ddf16 introduced the modal session cleanup for Cocoa print dialog before running the modal event loop for the dialog. Add the same cleanup for Cocoa file, font and color dialog helpers. Task-number: QTBUG-28146 Change-Id: Ifeb7c82566db35f0c6654be7762e9aaffbafb900 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* OpenGL: Remove bogus error in textures example on ES 2 platformsSean Harmer2012-12-011-0/+2
| | | | | | | | | | | | The call to glGetBooleanv(GL_FRAMEBUFFER_SRGB_CAPABLE_EXT) in QGLExtensions::currentContextExtensions() was resulting in an invalid enum on ES 2 systems. This was not being cleared and subsequentally being interpreted as a failed texture upload in the textures example. This enum doesn't exist on ES 2 so don't query it. Change-Id: I84f9c4b0aa8b11b6036eeed1f9378d110d9ea69d Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* WINCE: Fix renameing of resource filesAndreas Holzammer2012-12-011-2/+2
| | | | | | | | The standard resource files where renamed, so fix the include for qmenu in Windows CE. Change-Id: Id29dd8e1028cf438f4d483126a74994fc1e310d7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QGraphicsView - fix rubberband to stay right on scrollThorbjørn Lund Martsum2012-12-011-1/+1
| | | | | | | | | | | | | | We should consider the scene-position when we are expanding moving a rubberband. If the user does some auto-scroll (Qt should support that itself, but that is another matter) then the rubberband should not keep the (old) local position to calculate the rubberband extension, but instead use the scene-position that was actually clicked. Change-Id: I04a2df6a1edae8b3587e1ac2104c7fe4ccfb7762 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QNX: Move buffer count check to appropriate locationRafael Roquetto2012-12-011-13/+14
| | | | | | | | | | | The buffer count check should take place right after buffers are created. For some reason, the buffer count value inside libscreen may become incosistent during the course of the program. Change-Id: Icbbaf4734eac5b0c5c95bdd93771899f9fcdb7db Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* Fix compile with -DQT_NO_WIZARDMontel Laurent2012-12-012-2/+4
| | | | | Change-Id: I6f7be895b8c4a1a65de43ee35d1fab25a30a25c6 Reviewed-by: David Faure <david.faure@kdab.com>
* Fix compile when we use QT_NO_ACCESSIBILITYMontel Laurent2012-12-011-0/+4
| | | | | Change-Id: I2d304fa6d91d86130eeb4a4aa07b43173d240312 Reviewed-by: David Faure <david.faure@kdab.com>
* Fix compile with QT_NO_SHORTCUTMontel Laurent2012-12-011-1/+1
| | | | | Change-Id: Ib11f2e01fecb0c231211c92e4590cbaddc76246f Reviewed-by: David Faure <david.faure@kdab.com>
* QMimeType: don't document the constructor that takes a Private classDavid Faure2012-11-301-0/+1
| | | | | | Change-Id: I238e1eca6938deb728085a5416220230d9e751c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* ANGLE: Do not reset the share handle when resetting the swap chain.Zeno Albisser2012-11-301-1/+0
| | | | | | | | | | | This change only affects the ANGLE_surface_d3d_texture_2d_share_handle extension. The patch is necessary to have WebGL running in Qt/WebKit2. If the share handle is reset, we are loosing the reference to the EGLSurface and cannot actually reuse it in a different context anymore. Change-Id: I0138432dd8ff60ea57e7e591cfa2f8db1d324f53 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* ANGLE Patch file: Do not reset the share handle when resetting the swap chain.Zeno Albisser2012-11-301-0/+32
| | | | | Change-Id: I7ddc0f31b342ba40d4e14a99afdf237cb37d7ace Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix links for threading examplesPaul Olav Tvete2012-11-301-3/+1
| | | | | Change-Id: I498936e91e3bbf5658ea9f3f0eb33cff271a1d62 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Doc: Changing HTML output to qttestlib-index.htmlJerome Pasion2012-11-301-2/+1
| | | | | | | -matches the index file and output directory name Change-Id: I9205a41355fcb3818a93035208c8e25c1c13dcff Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Fix example documentation for OpenGL module and (widget) Tools.Gunnar Sletta2012-11-303-10/+50
| | | | | Change-Id: Id9dc39752bcae915f618e1a5696115a5e6923251 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Replace two \returns markers by "The function returns"hjk2012-11-302-3/+3
| | | | | | Change-Id: I101310f6bd9bddf0ee9d06a81b9fef805313a015 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Mention the QT_STYLE_OVERRIDE env variable.Shawn Rutledge2012-11-301-1/+3
| | | | | | | | IMO we need to have a list of all the environment variables somewhere, but this one is especially useful and wasn't documented at all. Change-Id: I2de09194c5904a9a27066604840ec4be66574fb7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Not necessary to assign bool to false for changing just 2 lines afterMontel Laurent2012-11-301-3/+2
| | | | | Change-Id: I4ed9a07e3dc2cac9d82b3070a2dd22cca2d80f3d Reviewed-by: David Faure <david.faure@kdab.com>
* Add more qtbase implictly-shared classes to the listGiuseppe D'Angelo2012-11-3023-1/+26
| | | | | | | QText*Format and QDns* ones are still missing. Change-Id: I8e87fba596e87289ca935717e0a90bfc0b0a26c0 Reviewed-by: hjk <qthjk@ovi.com>
* Add QText*Format classes to the list of the implicitly shared onesGiuseppe D'Angelo2012-11-301-0/+7
| | | | | Change-Id: Iee0ecb1cf02fdf9dbdf8328bbe60b1dc7ca21894 Reviewed-by: hjk <qthjk@ovi.com>
* Add QDns* classes to the list of the implicitly shared onesGiuseppe D'Angelo2012-11-301-0/+5
| | | | | | Change-Id: I29dd678a51dc693285c389f235d748120ca58fe1 Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org> Reviewed-by: hjk <qthjk@ovi.com>