summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
* Fix build with old MinGWFrederik Gladhorn2013-02-131-0/+4
| | | | | Change-Id: I9d7c40c146bb3d14cd1dccab10a70b28722c7c27 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-294-12/+39
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-284-12/+39
| |\ | | | | | | | | | Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
| | * Doc: Fix module name formatSze Howe Koh2013-01-253-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the conventions at http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation QtCore -> Qt Core QtDBus -> Qt D-Bus QtDesigner -> Qt Designer QtGui -> Qt GUI QtImageFormats -> Qt Image Formats QtNetwork -> Qt Network QtPrintSupport -> Qt Print Support QtScript -> Qt Script QtSql -> Qt SQL QtSvg -> Qt SVG QtTest -> Qt Test QtWebKit -> Qt WebKit QtWidgets -> Qt Widgets QtXml -> Qt XML QtConcurrent -> Qt Concurrent (partial) QtQuick -> Qt Quick (partial) Also, distinguish between "module" and "library" Change-Id: Icb8aa695ae60b0e45920b0c8fce4dc763a12b0cd Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * Make QWindowsFontEngineData thread-local.Friedemann Kleint2013-01-252-8/+35
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-29266 Change-Id: Id963187f1ef03caf4e9ed3c4397225a9ad7362bb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macro was made empty in ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* | | Windows: Fix modal dialogs for declarative.Friedemann Kleint2013-01-282-4/+38
|/ / | | | | | | | | | | | | | | | | Make it possible to show a modal dialog by just calling show(). Start an idle timer, which will start the dialog thread. This timer is stopped in exec(). Change-Id: I8f7352bf577b09a19be7df4484e0077bb1aa46ab Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-241-2/+18
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-241-2/+18
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsdialoghelpers.cpp Change-Id: I4ca87d44129fa5c1d8541cd58b8d62bc69080688
| | * Respect the filename specified when showing the native filedialogAndy Shaw2013-01-241-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | When a filename was specified as part of the start up directory then it should ensure this is put in the filename lineedit in the native filedialog. Change-Id: I2b190933d46553908b5bcf17506cb2a95fb1f982 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | Dnd: Do not always Retrieve URLS in canConvertFromMime().Friedemann Kleint2013-01-241-2/+2
|/ / | | | | | | | | | | | | Task-number: QTBUG-28186 Change-Id: I71d1a241d69f5fd80f6c047b9350cbd01bd48854 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-2363-63/+69
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-2263-63/+69
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qsavefile_p.h src/corelib/tools/qregularexpression.cpp src/gui/util/qvalidator.cpp src/gui/util/qvalidator.h Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
| | * Fix a crash when minimizing a QQuickWindow.Friedemann Kleint2013-01-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Send empty expose event and flush queue when minimizing. Task-number: QTBUG-28439 Task-number: QTBUG-26424 Change-Id: I2e921a86660f946ced7af735cdf197fb666e2934 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Update copyright year in Digia's license headersSergio Ahumada2013-01-1863-63/+63
| | | | | | | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fix warnings about calling nativeResource when no handle exists.Friedemann Kleint2013-01-161-0/+2
| | | | | | | | | | | | | | | | | | | | | Triggered for example by Qt Designer's new form dialog. Change-Id: I63a1f1e5425e8d5fc60c10418a715143e65443f1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | | Implement click-to-focus for native child windows.Friedemann Kleint2013-01-231-0/+4
| | | | | | | | | | | | | | | Change-Id: If7633781a7167de2161cd74c62cfc883eb4d1b0e Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Windows: Introduce pixmap cursor cache.Friedemann Kleint2013-01-222-1/+17
|/ / | | | | | | | | | | | | | | | | Cache custom cursors. Task-number: QTBUG-28879 Change-Id: I8f2b5b9149966399a6173dbd19f6a8e85898924b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Regression: Fix setting of custom cursors for native widgets.Friedemann Kleint2013-01-213-7/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, there is no concept of not having a cursor set on a Window. Qt::ArrowCursor is always set instead. This causes bugs when native child widgets are involved, for example setting a cursor on the native widget's parent no longer works since the child's Qt::ArrowCursor applies. Introduce QWindowPrivate::hasCursor tracking whether a cursor has been explicitly set and clear in QWindow::unsetCursor(). Handle 0 in QPlatformCursor::changeCursor() to mean "unsetCursor()": - Windows: Introduce default constructor for QWindowsWindowCursor meaning "0". Search for applicable parent cursor in applyCursor. - XCB: No big changes required, set XCB_CURSOR_NONE for no cursor. - Other platforms: Assume Qt::ArrowCursor when cursor = 0 is passed for now. Task-number: QTBUG-28879 Change-Id: Id82722592f3cd5fe577a5b64dcc600c85cfea484 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | Fix MinGW-warning about pointer/integer of different sizes (64bit).Friedemann Kleint2013-01-211-2/+2
| | | | | | | | | | Change-Id: I26945bbcd0994e478332ea1250ad7d0bbaa8420f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Fix Windows native file dialogs for use with QtQuick.Friedemann Kleint2013-01-212-167/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Correct modality check. - Allow for properties to be set if there is no native dialog. - Make dialog thread for non-modal call back into dialog helper for exec(). - Introduce QWindowsFileDialogSharedData to contain data to be cached while no native dialog exists and to be updated by the change notifications of the IFileDialogEvent interface to avoid querying the dialog results after the dialog has closed. Reduce virtual methods of QWindowsNativeFileDialogBase accordingly. This also fixes a bug in the previous implementation causing the directory not to reported back since the native API would not return the directory after closing the dialog. - Support nonmodal native dialogs when constructed on a QQuickWindow. - Delete native dialogs after exec as QtQuick keeps the dialog instances around. Change-Id: Id1169d6657d9476afe12fb9909c36cbd03aa2a40 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Fix MinGW-warnings about comparing signed/unsigned.Friedemann Kleint2013-01-183-5/+5
| | | | | | | | | | Change-Id: I970264e5b096a3d6384b59d0ae0876bb80fd0009 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-163-9/+25
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-163-9/+25
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qstyleanimation.cpp Change-Id: Iae570895be6544de80f9c1ec309d1a08c59daff8
| | * Implement QPlatformWindow::isExposed() on Windows.Friedemann Kleint2013-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-28439 Change-Id: I4a81a8947056ecd4e1e61ffb0e5d94ee2ad860df Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Windows: Force toplevel flag in setParent() in both cases.Friedemann Kleint2013-01-151-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | When re-applying window flags in setParent, force top level on or off according to state. Task-number: QTBUG-28872 Change-Id: If931fcb38394f472a6cdf260aa935c1d03779611 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * Clear backingstore for windows with alpha channel.Friedemann Kleint2013-01-111-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes painting artifacts in translucent windows. Task-number: QTBUG-28531 Change-Id: I00a7a86f88a40d356fa3e37bd497a288b2118469 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* | | Fixed dead keys on MS WindowsJuan Luis Boya García2013-01-161-3/+9
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Qt4, there is a bug which causes Qt to drop dead key modifiers (like graves and acutes) if the user types enough fast on MS Windows. This happens because of an extrange behavior of Windows, which drops dead keys on ToUnicode() calls. This patch tries to workaround that. Task-number: QTBUG-8764 Task-number: QTBUG-10032 Change-Id: Ifdde25817743194fd5c0b7533c27f46a7a108ca4 Reviewed-by: Friedemann.Kleint@digia.com Reviewed-by: oliver.wolff@digia.com Reviewed-by: marc.mutz@kdab.com Reviewed-by: bjoern.breitmeyer@kdab.com Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Use backslashes for UNC paths.Gatis Paeglis2013-01-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ShellExecute fails to open a share folder due to using '/' instead of '\'. Windows API doesn't support forward slashes for extended-length path. Extended-length path are path that start with a "\\?\" prefix. For example, "\\?\c:\very_long_path\foo\bar.txt", or in the case of a UNC path that would be "\\?\very_long_path\foo\bar.txt". [1] [1] http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx#maxpath Task-number: QTBUG-13359 Change-Id: Ibb113abeebd56f106f76520bc23dba797de548fa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Fix frame of Aero-Style wizards.Friedemann Kleint2013-01-094-23/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add custom frames which are added to the system frame to the platform plugin. Make them settable when creating a platform window using dynamic properties and per window properties of the platform native interface. Use this in favor of the native event handling changing the frame in wizard_win.cpp since that caused the frame/backing store sizes of the QWindow to be wrong. Task-number: QTBUG-28099 Change-Id: Idd6416cf1b0eb629f56663088b0ce17162e1739d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge branch 'stable' into dev" into refs/staging/devJędrzej Nowacki2013-01-073-8/+15
|\ \
| * | Merge branch 'stable' into devFrederik Gladhorn2013-01-073-8/+15
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp Change-Id: I6b8d505fc22f052c307ca27f58f7d16f98965f47
| | * Windows: Add fallback for UpdateLayeredWindowIndirectJonathan Liu2013-01-041-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UpdateLayeredWindowIndirect function is only available on Windows Vista and later. If UpdateLayeredWindowIndirect is not available (e.g. on Windows XP), use UpdateLayeredWindow instead. Change-Id: I8af23c051560f7e54eda390dae7553543c00a94b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * 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>
* | | Add API dealing with QMargins to QRect.Friedemann Kleint2013-01-072-12/+1
|/ / | | | | | | | | | | | | | | | | | | - Addition of a QMargin to a QRect. - Removal of a QMargin from a QRect. - Remove implementation from Windows platform plugin. Change-Id: Iae54bc13e94a7ece48853b1d3f3de2bfc154d2dd Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | Merge branch 'stable' into devFrederik Gladhorn2013-01-0410-111/+157
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/painting/shared/shared.pri src/corelib/tools/qharfbuzz_p.h src/corelib/tools/qunicodetools.cpp src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp src/plugins/platforms/windows/qwindowsfontdatabase.cpp Change-Id: Ibc9860abf570e5ce8b052fb88feb73ec35e64bd3
| * 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>
* | Move ForceIntegerMetrics testing out of the loopKonstantin Ritt2013-01-021-2/+4
| | | | | | | | | | Change-Id: I5732999dee63568eb83e5186cf5bf8c63709724e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Update Qt internals to use QChar::ScriptKonstantin Ritt2012-12-215-19/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and remove the outdated QUnicodeTables::Script enum. QFontEngineData now has one extra slot that never used (engines[QChar::Script_Inherited]). engines[QChar::Script_Unknown], if accessed, would be set with a Box engine instance, and could be used as a minor optimization some time later. In order to preserve the existing behavior, we map all scripts up to Latin to Common. Change-Id: Ide4182a0f8447b4bf25713ecc3fe8097b8fed040 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>