summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Widgets: No longer use deprecated QPixmap::grabWindow(),grabWidget().Friedemann Kleint2012-05-011-2/+3
| | | | | Change-Id: Icf0d6a672edcfd1d3d10275bb9a93bde29251e79 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove old Qt4 to-do comment.Jason McDonald2012-04-271-3/+1
| | | | | | | | | Addressing the comment would likely break existing applications, so leave things as they are for now. Task-number: QTBUG-25099 Change-Id: I7dfd0e1ae121dcae57c2babc3373c2e5d16ad44b Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Windows: Fix warning about retrieving the handle from non-toplevels.Friedemann Kleint2012-04-271-2/+3
| | | | | Change-Id: I967f218c98309e77371717aa16e46995a767caa3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Using QLatin1String instead of QLatin1LiteralDebao Zhang2012-04-252-2/+2
| | | | | | | | QLatin1Literal is just a typedef of QLatin1String. Change-Id: If20ca225e57a7fb45a7775f0fc81aedb6da88c96 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix compilation with Q_DECL_OVERRIDEOlivier Goffart2012-04-201-1/+1
| | | | | | | In C++11, the override keyword is placed after the function declaration Change-Id: I3a079860762f30fa21eb01611c770713f6ba4acb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Do not assert when QVariant is constructed from an invalid type idJędrzej Nowacki2012-04-191-1/+2
| | | | | | | | | | That change also fix moduleForType() which was wrongly recognizing negative ids as belonging to Core. New tests were added. Change-Id: I40a5819effb32489a45937011980457387c9f8be Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Fix some unsigned comparison warnings.Stephen Kelly2012-04-181-1/+1
| | | | | Change-Id: I4e72dbb6e207757c8bb75a7726c83ed5916df094 Reviewed-by: Richard J. Moore <rich@kde.org>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-04-1719-111/+98
|\ | | | | | | Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
| * Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-1611-229/+149
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
| * | QLayoutItem - make controlTypes a virtual function.Thorbjørn Lund Martsum2012-04-134-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Just implementing the ### Qt5 suggestion about making controlTypes a virtual function. Change-Id: Ic1db47fe488f089de965438e456e9b48e0b96f32 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | Make QBoxLayout::insertItem() public.Jason McDonald2012-04-121-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit addresses a Qt 5 to-do comment in the code. The method was already protected (so could already be made public by sub-classing), and already has documentation in qboxlayout.cpp. Task-number: QTBUG-25098 Change-Id: I5b51d34be8180becb63b8ad291879620f265bbec Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | Deprecate qMemCopy/qMemSet in favour of their stdlib equivilents.Robin Burchell2012-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just like qMalloc/qRealloc/qFree, there is absolutely no reason to wrap these functions just to avoid an include, except to pay for it with worse runtime performance. On OS X, on byte sizes from 50 up to 1000, calling memset directly is 28-15% faster(!) than adding an additional call to qMemSet. The advantage on sizes above that is unmeasurable. For qMemCopy, the benefits are a little more modest: 16-7%. Change-Id: I98aa92bb765aea0448e3f20af42a039b369af0b3 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-105-126/+102
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * | | Removed QApplication overloads used solely for documentation.Marcel Krems2012-04-092-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also removed a define which was used only for this purpose. This change brings the constructors in line with Q{Core,Gui}Application. Change-Id: I1134ca5611453e8445c1a4f3226846621fa8872c Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * | | Remove WA_PaintOutsidePaintEventDebao Zhang2012-03-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WA_PaintOutsidePaintEvent is only suggested to be used when porting Qt3 code to Qt 4 under X11 platform. and it has been broken now. Change-Id: Ie4297b2a449f1055ca10ada9efb930e6018b1efb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | | Merge master into api_changesKent Hansen2012-03-272-23/+9
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qisenum.h src/dbus/qdbusconnection_p.h src/widgets/kernel/qwidget.cpp tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
| * | | | Make QWidget::mapTo/mapFrom() take const pointers.Jason McDonald2012-03-262-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit addresses a long-standing Qt 5 to-do. Whilst a trivial change, it is binary incompatible. Task-number: QTBUG-665 Change-Id: I4294233d876dec79eda57113bdf298ce73643e76 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | | | Make QWidget::isEnabledTo() and isVisibleTo() to take const pointers.Jason McDonald2012-03-262-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit addresses a long-standing Qt 5 to-do comment. Whilst a trivial change, it is binary incompatible. Task-number: QTBUG-259 Change-Id: I2fc7bfda488318dbabbbea9f5ff9d2b1d6ce0784 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | | | Make QGridLayout::getItemPosition() const.Jason McDonald2012-03-262-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit addresses a long-standing Qt 5 to-do. Whilst a trivial change, it is binary incompatible. Task-number: QTBUG-1433 Change-Id: I6e31e47fd5791cb6f1373e2696ffc95f7174f0b0 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | | | Merge "Merge master into api_changes" into refs/staging/api_changesKent Hansen2012-03-236-50/+98
| |\ \ \ \
| | * \ \ \ Merge master into api_changesKent Hansen2012-03-236-50/+98
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
| * | | | | | Remove QWorkspace.Debao Zhang2012-03-231-3/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWorkspace had been called Q3Workspace before Qt4.0 finally released. In a sense, it is a Qt3 support Widget. And QWorkspace has been deprecated and replaced by QMdiArea at Qt4.3. Change-Id: Iea1bf831c9960c23c2b21d51fdc7c13b303642ea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | | | | Got rid of Map / Unmap events in favor of Expose event.Samuel Rødal2012-03-223-36/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since change 2e4d8f67a871f2033 the need for Map and Unmap events has gone away, as now the Expose event is used to notify the application about when it can start rendering. The Map and Unmap events weren't really used except by QWidget to set the WA_Mapped flag, which we now set based on the expose / unexpose. Also guarantee that a Resize event is always sent before the first Expose, by re-introducing an asynchronous expose event handler. Since an expose is required before rendering to a QWindow, show a warning if QOpenGLContext::swapBuffers() or QBackingStore::flush() if called on a window that has not received its first expose. Change-Id: Ia6b609aa275d5b463b5011a96f2fd9bbe52e9bc4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * | | | | Crash fix in ~QVariantJędrzej Nowacki2012-03-211-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QVariant handlers can not be unregistered. We are not able to guarantee that such operation is safe and we do not want to. Change-Id: Id9a12e6a8c750110e4a08eab1de3e07e5c408675 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | | | QtWidgets: Cleanup Q3* itemsDebao Zhang2012-03-203-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clear all the Q3* items away, expect QStyle::SH_Q3ListViewExpand_SelectMouseType which is still used by QTreeView. So simply removed Q3 from its name. Change-Id: Ia79f0283137b6751ba68791ae55df1d8bd7ea74a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * | | | | Merge master into api_changesKent Hansen2012-03-191-2/+3
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvector.h tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I877256e95f3788e617437f4e9661a88047f38cd6
| * \ \ \ \ \ Merge master into api_changesKent Hansen2012-03-165-17/+36
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * | | | | | | Fix warning about unused parameter.Stephen Kelly2012-03-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Side effect of 3bb902495291c50a2f06e8e03a62a647db3e5cd4 Change-Id: Idd6127832c4af26d3e1dad7b4994001b05bc2be8 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
| * | | | | | | Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-03-125-90/+14
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I884afc3b6d65c6411733a897a1949e19393573a7
| * \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/master' into api_changesJoão Abecasis2012-03-085-21/+90
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I89dc2e193bd01624c1fb50484610d516e39b1538
| * \ \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-03-0512-167/+167
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ibcb1f7070f50968b77b66112750ce5c70fc0b6d0
| * | | | | | | | | | Implements QStackedLayout's hfw-related methods.Debao Zhang2012-03-052-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QStackedLayout does not support height for width (simply because it does not reimplement heightForWidth() and hasHeightForWidth()). That is not possible to fix without breaking binary compatibility under Qt4, which use a modified version of QStackedLayout that reimplements the hfw-related functions as a workaround. Change-Id: I81c795f0c247a2e708292de35f0650384248c6cd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* | | | | | | | | | | Add QPlatformWindow::setWindowModified(bool)Bradley T. Hughes2012-04-173-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mac OS X provided a platform API for marking a window/document as modified. This previously worked in Qt 4, so we need to have an interface to keep this working in Qt 5. If the platform window does not provide an implementation, fallback to setting the window title. Note that this does not add any QWindow API, it's only in QPlatformWindow. Change-Id: I84c5a5df8536859157f2b1fa9e4cc647a09fd06d Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* | | | | | | | | | | Add QPlatformWindow::windowEvent()Bradley T. Hughes2012-04-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function is used to pass non-spontaneous events from QWindow to QPlatformWindow so that QPlatformWindow subclasses can do any platform specific event handling (such as setting/clearing modality flags on QEvent::WindowBlock/WindowUnblock). Change-Id: I82a89e8dadcd2f706aae25889d79cbfac9c2ee18 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | | | | | | | | | doc: Mark all qpa classes as internalGirish Ramakrishnan2012-04-161-9/+27
| |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All QPA api as marked as so: * preliminary - the api is subject to change anytime * internal - internal api that shouldn't be used by apps * ingroup qpa - "qpa" module. In the long run, qdoc should generate documentation for qplatform* API as if it were a seperate module. Change-Id: I4e76c0e0c1805c679cabd52d5006f9fa9bc411c0 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* | | | | | | | | | widgets: Fix painting to a fully transparent top level widgetHolger Hans Peter Freyther2012-04-152-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWS used to have a line to change the composite mode from SourceOver to Source for the top level widget. This wasn't used with QPA and I removed the internal DontSetCompositionMode in qtbase. It turns out that the QWS way is the most efficient one to initialize the background of the widget. The alternative is to have the QPlatformBackingStore::beginPaint always clear the entire to be painted area and then paint the background of the widget. The difference of painting each pixel once or twice is noticable on embedded platforms and in the range of one to two fps. Reproduce the issue with: echo "QWidget {background: transparent}" > style.css ./examples/widgets/wiggly/wiggly -stylesheet style.css Task-number: QTBUG-24526 Change-Id: Ica4c980bb3bf6eb87ddb5b510ac7493292d01543 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* | | | | | | | | | Remove hasDirtyFromPreviousSync from backingstore.Girish Ramakrishnan2012-04-122-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's always false (used to be some qws specific variable). Change-Id: I3dc185dba4c778797f180410ce8d293336ecfd9c Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | | | | | | | | remove references to qws from backingstoreGirish Ramakrishnan2012-04-122-56/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backingstore code is already hard to read as-is. Let's simplify things by removing qws code. Change-Id: Ibefd3ea17d29970d1f7348461959fdc5b01c1f42 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | | | | | | | | Remove redundant platformNativeInterface()Girish Ramakrishnan2012-04-122-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | platformNativeInterface() is already defined in QGuiApplication. Change-Id: Ice720fb6f7e4b01c4627219d66a5a3c8980a79a5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | | | | | | | | Remove QWidget::setWindowHandleGirish Ramakrishnan2012-04-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's unused. The window (QWidgetWindow) is created and managed implicitly by QWidget. Change-Id: I28ee3f120a99c877f318e1abd7d73c9f3e542d03 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | | | | | | | | Remove Qt 5 to-do comment that will not be addressed.Jason McDonald2012-04-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The suggested behavioural change had the potential to break existing code, so the change won't be made for Qt 5. Task-number: QTBUG-25119 Change-Id: Ie03271d12b21a800c998e073eeb9ca1cd03ffe19 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | | | | | | | | | Propagate window state changes to QWidget.Friedemann Kleint2012-04-111-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the state in QWidgetWindow and send an event to the widget unless the code is triggered by QWidget::setWindowState(). Change-Id: Ibf2f4e730384e41636841b9216eecfdff35b7bcb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | | | | | | | | QWidget: allow modal top-levels to have WA_DontShowOnScreenBradley T. Hughes2012-04-111-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a modal top-level widget has WA_DontShowOnScreen set, we need to call QGuiApplicationPrivate::showModalWindow() and hideModalWindow() ourselves, since we will not be calling QWindow::setVisible() (which would normally do the call for us). Change-Id: I1b22dd177c5956a2290f3ee031c95ab50d88f153 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* | | | | | | | | | Implement window modality in QtGuiBradley T. Hughes2012-04-114-144/+82
| |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWindow already has windowModality() and setWindowModality() as part of its API from commit 516f4e283ba4626d7239630397ef867ab0366071. Platform plugins can use this already to setup modality hints on windows that they create, but it's not enough to implement modality fully. QGuiApplication gets a modalWindow() static method, which is similar to QApplication::activeModalWidget() in that it returns the last modal window to be shown. The modal window "stack" moves from QApplicationPrivate to QGuiApplicationPrivate. The enterModal*() and leaveModal*() functions in QApplicationPrivate are removed and replaced by QGuiApplicationPrivate::showModalWindow() and hideModalWindow(), which are called by QWindow::setVisible() just before calling QPlatformWindow::setVisible(). The virtual QGuiApplicationPrivate::isWindowBlocked() will tell us if a window is blocked by a modal window (and tell which modal window for any interested callers). The default implementation works on the QWindow level. QApplicationPrivate reimplements isWindowBlocked() and adds popup and WA_GroupLeader support. QGuiApplication uses the state set from isWindowBlocked() to block user-input events: mouse press, mouse move, mouse release, wheel, key presses, key releases, enter/leave events, close events, and touch begin, update, and end events. Note also that the modality helper functions in QtWidgets and QApplicationPrivate are left in place and working as they always have. The behavior of QWidget in the presence of modal windows/dialogs should not change. Change-Id: I2c89e6026d40160387787a6e009ae1fdc12dfd69 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* | | | | | | | | Fix warnings about unused variables.Friedemann Kleint2012-04-032-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix MSVC warnings about unused q, d where only static functions are used. Change-Id: I239d6fc3c851b0a62434cb09fc0e1967f2e6d031 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | | | | | | Documentation cleanupDebao Zhang2012-03-311-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are comments of Qt3 support members which have been removed already. Change-Id: I4b3dfaac1e5e1c3c13b83e41d0505dd16a4b6a8e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* | | | | | | | | Fix QWheelEvent::angleDelta() returning QPoint().Marcel Krems2012-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I29460bd5a3f485dcd460edc52239d748e7faf6e0 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* | | | | | | | | Plug memory leak when gestures are grabbed but never triggeredAndy Shaw2012-03-301-93/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a gesture is grabbed by QAbstractScrollArea but never triggered then the deletion of the QAbstractScrollArea would mean that the gesture created for it would not be deleted. This ensures that it always deletes the gestures waiting to be deleted even if no gesture event is triggered Task-number: QTBUG-25011 Change-Id: I36118b82baaa60ac4e014896159060e1af76b2d2 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* | | | | | | | | Reverted use of tentative commit use in QWidget editorsPekka Vuorela2012-03-272-6/+6
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feature to be reimplemented simplified. Cases when input method needs to be reset with possibility to commit use QInputMethod::commit() again. Change-Id: Ibfe7aecc0799e7a76c7ac4f5d860971cfe6e97ca Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* | | | | | | | Fix QGuiApplication::keyboardModifiers()Bradley T. Hughes2012-03-261-21/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that the keybaord modifiers are maintained properly when handling window system events. Change-Id: Ie75cbe5eb509c29e3d2291694f2de509fbf3098a Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>