summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
* Do not crash in the bridge because of inconsistent hierarchyJan Arve Saether2013-01-031-2/+4
| | | | | Change-Id: I732b624b9918ff4ab59ef46322fd42167b438a8d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* WINCE: Follow new library naming schemaAndreas Holzammer2013-01-031-2/+2
| | | | | Change-Id: Iad85e64bf504053e21cad809d2435c1ca239201b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Rename conflicting symbol QVariantToVARIANTMiikka Heikkinen2012-12-173-14/+15
| | | | | | | | | | | | | | | It appears this method has been copied from ActiveQt. When building Qt statically, linking Windows platform plugin into any application that also uses ActiveQt will cause error about duplicate symbol. Renamed QVariantToVARIANT to QVariant2VARIANT to avoid conflicts. Renaming is done here rather than ActiveQt, as that symbol is in exported header in ActiveQt. Task-number: QTBUG-28645 Change-Id: Id0d7fc51d4455b463515e7c6178798ad61217c35 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Windows: Remove warning when creating QWindowJonathan Liu2012-12-171-1/+0
| | | | | | Change-Id: I63c76710ab84c88ba8b4b6f24e6161ae2db77a5f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix styleName support in QPA font databaseJiang Jiang2012-12-142-8/+8
| | | | | | | | | Font styleName support was disconnected since Qt switched to QPA fontdatabase. Now add the code from Qt 4.8 back to enable this in QPA. Change-Id: Iab2cbfd5468f87542183348c2123ca4b2c270692 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix empty window title regression, add application display name to window titleDavid Faure2012-12-141-2/+16
| | | | | | | | | | | | | | | This increases consistency a lot: all windows and dialogs from a Qt application will show the app display name in the caption, on Windows and X11. This helps identifying which app a dialog belongs to, which is especially useful when the dialog is very generic and shows up unexpectedly. For compatibility reasons, the app name is added to the caption only if setApplicationDisplayName() was called -- or if the caption would be completely empty. The standard Qt4 case (setWindowTitle + no display name) is unchanged. Change-Id: Ib284c62c1f4c0bc923e5bc2d10247d95e9aa76c1 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix QWidget::setWindowOpacity() when called before show().Friedemann Kleint2012-12-121-0/+3
| | | | | | | | | Pass opacity from the QWidget to QWindow and to the platform windows. Task-number: QTBUG-28477 Change-Id: If5a85d9183bd1ca33dac2052936ecd1e6c0b5f6c Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* DirectWrite support on MinGW needs _WIN32_WINNT to be set to 0x0600Erik van Pienbroek2012-12-121-0/+5
| | | | | | | | | The file qwindowsfontenginedirectwrite.cpp uses the Win32 API function GetUserDefaultLocaleName which requires _WIN32_WINNT to be set to 0x0600 as it only became available in Windows Vista Change-Id: I704705d3fc729bb0167121de991d01c957e1e7e4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* a11y: Do not refer to destructed QObject in Windows bridgeJan Arve Saether2012-12-112-10/+22
| | | | | | | | | | | | | The crash could happen if a QWidget in the UI got deleted, and the AT client later tried to access the widget through the cache (qAccessibleRecentSentEvents()). Solution: Use a QPointer as a guard. Task-number: QTBUG-26187 Change-Id: I1aa716766626cf171757e76ba255a6d5ae4fd854 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Consistently prefix all platform plugin libraries with "q".Samuel Rødal2012-12-111-1/+1
| | | | | | | | | | | | | This means the xcb plugin library will be named libqxcb.so instead of libxcb.so, which doesn't clash with the system's libxcb.so. We need to consistently apply this on all platforms for static linking to work. Change-Id: I1640a7cae7b9846bbe62b19ab1c2c5bad7d02b4c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add PLUGIN_CLASS_NAME to qtbase pluginsMiikka Heikkinen2012-12-101-0/+1
| | | | | | | | Needed for automating static plugin loading. Task-number: QTBUG-28131 Change-Id: Icd993c0fc8335f29aeec30e853a408d888069399 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QWindowsFontDatabase: provide better fallbackFamilies.Pierre Rossi2012-12-041-74/+87
| | | | | | | | | | | Borrowed some code from QWindowsFontDatabase::createEngine that will help ensure our fallback options are thorough enough to display say chinese glyphs when using the QRawFont + QTextLayout combination that QtWebKit relies on. Task-number: QTWEBKIT-383 Change-Id: Ie4c1d5ef7d58588afaa436c89a9575ffd646c314 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* properly syncqt-ize harfbuzz headersOswald Buddenhagen2012-12-041-2/+0
| | | | | | | | | we were already installing them into QtCore/private, so turn them into proper private headers to start with. this cleans up our project files. Change-Id: I0795f79e03b60b5854de9e4dc339e9b5a5e6fd87 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix touch event handling for WindowsOliver Wolff2012-11-275-14/+29
| | | | | | | | | | | | | Filtering touch events depending on Qt::WA_AcceptTouchEvents is not trivial. I thought about doing so in QWidgetWindow::handleTouchEvent but the target widget (not window), which has to be checked, has to be obtained using the primary touch event's position etc. Thus that is not part of this commit and will be done in a followup. Change-Id: I876ee72acd7fdfbe46da61c6eb3c5891ea319cd8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fixed abbreviations in QWindow::framePos() and QWindow::setFramePos().Samuel Rødal2012-11-271-1/+1
| | | | | | | | | | | | As 672e7c875e8680818e23d0aef98129d95eb7e91c did changing pos() to position() and setPos() to setPosition(). Luckily there's not much code that uses these. Change-Id: I1e1982f00412a22bd376e667a5e8c30b6149f9b5 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* exclude 3rdparty from lupdateOswald Buddenhagen2012-11-201-0/+2
| | | | | | Change-Id: I00c569787943a87dda60786b179af1f55a94ea68 Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix QApplication::primaryScreen() in WindowsMiikka Heikkinen2012-11-151-3/+11
| | | | | | | | | | QPlatformInterface::screenAdded() documentation specifies that first added screen will be the primary screen, so we need to ensure that the screen Windows reports as the main display gets added first. Task-number: QTBUG-27988 Change-Id: Ibc17b05a6c37007ff749fb54ab62d47ffa40f8ac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Fixed mouse events related to size gripsOliver Wolff2012-11-151-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | The code which was adapted from Qt4 seems not to work as expected on current Windows versions. There are no additional mouse move events after releasing the mouse button from the size grip. One special behaviour in regards to SizeGrips here seems to be that there is no WM_LBUTTONUP message but a WM_MOUSEMOVE received when the mouse button is released from the size grip. Due to mouse event handling in the Windows plugin that event triggers the desired mouse release event so everything should be fine. With the previous implementation the behaviour from the bug report can be explained by the fact, that the mouseMove event is eaten in qwindowsmousehandler and so the second mouse click isn't even delivered. Basically the first click triggers the press event without a release and the second click does not trigger a press but a release event. Task-number: QTBUG-27864 Change-Id: I987c6e01dec4a6b6189ed30959daf7a2fcc17df6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Change to enter/leave policy while grabbing.Miikka Heikkinen2012-11-152-31/+49
| | | | | | | | | | | | | | | | | | | | | Sending enter and leave events to other windows than the grabbing window is not logical. The policy should be that only the grabbing window receives enter and leave events. Changed the documentation accordingly and provided the necessary changes to Windows implementation. Also removed explicit leave event generation for widgets when popup is opened as that is now redundant. tst_QWidget::underMouse() test was changed to behave according to new logic. Task-number: QTBUG-27871 Change-Id: I127fb8685b4a4206d1a319f42cba491ec02bc8ca Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Fix autocapture for multiple buttonsMiikka Heikkinen2012-11-151-4/+5
| | | | | | | | | | | Automatic capture of mouse events on button press was released when the first button was released, even if multiple buttons were pressed. Changed it so that the capture is released when the last button is released. Task-number: QTBUG-28007 Change-Id: Icee59aacaf0ba947820c40cb7ede00193ff46a14 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Fixed handling of key events containing ctrl modifierOliver Wolff2012-11-141-0/+8
| | | | | | | | | | | | | | | | | QKeyEvent::key() returned the wrong value if the ctrl modifier was used in that key event. That was due to the fact that ToUnicode might not return the correct code for these events/keyboard states. While it works for alt+shift+= (us layout) and gives '+' as unicode value it just claims that it cannot translate the given state for ctrl+shift+=. So if the control modifier is used and ToUnicode return 0 toKeyOrUnicode should try again without the control modifier. Task-number: QTBUG-10781 Change-Id: I5eb9c200701b4c98a8089fc0ab1ebaa385dbeea8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add a QEnterEvent containing the mouse position.Friedemann Kleint2012-11-101-1/+3
| | | | | | | | | | | | | Enter handling requires knowledge of the mouse position. Extend the enter handling of QWindowSystemInterface to receive the position (implemented for Windows, XCB and Mac), passing it on to QEnterEvent. Dispatch QEnterEvent from widgets code. Change-Id: I49c07d2b1f46310c877017dd55d4cd7d636bdbce Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Windows: Add missing support for X-buttons.Miikka Heikkinen2012-11-081-3/+8
| | | | | | | | | Autocapture and framestrut event generation didn't handle X-buttons. Task-number: QTBUG-27874 Change-Id: Icfe9dfb9abc9cd506e1875f2b2b4cbc644cff6cd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* Rename all QWindow properties that have "window" in themShawn Rutledge2012-11-075-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | windowTitle, windowModality, windowIcon and so on are named that way to be similar to the ones in QWidget. However QQuickWindow inherits all of the declared properties, and we would like to have shorter property names in QML. If you are working with a Window then it's obvious the title property is the window title. Unfortunately, there must be patches in many other modules which depend on this one. In order to avoid the need to merge them all at the same time, there is also patch https://codereview.qt-project.org/#change,39001 which temporarily adds backwards-compatible accessors, which can be removed after the other modules are able to build without them. We should not rename windowState to state, because in QML, state usually drives the state machine for animation transitions etc. (although QWindow is not an Item, a user might get confused about it). Related patches are https://codereview.qt-project.org/#change,39001 https://codereview.qt-project.org/#change,37764 https://codereview.qt-project.org/#change,37765 https://codereview.qt-project.org/#change,37766 https://codereview.qt-project.org/#change,37762 Change-Id: Ie4424ec15fbdef6b29b137f90a2ae33f173edd21 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix autocapture for doubleclick in WindowsMiikka Heikkinen2012-11-071-1/+2
| | | | | | | | | Holding down the second click of a doubleclick should also autocapture the mouse like it does in Qt4. Task-number: QTBUG-27863 Change-Id: I38c0567eca9fd7dcd3ef3d17921db5ebd3fe18b1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix invalid mouse press and release events on window maximizeMiikka Heikkinen2012-11-072-2/+31
| | | | | | | | | | | | | | | | | | | | | In Windows, if the window is maximized with a doubleclick on the title bar or resized with a doubleclick on the bottom or top frame border, there comes no WM_LBUTTONDOWN or WM_LBUTTONDBLCLK event for the second click, but there comes at least one WM_MOUSEMOVE with left button down and eventual WM_LBUTTONUP. Since QWindowSystemInterface::handleMouseEvent() can't differentiate between actual button down event and a move event with button held down, the move resulted in a button down event being sent to the widget that was under cursor after resize. Fixed by ignoring any events with left button down for which we didn't get the initial native button down event. Since entering an application with mouse button already held down is not generating mouse events anyway until the button is released, this should be safe. Task-number: QTBUG-27845 Change-Id: Ibc7abf8a127c401801e1b654a2829582f43a1ae8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix GDI leaks in fontengineMiikka Heikkinen2012-11-052-3/+6
| | | | | | | | | | GDI objects that are created need to be deleted once no longer needed, instead of just released. Task-number: QTBUG-27812 Task-number: QTBUG-27825 Change-Id: I53b04b54cea9e2aaa8fc72365c215f516c5682e6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Added MultipleWindows platform capability.Samuel Rødal2012-11-021-0/+2
| | | | | | | | | | | | | | Several platform plugins, like eglfs, kms, etc don't support multiple windows as there's no system compositor, they're rendering directly to a single back buffer. By adding a platform capability we'll be able to provide better error reporting when an application tries to create multiple QWindows on a single-window platform. Also, QML apps can use this capability to figure out whether they should create a QWindow for dialogs / popups / menus, or whether to just create items in the same scene, that are shown on top of the rest of the content. Change-Id: I15b8d21ee2bc4568e9d705dbf32f872c2c25742b Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Expose IAccessibleTable2 to non-conformant screen readersJan Arve Saether2012-11-021-7/+20
| | | | | | | This seems to be the established practice. Change-Id: I75a65d722a026ab0eb1805688743f46aba406e6c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* beef up qt_plugin.prfOswald Buddenhagen2012-11-011-4/+2
| | | | | | | it now defines the DESTDIR and creates an INSTALLS rule. Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Bring back native dialogs for Windows XP.Friedemann Kleint2012-10-303-46/+468
| | | | | | | | | | | | | | | The CLSID_FileOpenDialog, CLSID_FileSaveDialog-based dialogs are available from Windows Vista on only, the old Shell-function based ones are required for Windows XP. Add a command line argument to switch dialog types. Extract some common functionality for both dialog types. Task-number: QTBUG-27621 Change-Id: I224c5c4574c2ff54daf354f00d3d1f82abc6f459 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix build on MinGW after 0f14ea3f3a05ef785b44fa610bf90ff3b5ba7bebKonstantin Ritt2012-10-291-3/+0
| | | | | | | | Also generalize set _WIN32_WINNT to 0x0501 and _WIN32_IE to 0x0501 globally, as it is out minimal requirement these days. Change-Id: I8ca9102d49c37f908fd8ac032f707f8fe4fdcb22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Possibility to change custom Drag&Drop cursors while dragging something. ↵Cyril Oblikov2012-10-261-17/+23
| | | | | | | | | | | Implementation for Windows and X11. Additional checks to figure out if new Drag&Drop cursors where set. This means it is possible now to keep QDrag object in your program and call setDragCursor() method every time we need to change cursor depending on context. Change-Id: I4be69e44b2863371a7ffbb29efc17c18210d6cde Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* New-style Windows cursors when dragging object from outsideCyril Oblikov2012-10-262-2/+39
| | | | | | | | | New-style drag&drop cursors are used now on Windows when user drags object to application from outside (e.g. image from Explorer). This is achieved by using IDropTargetHelper. Change-Id: I67e1db73cf433e235fce891eef0093cd4e605904 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Make compile on WCE after c3b9398Kevin Funk2012-10-261-0/+2
| | | | | Change-Id: I594893eb80ecade903e592c41c7117b08bc946a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix crash when handling WM_PAINT during COM operationsMiikka Heikkinen2012-10-254-3/+31
| | | | | | | | | | | | | Synchronous expose corrupts painter state if it is done during existing paint operation, which can happen e.g. when requesting some value from dumpcpp generated wrapper inside a slot. Fixed by implementing support for setting asynchronous expose and doing expose according to the setting in handleWmPaint(). Task-number: QTBUG-27209 Change-Id: I89b5aa823fda947d26b1a4757f129e7c31ea408b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add ContextMenu event to QWindowSystemInterfaceMiikka Heikkinen2012-10-253-0/+31
| | | | | | | | | | | | | Context menu key wasn't working, as QPA had no handling for it. Added ContextMenu event to QWindowSystemInterface and proper handling to QGuiApplication and QWidgetWindow. Also provide Windows implementation. Task-number: QTBUG-27648 Change-Id: I7ce71ec4b5cdcc7be758e67f9faf6d863f7b19be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add ANGLE as a 3rdparty library to Qt.Jason Barron2012-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | ANGLE is a component that implements the OpenGL ES 2.0 API on top of DirectX 9. See the following for more info: http://code.google.com/p/angleproject/ ANGLE is now the default configuration on Windows. If you want to use desktop OpenGL, you should build Qt with the following configure options: -opengl desktop To configure Qt to use another OpenGL ES 2 implementation, you should use: -opengl es2 -no-angle Task-number: QTBUG-24207 Change-Id: Iefcbeaa37ed920f431729749ab8333b248fe5134 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Pass the correct handle to the Windows EGL context constructor.Jason Barron2012-10-221-1/+1
| | | | | | | | We should pass the shareHandle here instead of the handle for the context since that's what it expects. Change-Id: If851758817057ecc3c3646cba2354becf5a8a839 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows QPA plugin: Parse arguments from list passed to factory.Friedemann Kleint2012-10-184-42/+46
| | | | | | | Using dynamic properties on the native interface is deprecated. Change-Id: Ia3411780dad15af61d4805c0d9fabf00dba92301 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* Fix compilation with MinGW-w64Jonathan Liu2012-10-173-4/+4
| | | | | Change-Id: I0c9e6adc54ccce34e0f81af048f2a51a4ac051b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows: Multisampling is disabled by default.Friedemann Kleint2012-10-171-1/+1
| | | | | | | | | The previous code assumed that -1 indicated some sort of "auto", but this is not the case according to documentation. Task-number: QTBUG-27600 Change-Id: Id17ce32f94ded61a63a33d0c04ec5312f53c7923 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Windows: QT_LIGHTHOUSE_WINDOWS_VERBOSE -> QT_QPA_VERBOSE.Friedemann Kleint2012-10-172-2/+2
| | | | | Change-Id: Ieffa1f483cddd220b158ccd570af151420c8e3c3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowStateRichard Moe Gustavsen2012-10-172-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set the window state if it can, and return the actual window state back. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowState would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window state upon creation). As such, the window state might be left unsynched with the platform window. This patch suggests removing the return value from QPlatformWindow::setWindowState. This will at least be consistent, so that setting/getting state would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported/actual window state. Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QWindowsKeyMapper: use a more efficient data structure for 'keyLayout'Marc Mutz2012-10-162-61/+56
| | | | | | | | | | | | | | | | Instead of allocating small chunks (40 bytes) on the heap, use a contiguous array to hold them. This always occupies 10240 bytes of memory instead of 1024 (32 bits) or 2048 (64 bits) for the pointer array (plus heap memory which depends on the number of items allocated), but is more cache-friendly and uses less memory when the array isn't sparse. To emulate the nullptr, a new bool has been added (doesn't change sizeof(KeyboardLayoutItem)). Also replace a few more magic numbers by symbolic constants. Change-Id: I7160f600faddd63deea265c89dc6fd857c7b557f Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* QWindowsKeyMapper: remove dead codeMarc Mutz2012-10-161-1/+1
| | | | | | | | | As an array of automatic storage duration, 'keyLayout' can never be nullptr, so remove the respective check. Change-Id: I2fb2db8311de55b41a1f9aef7c35341949e38e5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* QWindowsKeyMapper: replace one magic constant with a symbolic oneMarc Mutz2012-10-161-5/+6
| | | | | | | | | Replace occurrences of a literal 9 that mean 'number of modifier key combinations' with the new symbolic constant NumMods. Change-Id: I1e78a1a3c00b81095450ec0557e30751da44c39a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Implement setWindowIcon() for Windows.Miikka Heikkinen2012-10-162-3/+52
| | | | | | | | | Platform implementation for QWindow::setWindowIcon() was missing from Windows platform plugin. Task-number: QTBUG-27175 Change-Id: I6807d1ded057b7788a9f2fa5b143e212a666029b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QPA: Introducing QPlatformTheme standardPixmap(), fileIconPixmap()Gabriel de Dietrich2012-10-165-1/+255
| | | | | | | | | | | | | | | | | | | | The basic idea is that the platform theme is now responsible for providing the pixmaps for the given standard name, or any file or directory. Then, the QStyle implementation should query the platform theme for the pixmaps, and build the icons accordingly using ThemeHint::IconPixmapSizes. Same thing for QFileIconProvider. This also opens future support for getting platform dependent pixmaps in QtQuick components. Also includes the implementation for the Cocoa (QCocoaTheme) and Windows (QWindowsTheme) platform plugins. Task-number: QTBUG-27450 Change-Id: I4e8406585d970a9af481be10f6643cf0abbc38a3 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Windows: Document WinAPI usage for the various compilers.Friedemann Kleint2012-10-161-0/+34
| | | | | Change-Id: I139c6546cb84a1fa93920a501cd15eb11fdadbb8 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>