Commit Graph

186 Commits (6ddcfcdcbe79dcf1c58e211dbef4b653e8cfb068)

Author SHA1 Message Date
Bradley T. Hughes 768e587cdc Add QPlatformWindow::windowEvent()
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>
2012-04-17 01:13:52 +02:00
Lars Knoll 9bd0323551 Merge remote-tracking branch 'origin/master' into api_changes
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
2012-04-16 12:04:34 +02:00
Bradley T. Hughes ad1bd1563f Implement window modality in QtGui
QWindow already has windowModality() and setWindowModality() as part of
its API from commit 516f4e283b. 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>
2012-04-11 16:17:59 +02:00
Oswald Buddenhagen 143c4d3e13 Merge remote-tracking branch 'origin/master' into api_changes
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
2012-04-10 15:31:45 +02:00
Marcel Krems a7ed81b557 Removed QApplication overloads used solely for documentation.
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>
2012-04-09 12:54:29 +02:00
Friedemann Kleint fd4f165eb7 Fix warnings about unused variables.
Fix MSVC warnings about unused q, d where only static functions
are used.

Change-Id: I239d6fc3c851b0a62434cb09fc0e1967f2e6d031
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-03 21:02:32 +02:00
Debao Zhang 1b29481f3b Documentation cleanup
They are comments of Qt3 support members which have been removed already.

Change-Id: I4b3dfaac1e5e1c3c13b83e41d0505dd16a4b6a8e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-31 08:43:34 +02:00
Pekka Vuorela 0ee1b4a1de Reverted use of tentative commit use in QWidget editors
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>
2012-03-27 12:51:38 +02:00
Bradley T. Hughes b2363a935c Fix QGuiApplication::keyboardModifiers()
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>
2012-03-26 08:47:48 +02:00
Pekka Vuorela 7e90df7bf5 FocusAboutToChange event to be send before focus changes
Focus change happen as: FocusAboutToChange event -> focus change
-> FocusOut event -> FocusIn event.

Input method need to have focus when calling commit(). Notification
on focus about to be lost allows QWindow implementations to commit in
time.

Also changes QWidget documentation to match code reality.

Change-Id: I17a8a374a33dd700909f79e370b42348869261a6
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-03-22 16:13:21 +01:00
Olivier Goffart c4ac14fae1 Fix KDE palette.
In QKdeTheme We want to load every color.
Else, only the first color is loaded, and the rest of the palette is
just black making the applications basicaly not usable.

But KDE only put in its config files the colors that are different from
the default colors.  This is the reason why we need to resolve against
the style's default palette.

We need to make sure the resolve_mask is 0 for an empty palette, even
before the application palette is set. This was not required in Qt4
because the system palette was initialized differently.

I realize this will only work with QApplication (and not with a single
QGuiApplication) but it was not working before either.

Change-Id: Ifb3c2c1358ef6d83a1ca5aa8fac3d2d4ea712b94
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-20 09:32:34 +01:00
David Faure 816893d91d Fix some duplication between QGuiApplication and QApplication,
for the mouseButtons and keyboardModifiers vars and methods.
Implement queryKeyboardModifiers with a new virtual in
QPlatformIntegration.

Task-number: QTBUG-11243
Change-Id: I9e95841542ac61c73ff72d7682ad962ea8aada42
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-09 18:50:52 +01:00
Friedemann Kleint 83cabda862 Add fonts to QPlatformTheme.
- Remove QPlatformFontDatabase::defaultFonts() returning
  a hash containing widget name ->font and the Windows
  implementation.
- Add enumeration and font accessor to QPlatformTheme. The value
  returned for the enumeration value overwrites the default font
  of the font database.
- Implement for Windows, Mac and KDE.
- Add more Windows palettes.

Task-number: QTBUG-23686

Change-Id: I8a2abdfd216df23daa7c9630c54264cdf61295db
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-07 12:43:32 +01:00
Morten Johan Sorvig 930a90d978 Cocoa: Implement widget palettes.
Add roles to QPLatformTheme::Palette, map QWidget
subclasses to those. Port Qt4 widget palette creation
code to use the QPLatformTheme::Palette roles.

Palette entries are disabled in this commit, this
will be fixed later.

Change-Id: I07babe3d7c76d306efc4ea4813c7161fdf36227f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-06 12:30:16 +01:00
Frederik Gladhorn f449cefc27 Remove AccessibilityPrepare event.
This event was completely unused.
In addition it leads to crashes on linux when
sending the Destroy accessibility update.

The Destroy event on linux would still query an accessible interface.
That in turn would trigger the event to be sent.

Change-Id: I8915527de067b8b70ba41b1361e3ef5d12866d7d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-05 18:46:43 +01:00
Casper van Donderen 95d83cb1b6 Remove the usage of deprecated qdoc macros.
QDoc now has support for Doxygen style commands for italics, bold
and list items. This change applies that change in QDoc to the
actual documentation.

Task-number: QTBUG-24578
Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-02 23:16:25 +01:00
Morten Johan Sorvig 5a2efb490b QWheelEvent high-resolution delta support.
Support pixel-based deltas as well as sending
dx and dy values in the same event. Keep source and
behavior compatibility with Qt 4.

New API:
QPoint pixelDelta() const
QPoint angleDelta() const

Deprecate delta() and orientation().

Both pixel-based deltas and combined updates are
necessary for smooth trackpad-based scrolling on
OS X.

Qt 4 compatible behavior is achieved by sending an
extra wheel event in cases where the initial event
has a combined dx and dy update. This extra event
sends dx in delta() and orientation(), with pixelDelta()
and angleDelta() set to null.

Modify the Cocoa implementation to provide pixel
deltas. It is expected that not all platforms can
provide these. Angle deltas will always be available.

Change-Id: I20c10f0df338ddcd6a3f7a4d40949ed5ae3b4795
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-24 14:55:06 +01:00
Friedemann Kleint a6e20e4874 Handle theme change in QApplication/QGuiApplication.
Re-initialize palette and fonts.

Change-Id: Ib312747886a31e8370f8d99536d52cbcf8afe8a4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-23 10:24:50 +01:00
Samuel Rødal 9d173c9218 Updated QApplication / QGuiApplication to match Qt 5 reality.
Removed obsolete Q_WS_X11/WIN/MAC stuff as well.

Change-Id: I8b65a0348a8cb170f3f060023fc6d9d982949b7e
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-02-22 13:58:39 +01:00
Friedemann Kleint 93af98f72a Widgets: Remove obsolete QGuiPlatformPlugin.
It has been superseeded by QPlatformTheme.

Task-number: QTBUG-24204
Change-Id: I8c4131c7bfd8201e747984d772ed8042610192b8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-17 13:47:53 +01:00
Friedemann Kleint 4cf0deef73 Add palette() and further hints to QtGui/QPlatformTheme.
- Move palette() from deprecated QtWidgets/QGuiPlatformPlugin
  to  QtGui/QPlatformTheme, Make it return a const * since
  QPalette does not have isNull().
- Initialize QGuiApplication::palette() and
  QApplication::systemPalette() from it.
- Do not initialize QPalette from QGuiApplication::palette()
  unless app_pal is non-null (default to Qt::black if it is 0).
  This avoids initialization order crashes/recursions in the
  QPA plugin. Streamline initialization function.
- Remove styleName(), systemIconThemeName() and iconSearchPaths()
  from QGuiPlatformPlugin and re-add them as
  QPlatformTheme::themeHint().
- Remove styleHint() from QGuiPlatformPlugin, add it to
  QPlatformTheme::themeHint().
