summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect FBO bindings with QOpenGLWidgetLaszlo Agocs2015-03-301-1/+9
| | | | | | | | | | | | | | QOpenGLContext::defaultFramebufferObject() knows nothing about QOpenGLWidget and QQuickWidget. The problem is that this function (and others that rely on it) is expected to give the widget's backing FBO in paintGL() and friends. To overcome this, we have to provide a way for such widgets that indicate what is the expected "default fbo". Task-number: QTBUG-43269 Change-Id: I43f439f8609382b9f7004707ab0ef9f091952b4f Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* QTabBar: Disable wheel events on MacGabriel de Dietrich2015-03-301-0/+2
| | | | | | | | | | Many people complain about this unexpected behavior. We may consider introducing a style hint later for those few people that may want it. Change-Id: Ifab663b4b5c3a78a3544ab4408cf34f672df8c05 Task-number: QTBUG-8428 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Remove compression of posted input method events.Friedemann Kleint2015-03-301-4/+1
| | | | | | | | Input method events contain attributes, etc. and cannot be compressed. Change-Id: Ib9a2a80f1efec53f9d843684f8227e1f2e245853 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Windows: Support virtual folders as initial directory for file dialog.Friedemann Kleint2015-03-271-0/+10
| | | | | | | | | | | | | Use the scheme "clsid" to be able to pass them as "clsid:<GUID>" (with '{', '}' stripped). Task-number: QTBUG-33962 Change-Id: Ib045fe81518bca6e91588007ce8a245a48479b1f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Patrick Spendrin <patrick.spendrin@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Do not emit textEdited on inputMask changeJoni Poikelin2015-03-271-2/+2
| | | | | | | Task-number: QTBUG-1266 Change-Id: Ib2f1db15be876c1d6713bd7c28c2b91006b3b2d4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Add a section about QOpenGLWidget alternativesLaszlo Agocs2015-03-251-0/+17
| | | | | | | | | QOpenGLWindow with createWindowContainer() can be an option for desktop-only apps in some special cases. Document this. Task-number: QTBUG-45192 Change-Id: I7c59b7d04d6c0fe58ffe93ac72b204103bef2f4c Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Don't replay mouse press event which closes a popup on X11Alexander Volkov2015-03-251-1/+2
| | | | | | | | | | | Add a new style hint to QPlatformIntegration: ReplayMousePressOutsidePopup. Return false for it in the xcb plugin. This commit restores the behavior which was in Qt 4. Task-number: QTBUG-34814 Change-Id: I19fee762395a51475cc67b52b368c70679ca736b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* iOS: support SH_ComboBox_UseNativePopup in fusion styleRichard Moe Gustavsen2015-03-251-0/+5
| | | | | Change-Id: I24ef41249042cd658ecba01b0024d08965673b41 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* QComboBox: use native popup on iOSRichard Moe Gustavsen2015-03-252-7/+7
| | | | | | | Enable native popup on iOS as well as OS X Change-Id: If99180a017768d9c94241adf2282ee9b3f69cbc1 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* QComboBox: change showNativePopup to be non-blockingRichard Moe Gustavsen2015-03-252-51/+81
| | | | | | | | | | QPlatformMenu::showPopup() is supposed to be non-blocking. So ensure that we don't start cleaning up the menu items directly after the call in showNativePopup, but wait until we need to reload the items, or the combobox is destroyed. Change-Id: Ie4c9b6425cec44861af38e517fc5ef226e0903c7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* Fix QAccessibleTextWidget::characterRect for off-cursor positionsBoris Dušek2015-03-251-1/+14
| | | | | | | | | | | | | | | | | | | | Current code retrieved the character format at position where the cursor currently was, irrespective of the position actually passed to the characterRect function. This is now fixed and we retrieve the character format for the QTextFragment containing the specified offset. This fixes display of visual bounds around text by screen reader in some cases. E.g. on OS X, when searching text using VoiceOver, VoiceOver first queries the visual bounds of the found text (and thus also characterRect), and only then it moves cursor position to the found text. If before the change of position the cursor was on some text with different metrics (i.e. a bigger font), the visual bounds for the found text reflected those metrics, not the metrics of the actual found text for which the bounds were drawn. This resulted in smaller/bigger rectangles around the found text than was actually correct. Change-Id: Ie2a4dfc714504b7923cdaf8ff875c438aeccddee Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Fix QAccessibleTextWidget::characterRect for complex linesBoris Dušek2015-03-251-1/+1
| | | | | | | | | | Current implementation of QAccessibleTextWidget::characterRect returned rect with correct vertical position only when the font point size did not vary inside the line. This commit makes it work for lines where point size changes by taking text ascent and descent into account. Change-Id: I4ee43701a30ce9bff1db2f2d0422227496c3df4c Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Support all underline types in accessibilityBoris Dušek2015-03-251-1/+36
| | | | | Change-Id: I9eccc66624f5d789cc8778d4376338207beb4a14 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* OSX: add another missing AutoReleasePool.Erik Verbruggen2015-03-231-0/+1
| | | | | | | No leaks no cry. Change-Id: Id44993f037447dd84e1ccd4d985877e7f57bb979 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Use glFinish() in QOpenGLWidget unless glFlush() is known to be enoughLaszlo Agocs2015-03-231-3/+3
| | | | | | | | | | | | | | | | | | | | The driver used on the Odroid-XU3 does not like doing just glFlush() before accessing the texture in another context. There is no guarantee that glFlush() is enough to sync access to resources between contexts, so start using glFinish() as the default, except on common desktop hw + iOS where flush is enough and presumably more efficient. To unify the code pathes, remove the separate flushes and do it only once, before the backingstore compositor indicates that it is about to access the textures. This should improve performance a bit, esp. when doing multisampling since we flush only once then. A helper function is added to the internal QOpenGLExtensions because it is highly likely that QQuickWidget will need the same. Task-number: QTBUG-45106 Change-Id: Ifb405c5723f29f2f6c04df8e15fb70280681755e Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QWidget: render() in correct resolution on retinaTimur Pocheptsov2015-03-231-1/+4
| | | | | | | | | Factor in the target devicePixelRatio when setting the size (and devicePixelRatio) on the target pixmap. Task-number: QTBUG-41682 Change-Id: I16a85cf7ba0adb6d6c05e9de4fd44ff5533b5f60 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* QSplashScreen: Center also on high-dpi screensMorten Johan Sørvig2015-03-231-1/+1
| | | | | | | | | Correctly compute QSplashScreen geometry based on pixmap geometry. Change-Id: Ibd7af54f0732c99116e1ec82a1aa4f8c4d7d390e Task-number: QTBUG-34334 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* QDoubleSpinBox: Set back an upper limit widthCaroline Chao2015-03-232-4/+16
| | | | | | | | | | The limit has been removed in the change a317ee0a6fa76d1166f6da8593d39eaf7afce83c. Task-number: QTBUG-44865 Change-Id: I7106f7e7a2653e1ab03d79861ac505d4666598eb Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Fix problems with extended selection after changing the model contentsFrank Reininghaus2015-03-222-10/+13
| | | | | | | | | | | | | | | | | | | | | Storing the position of the first selected item in the view can lead to wrong extended selections if the contents of the model change. Future Shift-clicks will always use the previous position of the first selected item, which may not be correct any more, to calculate the current selection. To fix this problem, a QPersistentModelIndex is used to keep track of the first selected item. A new unit test is added. Moreover, one function of the QTableView unit test is changed such that it shows the view prior to performing the test. Without this change, this test may fail. That the test, which simulates mouse presses without showing the view, worked at all seems to be a coincidence, as pointed out in QTBUG-18009. Task-number: QTBUG-18009 Change-Id: I0d844fbd1a994c279a7c8ee5d9b5b9fccecd25bf Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix high-dpi scaledContents QLabelMorten Johan Sørvig2015-03-191-1/+4
| | | | | | | | Scale to device pixel size. Change-Id: I9da089f1a3cafdc7f31f57cca504249b00508192 Task-number: QTBUG-42503 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* QtWidgets: Fix const correctness in old style castsThiago Macieira2015-03-1712-26/+26
| | | | | | | Found with GCC's -Wcast-qual. Change-Id: Ia0aac2f09e9245339951ffff13c94684f8498f21 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Add missing \since 5.5 for QSpacerItem::sizePolicy()Jan Arve Saether2015-03-161-0/+2
| | | | | | Change-Id: I2091a22e08bc010c3c69f12b8f5c242a2d5fb8f2 Task-number: QTBUG-38518 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QFileIconEngine: Use closest area when resolving the actual sizeGabriel de Dietrich2015-03-141-5/+19
| | | | | | | | | This is similar to what QPixmapIconEngine does. Change-Id: I00b9e4083fa03fa0602b8e363055a612791bd149 Task-number: QTBUG-44981 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Don't use QFileIconEngine if the platform theme won't support itGabriel de Dietrich2015-03-141-0/+11
| | | | | | | Change-Id: I6ccbfc5e8bc25018231a6924be12d74955e12337 Task-number: QTBUG-44981 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QtWidgets: don't set Qt::WA_OutsideWSRange for 0-sized non-windowsUlf Hermann2015-03-121-8/+10
| | | | | | | | | | | | | | | | | | | | If a widget which is not a window has a width or height of 0 that doesn't mean we don't have to invalidate its backing store. On the contrary, the backing store must be invalidated in order to clear stale contents from previous paint events. A window, however, can be completely ignored if it shrinks to 0 as the window system will take care of it. We don't have to clear the attribute for non-windows, either. In Qt4 we use the Qt::WA_OutsideWSRange attribute only for widgets which are windows when determining what to do with a geometry change. See qwidget_x11.cpp or widget_win.cpp in Qt4. Task-number: QTBUG-42727 Change-Id: I3655737057b803ad4b92601a9851055a81bd4b6d Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Remove scrollarea cornerarea when only one scrollbar is visible.Marko Kangas2015-03-121-11/+3
| | | | | | | | | | Changed cornerarea to be visible only if both scrollbars are visible. Removed unused Q_DEAD_CODE_FROM_QT4_MAC hasMacSizeGrip case. Task-number: QTBUG-44084 Change-Id: I4f240268902fa42496befd3754133145d28d4ad6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* QWidgetWindow: Restrict context menu trigger to the widget's rectangle.Friedemann Kleint2015-03-121-1/+2
| | | | | | Task-number: QTBUG-44913 Change-Id: I0d9411b4bbd6a6affe85eb9856a1eb93d444d377 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* QShortCut: Check whether the menu is QPA-disabledGabriel de Dietrich2015-03-111-3/+8
| | | | | | | | | | | | When climbing the menu hierarchy, it's sounder to check whether the actual QPA menu is enabled. This way we can trigger modifier-less shortcuts even in submenus. Task-number: QTBUG-38256 Task-number: QTBUG-42584 Change-Id: I13a27027306bce0f0732b05bf9469f3b77028f73 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* Use own QIconEngine in QFileIconProviderGabriel de Dietrich2015-03-112-49/+89
| | | | | | | | | | | | | | | | | | This allows us to lazily load icons from the platform theme by reimplementing the pixmap(). Otherwise, we would instantiate pixmaps in several sizes even though we would not need them right away. Since, at least on OS X, icon sizes can go up to 128x128 pixels, we can end up saving an order of magnitude of memory on icon pixmaps alone if we only use the smallest sizes in our application. Two side modifications are included. The first allows sub- classing QPixmapIconEngine by exporting this class. The second fixes the q_ptr in QFileIconProviderPrivate which was never set. Change-Id: I91af322ded2823e475703871e607773177ae25d3 Task-number: QTBUG-41796 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* QGtkStyle: identify QtQuick.Controls.GroupBox as QAccessible::GroupingJ-P Nurmi2015-03-111-0/+7
| | | | | | | | | This allows QGtkStyle to check the role and do appropriate styling (bold font) for the label. Task-number: QTBUG-43736 Change-Id: I735f5f7ffadd7a435fa9e28fab45b202eec0252e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* QAbstractButton: emit released on focus out or disableFrederik Gladhorn2015-03-101-3/+7
| | | | | | | | | | | | | When pressing a button with the mouse and then moving the focus away, the internal and visual state of the button would get updated, but the released signal would not be emitted. The same goes for disabling the button, although in 99% of the cases, disabling the button will also move the focus, so the first case already takes care of emitting the signal. Task-number: QTBUG-42775 Change-Id: Ib6ba8e0a75f0349b66d1e799b02bd8498db85022 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* Add missing flush for multisampled QOpenGLWidgetLaszlo Agocs2015-03-091-0/+1
| | | | | | | | QOpenGLWidget exhibits the same issue as QQuickWidget in the linked bug. Task-number: QTBUG-39917 Change-Id: Ib231fb88f73c6ef68f12cc3fecf462679e8184a7 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Doc: removed invalid warning about Qt stylesheetsNico Vertriest2015-03-091-2/+0
| | | | | | Task-number: QTBUG-44549 Change-Id: I386e75ae5c931f49a0198ae1f24706899bdedd94 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Doc: added doc QProgressBar about undeterm. stateNico Vertriest2015-03-091-0/+2
| | | | | | Task-number: QTBUG-43345 Change-Id: Ie8bda9dbe0ca2f713451f3ec2f68467a064f7f2c Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Add getter for QSizePolicy to SpacerItemKatja Marttila2015-03-062-0/+9
| | | | | | | | | | Change allows to change width and height with changeSize() method without changing size policy. Task-number: QTBUG-38518 Change-Id: I3eabb5fbfd9792c57c0a533ce14ec99b64603631 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* xcb: do not create a dummy QScreen when there are no outputsShawn Rutledge2015-03-061-0/+5
| | | | | | | | | | | | | | | | Whenever a QWindow is associated with a QScreen, the screen is expected to be a real working one, so that rendering continues to be possible. This partially reverts 52f5e50f11a3ba82e32dc2efc656e4021a3fa4f5 [ChangeLog][QPA][Xcb] If all QScreens (xcb outputs) are disconnected while an application is running, QGuiApplication::primaryScreen() will return null until a screen is connected again. Task-number: QTBUG-40174 Task-number: QTBUG-42985 Change-Id: Id1b29dd70eaf3f2e7fd477516ce7e2bf24e095f6 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Fix QMessageBox::aboutQt().Friedemann Kleint2015-03-061-5/+4
| | | | | | | | | Add missing blanks and prevent line wraps "...Qt\napplications.." for clarity. Change-Id: I35932fb296ec47a1832f5c244b9719838621d5be Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Implement debug operator for QStyle::State using the new operator for QFlags<T>.Friedemann Kleint2015-03-052-37/+13
| | | | | | | | Call the new operator and add ### fixme comments for removal. Change-Id: Ibe4dfe00b6ea1aa5ca5551f10b1f27fdde2114c4 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* avoid sending QPinchGestures based on unreasonable pinch deltasShawn Rutledge2015-03-031-1/+9
| | | | | | | | | | | | | | | On some devices there can be spurious events indicating that the two touchpoints are very close together, so that the ratio of present line length to previous line length can be very large, and the angle delta can be random. But in the normal scenario, there will be a lot of events, in which the touch point movements are small. So if the line length ratio is unreasonable, it's safe to ignore one event and wait for the next. Task-number: QTBUG-44665 Change-Id: Ibb7fe560b6a3f7db72d73aad3468c61f24a95d13 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-03-021-1/+1
|\ | | | | | | Change-Id: I95b3a87c5068c6b8068b30a35655b4c2419e7f9e
| * Replace old qt-project.org wiki with wiki.qt.ioSergio Ahumada2015-02-271-1/+1
| | | | | | | | | | Change-Id: If6c05a5b1f60e97c64f3d6b64041a84c3af82964 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Prevent static functions of Q[Gui]Application from crashing if there is no ↵Friedemann Kleint2015-02-271-0/+10
| | | | | | | | | | | | | | | | | | | | instance. Add tests. Task-number: QTBUG-44499 Change-Id: I160b089ad3f23ab71a87519e50f8a2ef5d2a4a6f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | OSX: fix leaks due to missing NSAutoreleasePoolErik Verbruggen2015-02-261-0/+19
| | | | | | | | | | | | | | env OBJC_DEBUG_MISSING_POOLS=YES qtcreator Change-Id: Ibbe5f42af5b94a439be3f0dd0f2b6e34bb1afd3f Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | Fix crash when accessing QStyleHints before QGuiApplication is constructed.Friedemann Kleint2015-02-254-8/+8
| | | | | | | | | | | | | | | | | | | | | | Make styleHints a static member variable of QGuiApplicationPrivate and fix accessor accordingly. Extend tst_QApplication::settableStyleHints() to run without QApplication instance as well and add a similar test to QGuiApplication. Task-number: QTBUG-44499 Change-Id: I42b92ef38f7dd512d08d70accfa7dd4f09a22f01 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Fix invocations of static methods of QGuiApplication/QApplication.Friedemann Kleint2015-02-2513-41/+41
| | | | | | | | | | | | Change-Id: I99ba58763f6063fa2a6f511adbea0163cce7ea32 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Micro-optimize QApplication.Friedemann Kleint2015-02-251-16/+21
| | | | | | | | | | | | | | Avoid repeated instantiation of end() in loops, use variable instead. Change-Id: I5f58fa63c2845827ebe9be2d0fcee80b7ccc74bc Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-249-62/+44
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/xml/htmlinfo/simpleexample.html examples/xml/rsslisting/rsslisting.cpp qmake/generators/win32/msbuild_objectmodel.cpp src/3rdparty/harfbuzz-ng/src/hb-private.hh src/corelib/global/qlogging.cpp src/corelib/io/qstorageinfo_unix.cpp src/corelib/thread/qwaitcondition_unix.cpp src/gui/kernel/qguiapplication.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp src/testlib/doc/src/qt-webpages.qdoc tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
| * QWidgetWindow check valid widget geometryJørgen Lind2015-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | before marking the backingstore as dirty. The QWidgetBackingstore has an assert that the region or the rect passed in is not empty, hence its programming error not to check before calling this function. Task-number: QTBUG-43489 Change-Id: Ic67fb6ca7959466e1758ce91827cd4b8acdf73fc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Fix fusion style QPushButton icon on HiDPI modeMarko Kangas2015-02-241-4/+6
| | | | | | | | | | | | Change-Id: Ie05012266abe52bc33bb9c2e19c93353cac3307f Task-number: QTBUG-44502 Reviewed-by: Jens Bache-Wiig <jensbw@gmail.com>
| * Make sure there's a scene before using itAlbert Astals Cid2015-02-171-2/+2
| | | | | | | | | | | | | | | | | | | | Fixes crash hovering links in quassel Task-number: QTBUG-44509 Change-Id: I77d8d9118ad185ed70a46e91445e2960200e562b Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>