summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
* Warn if OpenType support missing for script of interestKonstantin Ritt2013-09-131-1/+1
| | | | | | Change-Id: I076cfc5244ca3c060fd005cc3fbf30b357604bc7 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Decrease code duplication in QFontDatabase-sKonstantin Ritt2013-09-131-15/+4
| | | | | | | | Move scriptRequiresOpenType() body right into QFontEngine::supportsScript(), thus centralizing use of this performance cheat. Change-Id: I5f494b086f8f900b631c491f41e9cb800002c0f6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Windows: Fix/Improve closing of native file dialogs.Friedemann Kleint2013-09-111-11/+65
| | | | | | | | IFileDialog::close() only works from callbacks. Try to find the dialog window and send it a WM_CLOSE in addition. Change-Id: Id0f89f8781564e19e4763d43a71df55d5299fb35 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-09-102-2/+8
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devSergio Ahumada2013-09-072-2/+8
| |\ | | | | | | | | | Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
| | * Fix compilation with latest Mingw-w64 headersKai Koehne2013-09-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix compilation with e.g. mingw-builds 4.8.1-rev4 package. The Mingw-W64 headers define SHSTOCKICONINFO only for vista and newer. Task-number: QTBUG-33225 Change-Id: I30a62c642ae017c7eafb99b1efb06578fd61a12e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * Windows XP file dialog: Fix appending the selected filter suffix.Friedemann Kleint2013-08-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The mechanism is triggered by always setting lpstrDefExt, Task-number: QTBUG-33156 Change-Id: Ib3a49410a1ad78fb433a4e0803a0751ec8c2a51e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Windows CE : Fix incorrect text rendering on wince with freetype enginedarius2013-09-101-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On wince with freetype engine can't render text for non-latin text. because wince doesn't have truetype font FONTSIGNATURE api. so match function in qwindowsfontdatabase_ft.cpp was always failed and render incorrect text. this patch has 3 changes. 1. extract font unicode signature using GetFontData function 2. append font fallback data from registry (see. http://msdn.microsoft.com/en-us/library/ms901076.aspx) 3. wince's default font path is windows. correct fontdir Task-number: QTBUG-31974 Change-Id: If969df353492141669eeab33119f3506602871b3 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Make QFontEngine not derive from QObjectKonstantin Ritt2013-09-104-16/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whilst having the objectName set for each engine is somewhat handy when debugging, deriving from QObject just for that is a wasting of memory in all other cases. This also broke the font engine abstraction by allowing qobject_cast() to access some private data; the only sane way to distinguish engines is querying their Type value. Change-Id: Ib1d195692859eb39089f6d8d9016cb8f9dcc0400 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Fix build on MinGWKonstantin Ritt2013-09-091-1/+3
| | | | | | | | | | | | | | | | | | | | | Issue introduced in 87ff0af425656d12c4766a57db60674d63ffa584 . Change-Id: Ifa9a7bd5af63b1462b4c2cf5e0715962bbcd74b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | Windows: Add command line parameter enabling OS-synthesized mouse events ↵Friedemann Kleint2013-09-093-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from touch. Applications launched with -platform windows:mousefromtouch will receive OS-synthesized mouse events. Task-number: QTBUG-31386 Change-Id: I1c49486589c4a7fa4fb5525f7a5adca09b1cfb89 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Windows: Use QSharedPointer for the dialog helpers.Friedemann Kleint2013-09-092-30/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dialog thread can outlive the platform dialog helper if the helper is destroyed. In that case, IFileDialog::Show() returns since the parent window is destroyed and then tried to emit signals on the destroyed helper class instance. Pass a shared pointer to the native dialog instead of a pointer to the helper class to the dialog. Task-number: QTBUG-32494 Task-number: QTBUG-30513 Change-Id: I7c2e769460270a26d886fdefee93ea59c2a17196 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Remove qCopy from the Windows platform pluginGiuseppe D'Angelo2013-09-092-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I949da7a111d9206b6a0be8114b2c4803c06728b8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | Be pedantic with Window's icon indexes.Sérgio Martins2013-09-081-4/+4
|/ / | | | | | | | | | | | | | | | | | | Documentation for SHFILEINFO says iIcon is an index, so lets initialize defaultFolderIIcon with -1 so it doesn't clash with some icon that might exist at index 0. Change-Id: Ic16538ee62e5433f3cdcceee19eb5d8d18d55c1e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Windows: Added support for large icons to QFileIconProvider.Friedemann Kleint2013-09-063-6/+81
| | | | | | | | | | | | | | | | | | | | Added code using image lists to windows theme. Initial-patch-by: Max Desyatov <max.desyatov@gmail.com> Task-number: QTBUG-4970 Change-Id: I6e82f4edec60e456d0b1759bb1771955edb94491 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Remove qFill from the Windows platform pluginGiuseppe D'Angelo2013-09-053-9/+15
| | | | | | | | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I777fc28857cc104fcd2b6c313a2840b697361be9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Fix warning about unused variable.Friedemann Kleint2013-09-051-1/+1
| | | | | | | | | | Change-Id: I557785911073a35100902aa631fcef81133615cc Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Remove undesired pixel padding of glyphs on windows.Gunnar Sletta2013-09-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | The excessive padding has serious performance implications throughout Qt and need to go. The original reason for having them was to fix issues with GL text rendering and issues with unspecified OpenType fonts. There have been several other changes to the glyph cache since then and neither of the issues can be reproduced today. Change-Id: I6de67598a079c296daf48be07cc5c2d67768c384 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Rely solely on alphaMapBoundingBox in QTextureGlyphCacheGunnar Sletta2013-09-052-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're currently adding a lot of transparent pixels to the cache, wasting both memory and cpu cycles while drawing. AlphaMapBoundingBox was introduced to return the exact same bounds as the alphaMapForGlyph function so we should only rely on this instead of adding arbitrary padding and margins all over the place. Windows still has an arbitrary +4 in the its drawGDIGlyph() which means batching will not work on windows, but at least now other platforms do not need to suffer. Change-Id: I714903fa195004400c09c3bf6570e46179775f09 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Give QWindowsNativeFileDialogEventHandler a virtual destructorThiago Macieira2013-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | GCC complains about this class having virtuals and no virtual destructor. C:/Qt/qt5/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp:750:20: warning: deleting object of polymorphic class type 'QWindowsNativeFileDialogEventHandler' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] Change-Id: I7494fce4bb71ed65954226259fa65fdc507ca403 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-09-025-37/+85
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-275-37/+85
| |\| | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| | * Windows: Keep monitors when system is locked.Friedemann Kleint2013-08-232-30/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent windows from being recreated due to screen changes which can cause GL widgets to stop updating among other things. EnumMonitors returns only one temporary monitor named "WinDisc" when locked. Do not remove monitors when that happens. Task-number: QTBUG-33062 Change-Id: Ia2247bb04b3e10f99f594245f84238b5f9044f70 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Windows: Handle Qt::ForeignWindow.Friedemann Kleint2013-08-212-1/+15
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-33079 Change-Id: Iec2ddfe07b07b3a921098c7147f26aff316bf6e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * Windows: Generate expose events for layered transient children.Friedemann Kleint2013-08-212-6/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Layered (translucent/non-opaque) windows do not receive WM_PAINT, expose events need to be generated. Improve 6800728d091e5122e6d93675db84ee028221d161 to handle transient children as well. Task-number: QTBUG-17548 Change-Id: Id113604512692dfbea1f2b10d0db3068213cf599 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | 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>