- Add UNIX themes with factory function (Generic,
  KDE, Gnome), taking it from Qt 4.8 code (stripping the
  KDE 3 code).
- Implement Windows palettes.

Task-number: QTBUG-24204

Change-Id: Ie27ec035df4f84c42deaffc4816b2e53ce705462
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-17 11:44:29 +01:00
Stephen Kelly 66603985f2 Fix ref counted window close handling.
Instead of refcounting QWindow visibility, we ask the Application
subclass whether quitting is appropriate.

Task-Id: QTBUG-24120
Change-Id: Idd19cc1a3e5742fddded89c7638aaaa5e47c568d
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-02-16 01:56:27 +01:00
Friedemann Kleint 3d3f5f84fe Move desktopSettingsAware to QGuiApplication.
For use by the QPA plugins.

Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Morten Sørvig <morten.sorvig@nokia.com>

Task-number: QTBUG-24204

Change-Id: I7f35274eedb55fcb60ad289768234bc302286d01
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-15 02:34:58 +01:00
Laszlo Agocs 09e2e77be2 Handle TouchCancel in gui and widgets
Change-Id: I31739840348d88ae408ac1aae2399f6328ccdd43
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-10 11:41:04 +01:00
Andreas Holzammer cbd6b4eb20 Clean up qguifunctions_wince includes.
There are leftovers from Qt 4.8 in regards of the
qguifunctions_wince. The parts which where needed
in widgets have been taken over into qwidgetsfunctions_wince.

Change-Id: I737684a7f56ba356df89c1be77ab776bca034ae9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-10 08:20:13 +01:00
Andreas Holzammer 194d2ca5c3 Use Q_OS_WINCE instead of Q_WS_WINCE
Window system defines have been deprecated,
so use Q_OS_WINCE instead.

Change-Id: I52059d0f854fe783ac20610ab248800c3e1e827c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:04:44 +01:00
Pekka Vuorela c802a5d272 Remove QInputContext
This has only been around as compatibility interface for Qt4
but is now replaced by QPlatformInputContext.

Change-Id: I677dbbea46311bf39f6c5ca9dc3fb5009abe924a
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-03 11:01:34 +01:00
Pekka Vuorela 71726ccf67 Renamed QInputPanel as QInputMethod
QInputMethod better describes what the class is about, input methods
in general, be they panels or just composing input from key events.

Compatability headers added for old name. Not bulletproof but should be
enough to get transition done.

Change-Id: Iefde6e7ccb1ec4a3b226cef3469089e751c60fc1
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2012-02-02 11:10:04 +01:00
Stephen Kelly e03b77d1a6 Remove the API duplication from QApplication.
The quitOnLastWindowClosed API is present in the base
class QGuiApplication.

Change-Id: Ib2f78e48a198aa835302dcb9a31637a2c3655532
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: David Faure <faure@kde.org>
2012-02-01 16:24:10 +01:00
Stephen Kelly a512e210ac Add the event loop quitlock feature to QtCore.
A feature of a ref-counted quit (managed by a quit-lock class)
is added to both QEventLoop and QCoreApplication.

This allows, for example, an event loop to quit() when there is
no more work for it to do.

quitOnLastWindowClosed is implemented in terms of the refcount in
QCoreApplication so that jobs can be completed before the
application quits.

Change-Id: I14c8f4e7ee12bbf81a6e5849290d4c8ff37fa110
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-01-31 23:22:15 +01:00
Xizhi Zhu e8105e4783 Remove Symbian and Maemo 5 code from QtWidgets.
Change-Id: I715c0ec70cbad05a6ba9737e49be9da7cbd65bf9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-01-31 07:05:00 +01:00
Jason McDonald 5635823e17 Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.

Change-Id: I311e001373776812699d6efc045b5f742890c689
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-30 03:54:59 +01:00
Pekka Vuorela 1166ad8603 QWidgets to use QGuiApplication focus object change notifications
Moving away from deprecated QInputPanel inputItem.

Small behavioral changes:
- On focus proxy widgets, disabling WA_InputMethodEnabled on
proxy will no longer disable input method for proxy target.
- setEnabled(false) on proxy widget will no longer disable
input method for target as a special case.

Change-Id: Ifb5b7144d29bd3aefdde7cf4a0bd396db06e67e2
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2012-01-27 13:28:03 +01:00
Lars Knoll 0fb5c7e71d Make coordinates float based where it makes sense.
Mouse and Hover events already use FP corrdinates. They
also make sense for tablet and drop events.

Task-number: QTBUG-20115
Change-Id: Iff35d1f468567bd5a37236853dbc7725a37d87f2
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-01-25 02:23:25 +01:00
Jason McDonald 629d6eda5c Update contact information in license headers.
Replace Nokia contact email address with Qt Project website.

Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:04:33 +01:00
Pekka Vuorela cf0d5d4554 Move keyboardInput data back to QApplication
Deprecated interface, rest of Qt now adapted to
QInputPanel.

Change-Id: Iacbbcac90dd7c037a24b45df1ee868f04090b21b
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2012-01-17 13:15:04 +01:00
Frederik Gladhorn ad16382135 Remove QAccessibleEvent
It was unused and I don't quite understand its purpose any more.

Change-Id: I5c946a1644fd64508cb4aad78320ae96fd935d31
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-01-12 15:02:54 +01:00
Pekka Vuorela 8ad583b7f9 Removed QApplication::setInputContext()
Obsoleted by platform input context. Setting a custom QInputContext
wouldn't work properly anymore.

Change-Id: I966573a82fdd7530544878513a655eae7b3ad67b
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2012-01-05 11:40:08 +01:00
Jason McDonald 1fdfc2abfe Update copyright year in license headers.
Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-05 06:36:56 +01:00
Friedemann Kleint a793a56d70 QApplication: Remove unused variable causing a compiler warning.
Change-Id: I418ac16a2b3e119569512e38d3f00fb493b769d1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-01-05 02:17:04 +01:00
Samuel Rødal a23a5487eb Send ApplicationActivate and ApplicationDeactivate from QtGui.
Instead of only from QApplication in QtWidgets, as we need these events
for example in QDeclarativeApplication.

Task-number: QTBUG-21573
Task-number: QTBUG-23331
Change-Id: I0c960bd1c7911d306d274a6e9a1838f158235ed0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2012-01-02 15:08:19 +01:00
Stephen Kelly 1749fef3c5 Remove declaration which is exported from QtGui.
Fixes static build.

Change-Id: I6f82ded7bf6cb3b72b0ef987e781c7e8f9ed932b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2011-12-19 23:04:38 +01:00
Laszlo Agocs 3064c1bc8c Remove redundant touch processing in QtGui and widgets.
The duplicated hash tables in QGuiApplicationPrivate and
QApplicationPrivate are now unified into one single hash table in
QGuiApplicationPrivate. This also reduced the number of lookups.

The extra processing needed to keep the touch points' first/lastPos
values in sync is now done only once, in QGuiApplication. This
eliminates the performance penalty (for widget-based apps) that was
introduced during the QPA migration.

As an added bonus the patch adds support for touch events arriving
simultaenously from multiple devices. This was broken before: As there
is no guarantee that two devices/drivers will not send touch points
with the same ID, using structures with only the ID as key is
wrong. The proper key is composed of the device ID (that is, a
QTouchDevice pointer) and the touch point ID.

The exported internal function qt_translateRawTouchEvent() has been
removed. This function cannot work properly in the QPA world: It
injected touches into the widget subsystem (QApplication) only which
is wrong, and would result in half-filled touch events due to not
routing the injected data through QGuiApplication. Autotests using
this function are migrated to
QWindowSystemInterface::handleTouchEvent().

