summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
* Enable DWM transparency for OpenGL windows under WindowsGiuseppe D'Angelo2013-08-285-0/+86
| | | | | | | | | | | | | | | | | | Starting with Windows Vista, we can control the compositing window manager using the DWM APIs. This allows us to make truly transparent OpenGL windows. We also have to detect and listen if compositing is enabled, otherwise enabling transparency will cause glitches all over the place. This (partially) fixes Task-number: QTBUG-28214 Change-Id: I0fe1ec7adec8181b788c32de03c59142731d9e7f Done-with: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Move SnapToDefaultButton from QPlatformDialogHelper to QPlatformThemeAndy Shaw2013-08-233-19/+2
| | | | | | | | | | | Since QPlatformTheme covers all dialogs whereas QPlatformDialogHelper is really only for the native dialogs then the SnapToDefaultButton hint is moved as it has relevance for all dialogs Task-number: QTBUG-32631 Change-Id: I1dce0bb4abcd4cfd39c4a199a33fc7078176ab4b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Remove rowColumnExtents from QAccessibleTableCellInterfaceFrederik Gladhorn2013-08-221-2/+6
| | | | | | | | | The API is broken and available in individual functions. Don't make it more complicated than necessary to implement the interfaces for new widgets. Change-Id: Ie408c369ef05b2b8e7ac666b25153d090fcf3aae Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-214-2/+51
|\ | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/src.pro Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
| * Windows: Add hit test handling for non-client areas.Friedemann Kleint2013-08-194-2/+51
| | | | | | | | | | | | | | | | Suppress resize cursor for fixed size windows. Task-number: QTBUG-32663 Change-Id: I9579bb13d494fe21e5db7b75d01a3cf1b693c7f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-146-21/+38
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| * Do not use QWindowsFileDialogHelper for Windows Server 2003Jonathan Liu2013-08-111-1/+1
| | | | | | | | | | | | | | | | | | Windows Server 2003 is based on Windows XP and should use QWindowsXpFileDialogHelper as it does not support the CLSID-based IFileDialog interfaces that are available from Windows Vista onwards. Change-Id: Idd973f9ec4c98d1f2fb7e835de64532edeccfc72 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Merge branch 'release' into stableSergio Ahumada2013-08-094-1/+11
| |\ | | | | | | | | | Change-Id: I5e94c4f01564df633c9925561ebb0b553bd31a2e
| | * Windows: Clear window under mouse in destruction of platform window.Friedemann Kleint2013-07-304-1/+11
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-32042 Change-Id: I8aa5df84b7ca6deb47e0c3eff9a6a7d2c4793553 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * | Fix build with QT_NO_CURSOR.Sérgio Martins2013-07-311-17/+19
| | | | | | | | | | | | | | | | | | | | | Just moved applyCursor() and defaultCursor() to a #ifndef block. Change-Id: I14c21aa509395fb1bd72d389cfc46f0f34ab7649 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * | Don't run this code on WinCE, the variable will be unused.Sérgio Martins2013-07-311-1/+1
| | | | | | | | | | | | | | | Change-Id: Id472e6e18759227943a24aa723963671bdb52164 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * | Windows: Mark window margins as dirty when the theme changes.Friedemann Kleint2013-07-241-1/+6
| |/ | | | | | | | | | | | | Task-number: QTBUG-31523 Change-Id: Ibd8ed4e3fc5b6d1723f94dc32b3bf86b74e71020 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Implement support for global whatsthis on WindowsSimon Hausmann2013-08-132-0/+13
| | | | | | | | | | | | | | Task-Number: QTBUG-32835 Change-Id: Ifee10d815ce0037c96eda574ab9e1af67ff6bd78 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-07-243-18/+29
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-233-18/+29
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
| | * Better errorhandling for the fontengine on WINCE.Bjoern Breitmeyer2013-07-181-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CE fontengine only supports translations, scaled Text would only work if its an isometric scale and would require to create a new font from the old one. Rotations and more aren't supported at all. The freetype fontengine for CE supports this, so we give a warning that the font might be rendered incorrect, but could render correct with the freetype engine. Task-number: QTBUG-32189 Change-Id: I3581c3fef8e4ee118c0038a6ccc237e66b583731 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * Windows: Synthesize expose event for shrinking windows.Friedemann Kleint2013-07-152-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synthesize expose events for all Windows except ANGLE-windows. Task-number: QTBUG-32121 Change-Id: Ifbff2730ec8f2e8cfe23eeb4022b76a6e432598e Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Bump QPA-API-version.Friedemann Kleint2013-07-231-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | Changes f5dbc876378ae58a7bdfe1e9664fc81caca18dfb (Use QUrl in QFileDialog API) and c96a6ab627100452864eb4d8da973300401c1bfa (Pass argc, argv to platform plugin) introduced changes to the plugin API. Task-number: QTBUG-29396 Change-Id: I46ee22d16f045b69f141dc6c982017586efef662 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Have QFileDialog use QUrl internallyKevin Ottens2013-07-181-108/+103
| | | | | | | | | | | | | | | | | | | | | | | | When using the native dialog and through the helper, we use QUrl in QFileDialog. It is preparatory work for having QUrl based methods on QFileDialog interface itself. Done-with: sean.harmer@kdab.com Done-with: faure@kde.org Change-Id: I61e99d498252241f38ec05724702a90ba050c4bb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Pass argc, argv to the platform plugins.Friedemann Kleint2013-07-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow for parsing of X11-specific arguments like -display, -geometry. Introduce overload of QPlatformIntegration::create() with argc and argv and provide default implementation that calls the old version (for platforms that do not have argc, argv). Provide default implementation for the old version returning 0 so that platforms using the new API compile. Prototypically implement -display in XCB. Task-number: QTBUG-29396 Change-Id: I6a0e9271fad6e2d10f11b80393025ae3a3e36623 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | API-cleanup: Add QPlatformFontDatabase::registerAliasToFontFamily().Friedemann Kleint2013-07-162-6/+2
| | | | | | | | | | | | | | | | Unexport free function qt_registerAliasToFontFamily() and Make it a static member of QPlatformFontDatabase instead. Change-Id: I1df49a8e37a24b3961f92288d67b6f1108a7d520 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-151-3/+6
|\| | | | | | | Change-Id: I0218a1f08b89f2d56757ab35eec06799d2a1492f
| * Windows font database: Resolve aliases for extra fonts.Friedemann Kleint2013-07-111-3/+6
| | | | | | | | | | | | | | | | | | Ensure QFontDataBase::hasFamily() deals with aliases. Task-number: QTBUG-31689 Change-Id: Ia59bfcb93362ac9343c6d30dab1091a4db482dfa Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge branch 'stable' into devSergio Ahumada2013-07-115-26/+40
|\| | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
| * Bugfix QDesktopServices on WindowsThiago Macieira2013-07-111-9/+9
| | | | | | | | | | | | | | | | | | It was doing tricks with URLs that it shouldn't be doing... including running QDir::toNativeSeparators on a URL. Task-number: QTBUG-32311 Change-Id: I5b6f640919956998c00dcf507f931045f21a9e53 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Fix crash caused by ~QWindowsWindow flushing the event queue.Friedemann Kleint2013-07-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove call to QWindowSystemInterface::flushWindowSystemEvents() introduced by 153d613353863987322db81f3c31e33541ef7226 . Task-number: QTBUG-32125 Change-Id: I14aa2772848e04b47deff6218b48eaf69f0bb649 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Show native file dialog on Windows XP Professional x64 Edition.Friedemann Kleint2013-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | It claims to be WV_5_2 (WV_2003). Task-number: QTBUG-32217 Change-Id: I0c277410acc9ac29710a3eee63bec9ced42e2767 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Do not call QAccessible::child() with a negative index.Jan Arve Saether2013-07-021-9/+4
| | | | | | | | | | | | | | | | | | | | Fix assert on Windows: QFATAL : tst_QAbstractItemView::testChangeEditorState(): ASSERT: "index_ >= 0" in file itemviews.cpp, line 1123 Change-Id: I4f19c68bbe00d9c75768e7125cf3b33bc09a09e5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| * Windows: Fix detection of synthesized mouse events for MSVC / 64bit.Friedemann Kleint2013-07-021-2/+7
| | | | | | | | | | | | | | | | | | For some reason, the enumeration values were signed when using 64bit. Task-number: QTBUG-31386 Change-Id: I891dbe1a82dc2aefbe13a131c72c01a57f981767 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Windows: Fix the code of the native color dialog.Friedemann Kleint2013-07-021-2/+4
| | | | | | | | | | | | | | | | | | Note: The code is currently #ifdefed out, it is just there to be able to compare QColorDialog to the native dialog. Task-number: QTBUG-32054 Change-Id: I042f6701d1a076480cae56c53ae2d3ad303d37d1 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| * Windows: Fix bug where windows stopped painting after a restore.Sérgio Martins2013-07-021-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually, a window get un-exposed when minimized, and exposed after the first WM_Paint event when restored. With layered windows (translucent+frameless) we never receive a WM_Paint, so lets send the expose event when the window is restired. Task-number: QTBUG-17548 Change-Id: Ib56d8abd91b15f9238d223fe692b19a3d2c930b7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Add API to let applications integrate with the system fontsAleix Pol2013-07-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does 2 things mainly: - Adds a QPlatformTheme font type for fixed fonts. It's important because some OS provide specific monospaced fonts and we want to let our applications to use the preferred fonts by default. - Adds a new method and enum to QFontDatabase that expose the font types that applications might need, so that they can make the applications use the specific fonts that the system recommends. This data was already available within Qt through the QPlatformTheme, but it was not possible to use this data by Qt users. This new method exposes such data. Change-Id: Ic194c1e4bc07a70640672afd82ba756b87606985 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Add WACOM tablet support for Windows.Friedemann Kleint2013-07-045-5/+653
| | | | | | | | | | | | | | | | Task-number: QTBUG-30008 Change-Id: I3327baecae7c5d1411bcd125411097f36460cde5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-272-3/+6
|\| | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/create_cmake.prf Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
| * Mac/XCB/Windows: Fix initial setting of window icons.Friedemann Kleint2013-06-261-0/+2
| | | | | | | | | | | | | | | | | | | | Setting an icon on a QWindow before creating the platform window did not have any effect. Task-number: QTBUG-31961 Change-Id: I8e58a3b239c8bc69af58f765e7826337463d2201 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Windows XP: Fix directory chooser dialog.Friedemann Kleint2013-06-261-3/+4
| | | | | | | | | | | | | | | | | | Set initial directory and title correctly in native file dialog. Task-number: QTBUG-31098 Change-Id: I87c4383bdf0b26beda6a075a186d0a951c86f8a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-204-21/+21
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * Remove use of 'register' from Qt.Stephen Kelly2013-06-172-2/+2
| | | | | | | | | | | | | | | | | | | | It is deprecated and clang is starting to warn about it. Patch mostly generated by clang itself, with some careful grep and sed for the platform-specific parts. Change-Id: I8058e6db0f1b41b33a9e8f17a712739159982450 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-06-152-19/+19
| |\ | | | | | | | | | refs/staging/stable
| | * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-122-19/+19
| | |\ | | | | | | | | | | | | Change-Id: If29ca1b27da4592d40a7678837c359f75dac1209
| | | * Fix gcc warnings about unused-valueKai Koehne2013-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix multiple gcc warnings about statements in accessibleDebug arguments have no effect. Change-Id: I34bf05d911707f0b50592bf76442a3805c560d56 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| | | * Windows save file dialog: Set default suffix only once.Friedemann Kleint2013-06-101-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IFileDialog::SetDefaultExtension() needs to be called for the dialog to automatically update the suffix when the user chooses a new file type. Calling it IFileDialogEvents::OnTypeChanged as introduced by 42760e43eaa64e834809ef5fb01a83cfb75f4f04 causes it to use the previous suffix when switching. Call in setNameFilters() using the first available suffix instead. Task-number: QTBUG-31381 Task-number: QTBUG-30748 Change-Id: Idd532e4190c752aa80abce963dd0389be7d22a34 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-123-1/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
| * | | Windows: Prevent spurious leave events.Sebastian Eifert2013-06-122-1/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When behind a mouse-event-transparent window, synthesized leave events are emitted, because the transparent window is considered as the window under the mouse, not the Qt window. This change skips transparent windows when searching for the window under the mouse. Task-number: QTBUG-31464 Change-Id: I85c8b46a1af37b4d1c5d1d77566ab045657aa9ae Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-101-0/+3
| |\| | | | | | | | | | Change-Id: I89c251999ae2a82522b40471fd13f2e06b00ece8
| | * Windows: Send a geometry change after Window creation.Friedemann Kleint2013-06-071-0/+3
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-30996 Change-Id: I03b5e1fdbbdd779f86541291c13e9eb6840ff3c6 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-044-12/+21
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/plugins/platforms/cocoa/qnsview.mm Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
| * | Fixes QKeyEvent::count() on Windowsaavit2013-06-041-7/+7
| |/ | | | | | | | | | | | | | | | | | | | | All other main platform plugins leave the count parameter at its default value (1). For improved compatibility, make the Windows plugin do the same, instead of hardcoding the value to 0. Task-number: QTBUG-31285 Change-Id: Id87fd559d13f42391be3200d5ff2393285f0d2a6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
| * Windows: Suppress mouse events synthesized by OS.Friedemann Kleint2013-05-302-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the hint for QPlatformIntegration::SynthesizeMouseFromTouchEvents to false for Windows and suppress the events synthesized by OS. The synthesized events cause touch events to generate 2 clicks in Quick2. Leave code as is for Windows CE. Task-number: QTBUG-31386 Change-Id: Ia0987342dcdd55c8540810da5e4b90518a501ce6 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Fix QPlatformWindow::initialGeometry() to not touch large windows.Friedemann Kleint2013-05-281-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Do not touch windows whose geometry (including the unknown frame size) is likely to be larger than the screen. Remove fix-up in the Windows plugin. Task-number: QTBUG-30142 Task-number: QTBUG-31071 Change-Id: I13a8ffb9fb9d8c71d35de75094275388fa427f2c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>