Change-Id: I7632781d77f9e0ac4626fd7c9933511c94492156
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-14 13:17:19 +01:00
Frederik Gladhorn 2e02aaf24c Make QApplication::type() set by QGuiApplication.
QApplication::type used to be static and set by the
QApplicationPrivate constructors.

In QCoreApplication we have the new application_type that should take its place.
QApplication::GuiServer is deprecated (since it doesn't have any functionallity
any more with QWS being removed).

This change prepares QStyle to be called from a QQuickCanvase based application
that does not inherit the QWidget version of QApplication.

Change-Id: Ifbe992e25f1e5821fa047b6eb915f75fa675ab97
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-12-12 17:28:24 +01:00
Laszlo Agocs 6f1c4fb342 Store the primary status in the touch point flags.
For some reason the primary bit has previously been encoded in the
touch point state, even though it has nothing to do with the regular
states like Pressed, Released, etc.

The value is now stored in the recently introduced flags member of the
touch points. This also reduces the need for error-prone internal
masking of the state value.

The structure used by QWindowSystemInterface::handleTouchEvent also
becomes cleaner because the primary status can now be set in the flags
member and the isPrimary bool can be dropped.

Change-Id: I1da2cb99154afd97e1e3a5943ab115cae3a8232f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-12 12:28:29 +01:00
Laszlo Agocs 4471e45f74 Remove QWidget dependency from QTouchEvent.
QWidget *widget() is replaced with QObject *target().

Change-Id: Ib2c860480764410cf1527662e89f352ff688b32a
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-12-09 16:36:00 +01:00
Laszlo Agocs 4222603f8e Extend touch events.
The capability flags indicate which information is valid in the touch
points. Previously there was no way to tell if e.g. the value returned
by pressure() is actually the value provided by the driver/device or
it is just something bogus due to pressure not being supported.

The points' flags return information about the individual touch
points. One use case is to differentiate between touches made by
finger and pen.

Velocity, if available, is now also exposed.

Each touch point can now contain an additional list of "raw"
positions. These points are not reported individually but are taken
into account in some way by the underlying device and drivers to
generate the final, "accurate" touch point. In case the underlying
drivers expose these additional positions, they are made available in
the lists returned by the touch points' rawScreenPosition().

The raw positions are only available in screen coordinates to prevent
wasting time with mapping from global positions in applications that
do not use this data. Instead, apps can query the QWindow to which the
touch event was sent via QTouchEvent::window() and can call
mapFromGlobal() manually if they need local raw positions.

The capability and device type information is now held in a new
QTouchDevice class. Each touch event will contain only a pointer to
one of the global QTouchDevice instances. On top of type and
capability, the new class also contains a name which can be used to
differentiate between multiple touch input devices (i.e. to tell from
which one a given QTouchEvent originates from).

The introduction of QTouchDevice has three implications: The
QTouchEvent constructor and QWindowSystemInterface::handleTouchEvent
need to be changed (to pass a QTouchDevice pointer instead of merely a
device type value), and each platform or generic plug-in is now
responsible for registering one or more devices using the new API
QWindowSystemInterface::registerTouchDevice.

Change-Id: Ic1468d3e43933d8b5691d75aa67c43e1bc7ffe3e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-12-09 14:15:37 +01:00
Jędrzej Nowacki e650859dc9 Improve Q_CONSTRUCTOR_FUNCTION and Q_DESTRUCTOR_FUNCTION macros.
By adding anonymous namespace and static linkage we are reducing
visibility of implementation of these macros.

This patch also fixes warning about a declared but unused variable which
was issued by gcc 4.6 for Q_CONSTRUCTOR_FUNCTION.

Change-Id: I2cb70ad4c93f6f77e5518420abcce6fd4cadccfa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-12-01 14:35:42 +01:00
Jørgen Lind f6c107d799 Make input events work for widgets on wayland
Wayland windows does not know about their position

Change-Id: Ia37dd0fe6e33073eeeba22c88da9bd4bcad5421f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-28 16:57:58 +01:00
Bradley T. Hughes f9e17f2a32 Remove the QApplicationBase define
Use QGuiApplication instead, since QApplicationBase was unconditionally
defined to QGuiApplication anyway.

Change-Id: I9d0c96835693e5ca6218c330b2d243579a5b0b38
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2011-11-25 13:04:42 +01:00
Pekka Vuorela dc2a1aff9b QWidget text editors to commit text on their own on losing focus
Change-Id: I3b907661e8a24a6dbdaabf607c5c528b1b471c98
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-11-10 13:07:38 +01:00
Laszlo Agocs 0008428f90 Prevent timestamps in widgets' touch events from disappearing
Change-Id: I096914eb2b02ad9c4a5c0462a1f4b76ef17c3957
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-04 20:48:19 +01:00
Friedemann Kleint fc14bd2c92 Widgets: Remove Q_WS_QPA and qpa-sections from .pro files.
Enable compilation without -qpa.

- Remove conditionals from Q_WS_QPA sections.
- Rename precompiled header.
- Remove gui-related Q_OS_SYMBIAN-#ifdef sections.
- Leave other Q_WS code in for reference.

Change-Id: I16326b631fff483aec8edd2f7a2e7a1822eab814
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-21 21:29:46 +02:00
Morten Sorvig 9fa6e8f627 Clean-up a macro for Cocoa
Remove the usage of Q_MAC_USE_COCOA and Carbon code paths.

Change-Id: Ib569ad8c6d9ffe258f454b3c3b06e95294a10112
Reviewed-on: http://codereview.qt-project.org/5100
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Sanity-Review: Morten Johan Sørvig <morten.sorvig@nokia.com>
2011-10-10 07:47:58 +02:00
Morten Sorvig 9ac51af083 Cocoa: Send proper mouse coordinates.
Clear up coordinate system confusion. Also change
QApplicationPrivate::pickMouseReceiver to indicate
that, yes, it does modify the 3rd argument in
addition to returning the mouse receiver widget.

Change-Id: If2c44eff65aedfdc78c6da1728f31d6e2db71f9d
Reviewed-on: http://codereview.qt-project.org/5919
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2011-10-03 15:31:42 +02:00
Casper van Donderen e86df8cc4b Move the documentation for the classes to their modules.
All documented classes under src/widgets should now be
under the QtWidgets module in the documentation. The
QtPrintSupport classes should now be under the QtPrintSupport
module in the documentation.

Change-Id: I236b15443b8b93a61578a1d10f52b64dba938f29
Reviewed-on: http://codereview.qt-project.org/5520
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2011-10-03 09:56:09 +02:00
Lars Knoll 3fd9398052 Remove the remaining traces of QT3_SUPPORT
The only place that now still knows about it is moc,
so it can still parse old headers.

Change-Id: Iafec080f99c67560974e9ebc0cbfb27d9a4b2d6f
Reviewed-on: http://codereview.qt-project.org/5755
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-03 05:59:07 +02:00
Lars Knoll db3418c10b Fix the qtranslator autotest
Properly propagate the language change event
to all widgets.

Change-Id: I6650205abe1acc6979e28ca5c5dde5ae33a406b9
Reviewed-on: http://codereview.qt-project.org/5758
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-09-29 08:56:26 +02:00
Lars Knoll 84251f84b6 Implement support for QGuiApp::setOverrideCursor()
Properly support application override cursors and move
the documentation into the proper place.

Change-Id: I0198b38e0d2e7b10f0fcae342b468e7f8341bf02
Reviewed-on: http://codereview.qt-project.org/5562
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
2011-09-28 14:02:08 +02:00
Pekka Vuorela 50f0aeee77 Adapted most QInputContext usage on widgets to QInputPanel
Including most of stuff excluding mouse event handling
which differs between the classes.

Change-Id: Iff1e56b9c50c3f84de2d1c43a3416a1952197a17
Reviewed-on: http://codereview.qt-project.org/5640
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-28 14:02:08 +02:00
Friedemann Kleint a85d343a39 Widgets: Remove QT3_SUPPPORT.
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>

Change-Id: Ie884f0cc9b3970b01c3c0c26600b1bcd92548077
Reviewed-on: http://codereview.qt-project.org/5629
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-28 03:18:16 +02:00
Lars Knoll ceb3a071d2 Remove Q_GLOBAL_STATIC_WITH_INITIALIZER from QtWidgets
Change-Id: Iecad85fbbfabe41c3a332be2ee0ce3a643db7731
Reviewed-on: http://codereview.qt-project.org/5025
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-09-23 13:04:13 +02:00
Kevin Simons 294a3e7b47 Fix QApplication::startDragDistance()
Change-Id: I1b95e25892935b2b6287b8fed719479e37dbcad5
Reviewed-on: http://codereview.qt-project.org/5308
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-09-21 13:46:08 +02:00
Kai Koehne 9a096d9eb0 Move handling of -qmljsdebugger argument to QCoreApplication
Move handling of -qmljsdebugger= argument from QApplication
to QCoreApplication. It makes sense to allow debugging also
for applications based on QCoreApplication (which we intend
to support in QtDeclarative).

Change-Id: I5a03a4510fc166cea5aad146da673ee0e7cd5d36
Reviewed-on: http://codereview.qt-project.org/5121
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2011-09-19 16:37:51 +02:00
Pekka Vuorela 78bb937e15 Remove internal uses of Software input panel events.
Replaced with QInputPanel method calls. Only remaining instance in
QApplication::notify().

Change-Id: I384661f81d08b4322ce538bb21dbce9c7aef2f87
Reviewed-on: http://codereview.qt-project.org/4454
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 15:21:34 +02:00
Lars Knoll 842c44cb07 Renamed some of the methods in the QInputPanel
Change-Id: Ida03ef170e664f79708149c11a00772ee78a984b
Reviewed-on: http://codereview.qt-project.org/4399
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-08 10:31:58 +02:00
Lars Knoll a30d4162dd Refactor the input framework
Results of the ongoing workshop in Oslo:
QInputPanel will be the application facing interface
for controlling the input context as well as querying
things like the position of the virtual keyboard.
QInputContext is significantly cleaned up and only there as
a compatibility API for existing code.

Change-Id: Ie8e2ee480930763f414bfaae63247b1fb6500c82
Reviewed-on: http://codereview.qt.nokia.com/4357
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Vesa Rantanen <vesa.rantanen@nokia.com>
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-07 14:59:18 +02:00
Laszlo Agocs 5e9f410eb6 Add timestamp to QInputEvent.
The mouse, touch, key events have no timestamp field currently,
meaning that the timestamp passed to QWindowSystemInterface's
handleMouse, Touch, KeyEvent functions will not be stored in the
generated events. The timestamp can be quite valuable in some cases
(e.g. when performing filtering of touch events) so losing this
information is not desirable. The patch adds a timestamp field to
QInputEvent, which is the base for mouse, touch, key, and other
events, and also makes QGuiApplication to store the timestamp in the
generated events.

Change-Id: Icb9de8b238cb341916eac33ce21603f4955baca7
Reviewed-on: http://codereview.qt.nokia.com/4196
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-05 15:13:13 +02:00
Lars Knoll c2aea75c22 Refactor QMouseEvent to contain the position inside the window
Rename the default accessors for positions to localPos, windowPos
and screenPos, to be explicit about their use.
Introduce a QT_NO_INTEGER_EVENT_COORDINATES define so one can make sure
to always use the float based coordinates.
Fixup all Qt code to use the correct constructor that specifies all
three coordinates.

Change-Id: If4bb93b8d1e2eb2440260d99680c468706cfe68f
Reviewed-on: http://codereview.qt.nokia.com/4058
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-09-01 13:27:37 +02:00
Lars Knoll 94355ca15a Add a QStyleHints class to QtGui
This class encapsulates platform specific style hints
like doubleClickInterval or cursorFlashTime.

Change-Id: I0d88c47a59d564d8d346642184e5b14e1864cf40
Reviewed-on: http://codereview.qt.nokia.com/3927
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-31 11:47:21 +02:00
Lars Knoll 3795e2c7be Move the qmljsdebugargument variable to QGuiApplication
This used to reside in QApplication, but we need it here
to remove a dependency of QtDeclarative onto widgets.

Change-Id: I119fef1d51387087b00e08aff1ee4b00503a6cd5
Reviewed-on: http://codereview.qt.nokia.com/3926
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-08-31 11:45:33 +02:00
Samuel Rødal d0c48efbae Merge remote branch 'gerrit/master' into refactor
Conflicts:
	src/gui/accessible/qaccessible.h
	src/gui/kernel/qapplication.cpp
	src/gui/kernel/qapplication.h
	src/gui/kernel/qapplication_mac.mm
	src/gui/kernel/qapplication_qws.cpp
	src/gui/kernel/qapplication_s60.cpp
	src/gui/kernel/qapplication_win.cpp
	src/gui/kernel/qapplication_x11.cpp
	src/gui/kernel/qdnd_x11.cpp
	src/gui/kernel/qwidget.cpp
	src/gui/widgets/qlabel.cpp

Change-Id: Ief9c75724d2cff89ed45f009bdee2ffc5e4395ba
2011-08-29 12:11:53 +02:00
Lars Knoll f4f1b53b96 Move printing into it's own library
Create a libQtPrintSupport library that contains our current
printing infrastructure. Long term this will get replaced
with a libQtPrint, as the current architecture is not
really maintainable.

Change-Id: I7362fff6786b58c5b4e9213c23eda36d15048aa2
Reviewed-on: http://codereview.qt.nokia.com/3209
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2011-08-19 09:16:42 +02:00
Friedemann Kleint 37edacb710 QPlatformFontDatabase: Add default fonts.
Add a default font accessor used to initalize QGuiApplication::font().
Add accessor for default font hash providing the defaults for
QApplication::font(const char *widgetClassName).

Change-Id: Ie4eb6edb251a81e81288ef480ae5550bd1125008
Reviewed-by: Samuel Rødal <sroedal@trolltech.com>
Reviewed-on: http://codereview.qt.nokia.com/2567
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-03 14:54:35 +02:00
Lars Knoll 314fdbce8c Merge remote branch 'gerrit/master' into refactor
Conflicts:
	config.tests/unix/opengldesktop/opengldesktop.cpp
	examples/itemviews/interview/interview.pro
	examples/mainwindows/mainwindow/mainwindow.pro
	examples/openvg/README
	examples/richtext/textedit/textedit.pro
	examples/tools/undo/undo.pro
	src/corelib/global/qglobal.h
	src/corelib/kernel/qcoreapplication.h
	src/corelib/kernel/qcoreevent.h
	src/corelib/kernel/qmetatype.h
	src/gui/kernel/qevent.cpp
	src/gui/kernel/qevent.h
	src/gui/painting/qpaintengine_raster.cpp
	src/gui/painting/qpaintengine_raster_p.h
	src/gui/text/qfontdatabase.cpp
	src/opengl/qgl.h
	src/openvg/qpaintengine_vg.cpp
	src/plugins/platforms/wayland/qwaylandwindow.cpp
	tests/auto/qmainwindow/qmainwindow.pro

Change-Id: I6bfb586740a68379bb99f4612ec993393a5f3234
2011-07-06 14:08:02 +02:00
Morten Sorvig 4ed17a6508 Start porting the Mac menu system to QPA.
Global changes: 
qglobal.h: remove code that sets Q_WS_MAC and
Q_MAC_USE_COCOA - this is dead code now. Add 
qt_widget_helpers_mac_p.h/mm which will contain
helper functions needed for widgets on Qt 5. 

Menu-related changes:
Set AA_DontUseNativeMenuBar before creating the 
platform plugin. Change Q_WS_MAC to Q_OS_MAC in the
menu code. Remove Q_MAC_USE_COCOA defines and Carbon
code paths. Move some qt_mac helper functions only
used by the menu system to qmenu_mac.mm. #ifdef out 
some code paths that require further porting.

Native menus are now disabled by default but can 
be enabled by the QPA plugins that want them by
clearing AA_DontUseNativeMenuBar. Since we at compile
time don't know which plugin will be loaded the Mac
menu code is always included when building on OS X.
(The above is currently only relevant for the Cocoa
plugin.)
2011-07-06 09:59:36 +02:00
Lars Knoll 4363d836f6 remove the plugin support for QInputContext
This will be handled through the lighthouse plugin
instead.
2011-06-22 10:46:12 +02:00
Samuel Rødal 6ce6b8a378 Rename QWindowSurface -> QBackingStore and split into platform / public.
Also get rid of GL window surface and related classes.
2011-06-21 09:04:01 +02:00
Olli Werwolff 819f9ca965 Use Q_WIDGETS_EXPORT for widgets library
Reviewed-by: Lars Knoll
2011-06-08 10:43:55 +02:00
Laszlo Agocs e277d14425 Add focus and modal dialog support.
Reviewed-by: Samuel Rødal
2011-05-30 14:41:14 +02:00
Paul Olav Tvete 43b9a99983 Merge remote branch 'staging/master' into refactor
Conflicts:
	examples/animation/animatedtiles/animatedtiles.pro
	examples/animation/appchooser/appchooser.pro
	examples/animation/easing/easing.pro
	examples/animation/easing/window.h
	examples/animation/moveblocks/moveblocks.pro
	examples/animation/states/states.pro
	examples/animation/stickman/stickman.pro
	examples/dbus/dbus-chat/dbus-chat.pro
	examples/dbus/dbus.pro
	examples/dbus/remotecontrolledcar/car/car.pro
	examples/dbus/remotecontrolledcar/controller/controller.pro
	examples/dbus/remotecontrolledcar/remotecontrolledcar.pro
	examples/desktop/desktop.pro
	examples/desktop/screenshot/screenshot.pro
	examples/dialogs/classwizard/classwizard.pro
	examples/dialogs/configdialog/configdialog.pro
	examples/dialogs/dialogs.pro
	examples/dialogs/extension/extension.pro
	examples/dialogs/findfiles/findfiles.pro
	examples/dialogs/licensewizard/licensewizard.pro
	examples/dialogs/sipdialog/sipdialog.pro
	examples/dialogs/standarddialogs/standarddialogs.pro
	examples/dialogs/tabdialog/tabdialog.pro
	examples/dialogs/trivialwizard/trivialwizard.pro
	examples/draganddrop/draggableicons/draggableicons.pro
	examples/draganddrop/draggabletext/draggabletext.pro
	examples/draganddrop/dropsite/dropsite.pro
	examples/draganddrop/fridgemagnets/fridgemagnets.pro
	examples/draganddrop/puzzle/puzzle.pro
	examples/effects/blurpicker/blurpicker.pro
	examples/effects/fademessage/fademessage.pro
	examples/effects/lighting/lighting.pro
	examples/examples.pro
	examples/gestures/imagegestures/imagegestures.pro
	examples/graphicsview/anchorlayout/anchorlayout.pro
	examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.pro
	examples/graphicsview/collidingmice/collidingmice.pro
	examples/graphicsview/diagramscene/diagramscene.pro
	examples/graphicsview/dragdroprobot/dragdroprobot.pro
	examples/graphicsview/elasticnodes/elasticnodes.pro
	examples/graphicsview/flowlayout/flowlayout.pro
	examples/graphicsview/graphicsview.pro
	examples/graphicsview/simpleanchorlayout/simpleanchorlayout.pro
	examples/graphicsview/weatheranchorlayout/weatheranchorlayout.pro
	examples/ipc/ipc.pro
	examples/ipc/sharedmemory/sharedmemory.pro
	examples/itemviews/addressbook/addressbook.pro
	examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.pro
	examples/itemviews/chart/chart.pro
	examples/itemviews/coloreditorfactory/coloreditorfactory.pro
	examples/itemviews/combowidgetmapper/combowidgetmapper.pro
	examples/itemviews/customsortfiltermodel/customsortfiltermodel.pro
	examples/itemviews/dirview/dirview.pro
	examples/itemviews/editabletreemodel/editabletreemodel.pro
	examples/itemviews/fetchmore/fetchmore.pro
	examples/itemviews/frozencolumn/frozencolumn.pro
	examples/itemviews/itemviews.pro
	examples/itemviews/pixelator/pixelator.pro
	examples/itemviews/puzzle/puzzle.pro
	examples/itemviews/simpletreemodel/simpletreemodel.pro
	examples/itemviews/simplewidgetmapper/simplewidgetmapper.pro
	examples/itemviews/spinboxdelegate/spinboxdelegate.pro
	examples/itemviews/stardelegate/stardelegate.pro
	examples/ja_JP/linguist/hellotr/hellotr.pro
	examples/layouts/basiclayouts/basiclayouts.pro
	examples/layouts/borderlayout/borderlayout.pro
	examples/layouts/dynamiclayouts/dynamiclayouts.pro
	examples/layouts/flowlayout/flowlayout.pro
	examples/layouts/layouts.pro
	examples/linguist/arrowpad/arrowpad.pro
	examples/linguist/hellotr/hellotr.pro
	examples/linguist/linguist.pro
	examples/linguist/trollprint/trollprint.pro
	examples/mainwindows/application/application.pro
	examples/mainwindows/dockwidgets/dockwidgets.pro
	examples/mainwindows/mainwindows.pro
	examples/mainwindows/mdi/mdi.pro
	examples/mainwindows/menus/menus.pro
	examples/mainwindows/recentfiles/recentfiles.pro
	examples/mainwindows/sdi/sdi.pro
	examples/network/network.pro
	examples/opengl/opengl.pro
	examples/openvg/openvg.pro
	examples/painting/basicdrawing/basicdrawing.pro
	examples/painting/concentriccircles/concentriccircles.pro
	examples/painting/fontsampler/fontsampler.pro
	examples/painting/imagecomposition/imagecomposition.pro
	examples/painting/painterpaths/painterpaths.pro
	examples/painting/painting.pro
	examples/painting/transformations/transformations.pro
	examples/qtconcurrent/imagescaling/imagescaling.pro
	examples/qtconcurrent/map/map.pro
	examples/qtconcurrent/progressdialog/progressdialog.pro
	examples/qtconcurrent/qtconcurrent.pro
	examples/qtconcurrent/runfunction/runfunction.pro
	examples/qtconcurrent/wordcount/wordcount.pro
	examples/qtestlib/qtestlib.pro
	examples/qtestlib/tutorial1/tutorial1.pro
	examples/qtestlib/tutorial2/tutorial2.pro
	examples/qtestlib/tutorial3/tutorial3.pro
	examples/qtestlib/tutorial4/tutorial4.pro
	examples/qtestlib/tutorial5/tutorial5.pro
	examples/qws/dbscreen/dbscreen.pro
	examples/qws/framebuffer/framebuffer.pro
	examples/qws/mousecalibration/mousecalibration.pro
	examples/qws/simpledecoration/simpledecoration.pro
	examples/qws/svgalib/svgalib.pro
	examples/richtext/calendar/calendar.pro
	examples/richtext/orderform/orderform.pro
	examples/richtext/richtext.pro
	examples/richtext/syntaxhighlighter/syntaxhighlighter.pro
	examples/sql/sql.pro
	examples/statemachine/eventtransitions/eventtransitions.pro
	examples/statemachine/rogue/rogue.pro
	examples/statemachine/trafficlight/trafficlight.pro
	examples/statemachine/twowaybutton/twowaybutton.pro
	examples/threads/mandelbrot/mandelbrot.pro
	examples/threads/queuedcustomtype/queuedcustomtype.pro
	examples/threads/threads.pro
	examples/tools/codecs/codecs.pro
	examples/tools/completer/completer.pro
	examples/tools/contiguouscache/contiguouscache.pro
	examples/tools/customcompleter/customcompleter.pro
	examples/tools/customtype/customtype.pro
	examples/tools/customtypesending/customtypesending.pro
	examples/tools/echoplugin/echoplugin.pro
	examples/tools/echoplugin/echowindow/echowindow.pro
	examples/tools/echoplugin/plugin/plugin.pro
	examples/tools/i18n/i18n.pro
	examples/tools/inputpanel/inputpanel.pro
	examples/tools/plugandpaint/plugandpaint.pro
	examples/tools/plugandpaintplugins/basictools/basictools.pro
	examples/tools/plugandpaintplugins/extrafilters/extrafilters.pro
	examples/tools/plugandpaintplugins/plugandpaintplugins.pro
	examples/tools/regexp/regexp.pro
	examples/tools/settingseditor/settingseditor.pro
	examples/tools/styleplugin/plugin/plugin.pro
	examples/tools/styleplugin/styleplugin.pro
	examples/tools/styleplugin/stylewindow/stylewindow.pro
	examples/tools/tools.pro
	examples/tools/treemodelcompleter/treemodelcompleter.pro
	examples/tools/undoframework/undoframework.pro
	examples/touch/dials/dials.pro
	examples/touch/fingerpaint/fingerpaint.pro
	examples/touch/knobs/knobs.pro
	examples/touch/pinchzoom/pinchzoom.pro
	examples/tutorials/addressbook-fr/addressbook-fr.pro
	examples/tutorials/addressbook-fr/part1/part1.pro
	examples/tutorials/addressbook-fr/part2/part2.pro
	examples/tutorials/addressbook-fr/part3/part3.pro
	examples/tutorials/addressbook-fr/part4/part4.pro
	examples/tutorials/addressbook-fr/part5/part5.pro
	examples/tutorials/addressbook-fr/part6/part6.pro
	examples/tutorials/addressbook-fr/part7/part7.pro
	examples/tutorials/addressbook/addressbook.pro
	examples/tutorials/addressbook/part1/part1.pro
	examples/tutorials/addressbook/part2/part2.pro
	examples/tutorials/addressbook/part3/part3.pro
	examples/tutorials/addressbook/part4/part4.pro
	examples/tutorials/addressbook/part5/part5.pro
	examples/tutorials/addressbook/part6/part6.pro
	examples/tutorials/addressbook/part7/part7.pro
	examples/tutorials/modelview/1_readonly/1_readonly.pro
	examples/tutorials/modelview/2_formatting/2_formatting.pro
	examples/tutorials/modelview/3_changingmodel/3_changingmodel.pro
	examples/tutorials/modelview/4_headers/4_headers.pro
	examples/tutorials/modelview/5_edit/5_edit.pro
	examples/tutorials/modelview/6_treeview/6_treeview.pro
	examples/tutorials/modelview/7_selections/7_selections.pro
	examples/tutorials/modelview/modelview.pro
	examples/tutorials/widgets/childwidget/childwidget.pro
	examples/tutorials/widgets/nestedlayouts/nestedlayouts.pro
	examples/tutorials/widgets/toplevel/toplevel.pro
	examples/tutorials/widgets/windowlayout/windowlayout.pro
	examples/uitools/multipleinheritance/multipleinheritance.pro
	examples/uitools/textfinder/textfinder.pro
	examples/uitools/uitools.pro
	examples/widgets/analogclock/analogclock.pro
	examples/widgets/calculator/calculator.pro
	examples/widgets/calendarwidget/calendarwidget.pro
	examples/widgets/charactermap/charactermap.pro
	examples/widgets/codeeditor/codeeditor.pro
	examples/widgets/digitalclock/digitalclock.pro
	examples/widgets/groupbox/groupbox.pro
	examples/widgets/icons/icons.pro
	examples/widgets/imageviewer/imageviewer.pro
	examples/widgets/lineedits/lineedits.pro
	examples/widgets/movie/movie.pro
	examples/widgets/scribble/scribble.pro
	examples/widgets/shapedclock/shapedclock.pro
	examples/widgets/sliders/sliders.pro
	examples/widgets/softkeys/softkeys.pro
	examples/widgets/spinboxes/spinboxes.pro
	examples/widgets/styles/styles.pro
	examples/widgets/stylesheet/stylesheet.pro
	examples/widgets/tablet/tablet.pro
	examples/widgets/tetrix/tetrix.pro
	examples/widgets/tooltips/tooltips.pro
	examples/widgets/validators/validators.pro
	examples/widgets/widgets.pro
	examples/widgets/windowflags/windowflags.pro
	examples/xml/xml.pro
	mkspecs/qws/freebsd-generic-g++/qplatformdefs.h
	mkspecs/qws/linux-arm-g++/qplatformdefs.h
	mkspecs/qws/linux-arm-gnueabi-g++/qplatformdefs.h
	mkspecs/qws/linux-armv6-g++/qplatformdefs.h
	mkspecs/qws/linux-avr32-g++/qplatformdefs.h
	mkspecs/qws/linux-cellon-g++/qplatformdefs.h
	mkspecs/qws/linux-dm7000-g++/qplatformdefs.h
	mkspecs/qws/linux-dm800-g++/qplatformdefs.h
	mkspecs/qws/linux-generic-g++-32/qplatformdefs.h
	mkspecs/qws/linux-generic-g++/qplatformdefs.h
	mkspecs/qws/linux-ipaq-g++/qplatformdefs.h
	mkspecs/qws/linux-lsb-g++/qplatformdefs.h
	mkspecs/qws/linux-mips-g++/qplatformdefs.h
	mkspecs/qws/linux-nacl-g++/qplatformdefs.h
	mkspecs/qws/linux-powerpc-g++/qplatformdefs.h
	mkspecs/qws/linux-sh-g++/qplatformdefs.h
	mkspecs/qws/linux-sh4al-g++/qplatformdefs.h
	mkspecs/qws/linux-sharp-g++/qplatformdefs.h
	mkspecs/qws/linux-x86-g++/qplatformdefs.h
	mkspecs/qws/linux-x86_64-g++/qplatformdefs.h
	mkspecs/qws/linux-zylonite-g++/qplatformdefs.h
	mkspecs/qws/macx-generic-g++/qplatformdefs.h
	mkspecs/qws/macx-iphonedevice-g++/qplatformdefs.h
	mkspecs/qws/macx-iphonesimulator-g++/qplatformdefs.h
	mkspecs/qws/macx-nacl-g++/qplatformdefs.h
	mkspecs/qws/solaris-generic-g++/qplatformdefs.h
	src/gui/dialogs/qprintdialog_qws.cpp
	src/gui/egl/qegl_qws.cpp
	src/gui/embedded/qcopchannel_qws.cpp
	src/gui/embedded/qcopchannel_qws.h
	src/gui/embedded/qdecoration_qws.cpp
	src/gui/embedded/qdecoration_qws.h
	src/gui/embedded/qdecorationdefault_qws.cpp
	src/gui/embedded/qdecorationdefault_qws.h
	src/gui/embedded/qdecorationfactory_qws.cpp
	src/gui/embedded/qdecorationfactory_qws.h
	src/gui/embedded/qdecorationplugin_qws.cpp
	src/gui/embedded/qdecorationplugin_qws.h
	src/gui/embedded/qdecorationstyled_qws.cpp
	src/gui/embedded/qdecorationstyled_qws.h
	src/gui/embedded/qdecorationwindows_qws.cpp
	src/gui/embedded/qdecorationwindows_qws.h
	src/gui/embedded/qdirectpainter_qws.cpp
	src/gui/embedded/qdirectpainter_qws.h
	src/gui/embedded/qkbd_defaultmap_qws_p.h
	src/gui/embedded/qkbd_qws.cpp
	src/gui/embedded/qkbd_qws.h
	src/gui/embedded/qkbd_qws_p.h
	src/gui/embedded/qkbddriverfactory_qws.cpp
	src/gui/embedded/qkbddriverfactory_qws.h
	src/gui/embedded/qkbddriverplugin_qws.cpp
	src/gui/embedded/qkbddriverplugin_qws.h
	src/gui/embedded/qkbdintegrity_qws.cpp
	src/gui/embedded/qkbdintegrity_qws.h
	src/gui/embedded/qkbdlinuxinput_qws.cpp
	src/gui/embedded/qkbdlinuxinput_qws.h
	src/gui/embedded/qkbdqnx_qws.cpp
	src/gui/embedded/qkbdqnx_qws.h
	src/gui/embedded/qkbdtty_qws.cpp
	src/gui/embedded/qkbdtty_qws.h
	src/gui/embedded/qkbdum_qws.cpp
	src/gui/embedded/qkbdum_qws.h
	src/gui/embedded/qkbdvfb_qws.cpp
	src/gui/embedded/qkbdvfb_qws.h
	src/gui/embedded/qlock.cpp
	src/gui/embedded/qlock_p.h
	src/gui/embedded/qmouse_qws.cpp
	src/gui/embedded/qmouse_qws.h
	src/gui/embedded/qmousedriverfactory_qws.cpp
	src/gui/embedded/qmousedriverfactory_qws.h
	src/gui/embedded/qmousedriverplugin_qws.cpp
	src/gui/embedded/qmousedriverplugin_qws.h
	src/gui/embedded/qmouseintegrity_qws.cpp
	src/gui/embedded/qmouseintegrity_qws.h
	src/gui/embedded/qmouselinuxinput_qws.cpp
	src/gui/embedded/qmouselinuxinput_qws.h
	src/gui/embedded/qmouselinuxtp_qws.cpp
	src/gui/embedded/qmouselinuxtp_qws.h
	src/gui/embedded/qmousepc_qws.cpp
	src/gui/embedded/qmousepc_qws.h
	src/gui/embedded/qmouseqnx_qws.cpp
	src/gui/embedded/qmouseqnx_qws.h
	src/gui/embedded/qmousetslib_qws.cpp
	src/gui/embedded/qmousetslib_qws.h
	src/gui/embedded/qmousevfb_qws.cpp
	src/gui/embedded/qmousevfb_qws.h
	src/gui/embedded/qscreen_qws.cpp
	src/gui/embedded/qscreen_qws.h
	src/gui/embedded/qscreendriverfactory_qws.cpp
	src/gui/embedded/qscreendriverfactory_qws.h
	src/gui/embedded/qscreendriverplugin_qws.cpp
	src/gui/embedded/qscreendriverplugin_qws.h
	src/gui/embedded/qscreenintegrityfb_qws.cpp
	src/gui/embedded/qscreenintegrityfb_qws.h
	src/gui/embedded/qscreenlinuxfb_qws.cpp
	src/gui/embedded/qscreenlinuxfb_qws.h
	src/gui/embedded/qscreenmulti_qws.cpp
	src/gui/embedded/qscreenmulti_qws_p.h
	src/gui/embedded/qscreenproxy_qws.cpp
	src/gui/embedded/qscreenproxy_qws.h
	src/gui/embedded/qscreenqnx_qws.cpp
	src/gui/embedded/qscreenqnx_qws.h
	src/gui/embedded/qscreentransformed_qws.cpp
	src/gui/embedded/qscreentransformed_qws.h
	src/gui/embedded/qscreenvfb_qws.cpp
	src/gui/embedded/qscreenvfb_qws.h
	src/gui/embedded/qsoundqss_qws.cpp
	src/gui/embedded/qsoundqss_qws.h
	src/gui/embedded/qtransportauth_qws.cpp
	src/gui/embedded/qtransportauth_qws.h
	src/gui/embedded/qtransportauth_qws_p.h
	src/gui/embedded/qtransportauthdefs_qws.h
	src/gui/embedded/qunixsocket.cpp
	src/gui/embedded/qunixsocket_p.h
	src/gui/embedded/qunixsocketserver.cpp
	src/gui/embedded/qunixsocketserver_p.h
	src/gui/embedded/qvfbhdr.h
	src/gui/embedded/qwindowsystem_p.h
	src/gui/embedded/qwindowsystem_qws.cpp
	src/gui/embedded/qwindowsystem_qws.h
	src/gui/embedded/qwscommand_qws.cpp
	src/gui/embedded/qwscommand_qws_p.h
	src/gui/embedded/qwscursor_qws.cpp
	src/gui/embedded/qwsdisplay_qws.h
	src/gui/embedded/qwsdisplay_qws_p.h
	src/gui/embedded/qwsembedwidget.cpp
	src/gui/embedded/qwsevent_qws.cpp
	src/gui/embedded/qwsevent_qws.h
	src/gui/embedded/qwslock.cpp
	src/gui/embedded/qwslock_p.h
	src/gui/embedded/qwsmanager_p.h
	src/gui/embedded/qwsmanager_qws.cpp
	src/gui/embedded/qwsmanager_qws.h
	src/gui/embedded/qwsproperty_qws.cpp
	src/gui/embedded/qwsproperty_qws.h
	src/gui/embedded/qwsprotocolitem_qws.h
	src/gui/embedded/qwssharedmemory.cpp
	src/gui/embedded/qwssharedmemory_p.h
	src/gui/embedded/qwssignalhandler.cpp
	src/gui/embedded/qwssignalhandler_p.h
	src/gui/embedded/qwssocket_qws.cpp
	src/gui/embedded/qwssocket_qws.h
	src/gui/embedded/qwsutils_qws.h
	src/gui/image/qpixmap_qws.cpp
	src/gui/inputmethod/qwsinputcontext_p.h
	src/gui/inputmethod/qwsinputcontext_qws.cpp
	src/gui/kernel/qapplication_qpa.cpp
	src/gui/kernel/qapplication_qws.cpp
	src/gui/kernel/qclipboard_qws.cpp
	src/gui/kernel/qcursor_qws.cpp
	src/gui/kernel/qdesktopwidget_qws.cpp
	src/gui/kernel/qeventdispatcher_glib_qws.cpp
	src/gui/kernel/qeventdispatcher_glib_qws_p.h
	src/gui/kernel/qeventdispatcher_qws.cpp
	src/gui/kernel/qeventdispatcher_qws_p.h
	src/gui/kernel/qplatformintegration_qpa.cpp
	src/gui/kernel/qplatformwindowformat_qpa.cpp
	src/gui/kernel/qplatformwindowformat_qpa.h
	src/gui/kernel/qsessionmanager_qws.cpp
	src/gui/kernel/qsound_qws.cpp
	src/gui/kernel/qwidget_qws.cpp
	src/gui/painting/qcolormap_qws.cpp
	src/gui/painting/qgraphicssystem.cpp
	src/gui/painting/qgraphicssystem_mac.cpp
	src/gui/painting/qgraphicssystem_mac_p.h
	src/gui/painting/qgraphicssystem_p.h
	src/gui/painting/qgraphicssystem_qws.cpp
	src/gui/painting/qgraphicssystem_qws_p.h
	src/gui/painting/qgraphicssystem_raster.cpp
	src/gui/painting/qgraphicssystem_raster_p.h
	src/gui/painting/qgraphicssystem_runtime.cpp
	src/gui/painting/qgraphicssystem_runtime_p.h
	src/gui/painting/qgraphicssystemfactory.cpp
	src/gui/painting/qgraphicssystemfactory_p.h
	src/gui/painting/qgraphicssystemplugin.cpp
	src/gui/painting/qgraphicssystemplugin_p.h
	src/gui/painting/qpaintdevice_x11.cpp
	src/gui/painting/qprintengine_ps.cpp
	src/gui/painting/qprintengine_ps_p.h
	src/gui/painting/qprintengine_qws.cpp
	src/gui/painting/qprintengine_qws_p.h
	src/gui/painting/qregion_qws.cpp
	src/gui/painting/qunifiedtoolbarsurface_mac.cpp
	src/gui/painting/qunifiedtoolbarsurface_mac_p.h
	src/gui/painting/qwindowsurface_mac.cpp
	src/gui/painting/qwindowsurface_qws.cpp
	src/gui/painting/qwindowsurface_qws_p.h
	src/gui/painting/qwindowsurface_raster.cpp
	src/gui/painting/qwindowsurface_raster_p.h
	src/gui/painting/qwindowsurface_s60.cpp
	src/gui/painting/qwindowsurface_s60_p.h
	src/gui/painting/qwindowsurface_x11.cpp
	src/gui/painting/qwindowsurface_x11_p.h
	src/gui/painting/qwmatrix.h
	src/gui/text/qabstractfontengine_qws.cpp
	src/gui/text/qabstractfontengine_qws.h
	src/gui/text/qfont_qws.cpp
	src/gui/text/qfontdatabase_qws.cpp
	src/gui/text/qfontengine_qws.cpp
	src/opengl/qgl_qpa.cpp
	src/opengl/qgl_qws.cpp
	src/opengl/qglscreen_qws.cpp
	src/opengl/qglscreen_qws.h
	src/opengl/qglwindowsurface_qws.cpp
	src/opengl/qgraphicssystem_gl.cpp
	src/opengl/qgraphicssystem_gl_p.h
	src/openvg/qpaintengine_vg.cpp
	src/openvg/qpaintengine_vg_p.h
	src/openvg/qpixmapdata_vg.cpp
	src/openvg/qpixmapdata_vg_p.h
	src/openvg/qpixmapfilter_vg.cpp
	src/openvg/qpixmapfilter_vg_p.h
	src/openvg/qvg.h
	src/openvg/qvg_p.h
	src/openvg/qvg_symbian.cpp
	src/openvg/qvgcompositionhelper_p.h
	src/openvg/qvgfontglyphcache_p.h
	src/openvg/qvgimagepool.cpp
	src/openvg/qvgimagepool_p.h
	src/openvg/qwindowsurface_vg.cpp
	src/openvg/qwindowsurface_vg_p.h
	src/openvg/qwindowsurface_vgegl.cpp
	src/openvg/qwindowsurface_vgegl_p.h
	src/plugins/decorations/default/main.cpp
	src/plugins/decorations/styled/main.cpp
	src/plugins/decorations/windows/main.cpp
	src/plugins/gfxdrivers/ahi/qscreenahi_qws.cpp
	src/plugins/gfxdrivers/ahi/qscreenahi_qws.h
	src/plugins/gfxdrivers/ahi/qscreenahiplugin.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.h
	src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
	src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
	src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
	src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
	src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
	src/plugins/gfxdrivers/directfb/qdirectfbscreenplugin.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
	src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.cpp
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.h
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.cpp
	src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.h
	src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.cpp
	src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.h
	src/plugins/gfxdrivers/linuxfb/main.cpp
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h
	src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreenplugin.cpp
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp
	src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h
	src/plugins/gfxdrivers/qvfb/main.cpp
	src/plugins/gfxdrivers/transformed/main.cpp
	src/plugins/gfxdrivers/vnc/main.cpp
	src/plugins/gfxdrivers/vnc/qscreenvnc_p.h
	src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp
	src/plugins/gfxdrivers/vnc/qscreenvnc_qws.h
	src/plugins/graphicssystems/meego/dithering.cpp
	src/plugins/graphicssystems/meego/qmeegoextensions.cpp
	src/plugins/graphicssystems/meego/qmeegoextensions.h
	src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
	src/plugins/graphicssystems/meego/qmeegographicssystem.h
	src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
	src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
	src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp
	src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h
	src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
	src/plugins/graphicssystems/meego/qmeegopixmapdata.h
	src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp
	src/plugins/graphicssystems/opengl/main.cpp
	src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp
	src/plugins/graphicssystems/openvg/qgraphicssystem_vg_p.h
	src/plugins/graphicssystems/shivavg/main.cpp
	src/plugins/graphicssystems/shivavg/shivavggraphicssystem.cpp
	src/plugins/graphicssystems/shivavg/shivavggraphicssystem.h
	src/plugins/graphicssystems/shivavg/shivavgwindowsurface.cpp
	src/plugins/graphicssystems/shivavg/shivavgwindowsurface.h
	src/plugins/graphicssystems/trace/main.cpp
	src/plugins/graphicssystems/trace/qgraphicssystem_trace.cpp
	src/plugins/graphicssystems/trace/qgraphicssystem_trace_p.h
	src/plugins/kbddrivers/linuxinput/main.cpp
	src/plugins/mousedrivers/linuxtp/main.cpp
	src/plugins/mousedrivers/pc/main.cpp
	src/plugins/mousedrivers/tslib/main.cpp
	src/widgets/kernel/qwidget_qpa.cpp
2011-05-24 15:22:06 +02:00
Lars Knoll 82bba7e4ef move drag handling back to Gui
Move the DnD related classes back into
QtGui. Parts of the implementation is currently
commented out and needs to be moved to
QWidgetWindow.

SC incompatible change:
APIs taking QWidget * now take QObject *
2011-05-20 12:21:02 +02:00
Lars Knoll 7ff96330ed get QtWidgets to link
some more changes, mainly exporting methods from
QtGui to get QtWidgets to link.
2011-05-07 20:56:32 +02:00
Lars Knoll 94c0628d22 fix includes 2011-05-07 19:36:54 +02:00
Lars Knoll 1ae5e36baf make the new QtGui compile 2011-05-07 10:29:28 +02:00
Lars Knoll f67b8df3eb library split 2011-05-07 00:02:01 +02:00