summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
* Don't inherit QAccessible from QWindowsAccessibleJan-Arve Saether2011-12-021-27/+27
| | | | | | | Qualify all references to QAccessible members with QAccessible:: Change-Id: Ia78d8482bbab3d77c9e258a52bc74f8e7c0c7e10 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* QtGui: Bring back HBITMAP/HICON conversion functions.Friedemann Kleint2011-11-285-394/+8
| | | | | | | | | | - Move the conversion functions from the Lighthouse plugin to QtGui as qt_pixmap/From/To/HBITMAP/HICON(). - Re-enable them in Widgets (QFileIconProvider, QWindowsStyle). - Use them in QtPrintSupport. Change-Id: I1436bc604160d94c78ef270ad2b31bf3b20b5c90 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Change default implementation of window() to just return 0Jan-Arve Saether2011-11-251-2/+17
| | | | | | | | Instead move the traversal up to the ancestors to the bridge. This simplifies the default implementation to just return 0 Change-Id: Ic3ec60851f378587f4a23363aec2039d0e8a08a1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Remove virtual child integers.Frederik Gladhorn2011-11-231-28/+83
| | | | | | | | | | | | | | This makes the accessibility apis much simpler and less error prone. Disable the itemviews implementation that is in complex widgets. The itemviews will use the new code from itemviews.h/cpp everywhere now. QToolBox was broken before, now at least it simply exposes all its children. The children are the buttons (tabs of the toolbox) and their contents. Change-Id: I45e218f49f02aebbd678ddfe29f94c2a112a2125 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Accessibility: Clean up usage of navigate.Frederik Gladhorn2011-11-211-4/+2
| | | | | | | Prefer to use parent/child functions instead. Change-Id: Ic92165b9439eb750c9d762ddf5dcd2a5ccf0277d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* qtbase: Warnings fixes.Friedemann Kleint2011-11-181-2/+1
| | | | | Change-Id: Ie97e36bc168b3de3cae2d0eb615e777884529a06 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Windows platform plugin: Fix compilation with MinGW.Friedemann Kleint2011-11-141-2/+2
| | | | | Change-Id: Ibecfc7c5314d0dea7d796cbc586e5db05e2a80ee Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Factor out QPlatformTheme from QPlatformPlugin.Friedemann Kleint2011-11-117-34/+150
| | | | | | | | | | | | | | | | | | Implement QCocoaPlatformTheme. The menus and dialog API is moved from the platform to the theme plugin. (Both APIs contain references to QtWidget classes, which we are working towards removing.) The theme plugin is created after the platform plugin, first by asking the platform plugin, then by looking for a separate plugin if the platform does not specify a theme. Initial-patch-by: Morten Sorvig <msorvig@trolltech.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Change-Id: I2778cdd3a205c4ce35ead93e39fe6b4cd58a39f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QPlatformDialogHelper: Split class hierarchy, decouple from DialogFriedemann Kleint2011-11-113-93/+115
| | | | | | | | | | | | | | | | | | | | | - Introduce hierarchy of QPlatformDialogHelper-derived classes for font, color and file dialogs. - Start reducing dependencies on QDialog: * Remove QDialog-specifics from interface, introduce enumeration for DialogCode * Make the helpers Q_OBJECTS to be able to add the signals passed on to the QDialogs * Remove QDialogPrivate pointer - Split setVisible_sys() in show_sys() (factory method for native dialogs) and hide_sys(). Pass parent window to show_sys(), removing the necessity to query the QDialog for it - Introduce a styleHint() similar to QGuiApplication's for platform-specific - Fix compile in cocoa/windows, reduce depency on QDialog (-private) classes. Change-Id: Ic1cb715e1edf767f2cb18b9780341d189339ef1d Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Windows: Add dialog helpers for native dialogs.Friedemann Kleint2011-11-049-0/+1506
| | | | | | | | Implement QPlatformDialogHelper for file dialogs based on IFileDialog. Add prototypical implementation of color dialogs. Change-Id: If3c7470be6c0b8fbf8cfea1b6638bda43afafea7 Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
* Fixed returned geometry of toplevel child widgetsOliver Wolff2011-11-031-11/+9
| | | | | | | | | | | If a widget has got a parent widget but also is a toplevel widget it should not return its geometry relative to its parent. In addition to that, child widgets which are not toplevel should not change their left and top values according to their parent but also keep their width and height intact. Change-Id: I5e641abf5ddc0b8d056ba023f8de52af1d2ccc9f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows platform plugin: Fix compiler warnings.Friedemann Kleint2011-11-022-3/+2
| | | | | Change-Id: Id7111ca74455b93aabb803babff51c4393508dbc Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
* Windows: More fine-grained paint event handling.Friedemann Kleint2011-10-273-5/+15
| | | | | | | | Pass expose events to GL widgets, handle invalid update rectangles, ignore WM_ERASEBKND (using code from 4.8). Change-Id: Ide062efb392292fff556d37b0ef0e880676748a2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows: Fix Open GL formats.Friedemann Kleint2011-10-264-91/+156
| | | | | | | | | | - Add swapInterval as additional format - Query context format correctly and store in separate struct (default vs requested/obtained) - Cosmetics, rename enumerations, structs. Change-Id: I381cf8e1bde33e6624feb549437c7b95dd85e93c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Mark the most important MSAA functions as "moz: [important]"Jan-Arve Saether2011-10-201-0/+20
| | | | | | | See comment inside commit for explanation. Change-Id: Ifc05d479ac5094f21f8db0390ae21d99eef0dbe1 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Windows: Fix Geometry, OpenGL formatsFriedemann Kleint2011-10-192-10/+41
| | | | | | | | - Do not use size returned by GetWindowRect for child windows - Turn Open GL samples off if number is 1. Change-Id: I2f44606d965fe691548094771deda7bca51ef9a6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Refactor QAccessibleActionInterface.Frederik Gladhorn2011-10-191-17/+32
| | | | | | | Some refinements done by Jan-Arve Sæther. Change-Id: I99195b3c7273316cfa9c46e451924bbcfddd11a9 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Windows platform: Improve Open GL.Friedemann Kleint2011-10-189-71/+155
| | | | | | | | | | | | | - Pass on version to ARB. - Query obtained ARB format more fine-grained depending on version, indicate failures - Fix GDI contexts and introduce gl=gdi to activate the GDI functionality - Adapt window flags after setParent if top level state changes - Remove unused OpenGL flag from integration/context Change-Id: I59ca74ee1fa727bd2bcfd605b3907bc82cca18fa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows: Adapt to new Lighthouse APIFriedemann Kleint2011-10-116-55/+103
| | | | | | | | | | | - Implement debug/deprecated options of QSurfaceFormat - Implement stylehints - Fixed input context to position the input window correctly. Change-Id: Icba22f183c6895e30bd34d60cf6d2307ed3188cd Reviewed-on: http://codereview.qt-project.org/6446 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Use freetype font engine on WindowsOlli Werwolff2011-10-106-2/+658
| | | | | | | | | | | | | | | As windows' fontdatabases also uses functionalities from qbasicunixfontdatabase it was renamed to qbasicfontdatabase. But instead of iterating over the font directories' files it uses system calls to obtain the list of fonts and uses registry values to find the according filenames to add. The native font engine was still kept. It can be activated by adding fontengine=native as platformargument. Change-Id: I7197bed5d18b8a33d4aa97ce91bfa1cd281b80ea Reviewed-on: http://codereview.qt-project.org/5839 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Sanity-Review: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Improved logical and physical DPI APIs.Samuel Rødal2011-10-062-12/+11
| | | | | | | | | | | | | | Made physicalSize() return QSizeF instead, to prevent rounding errors. Added logicalSize() as the base to compute font pixel sizes instead, and added convenience functions in QScreen to access the logical and physical sizes and DPI metrics. Task-number: QTBUG-21736 Task-number: QTBUG-21737 Change-Id: Ic705dc98eb3632617659e65a0c9a552673dc0c65 Reviewed-on: http://codereview.qt-project.org/5888 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix QWindowsAccessible::GetWindow()Jan-Arve Saether2011-10-031-18/+4
| | | | | | | | | | Since we added QAI::window() we now have a more reliable way of getting hold of a HWND. Change-Id: I330ecee67f041d5b204ef4bc1401ce4cc76de2b7 Reviewed-on: http://codereview.qt-project.org/5840 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Windows plugin: Fix compilation with MinGW.Friedemann Kleint2011-10-033-3/+4
| | | | | | | Change-Id: I6c522b121fbac31ac5fc60a9125e1565e78d50c0 Reviewed-on: http://codereview.qt-project.org/5890 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Refactor accessibility for Qt5Jan-Arve Saether2011-09-297-3/+1486
| | | | | | | | | | | | | | | | | | | | | | | | * Moved most stuff to gui\accessible * Moved widget-specific stuff to widgets\accessible * Moved platform-specific code to either the bridge plugin (this was already the case) or to the platform plugin. * Added several classes and functions. These have not yet gone through an API review. The plan is to do that in a later commit. Classes: - QPlatformAccessibility - QWindowsAccessibility Functions: - QWindow *QAccessibleInterface::window(); - QPlatformAccessibility *QPlatformIntegration::accessibility() * The bridge code can now either be a plugin or integrated into the platform plugin * Mac accessibility is left out for now. Unix "should still work" (tm). These platforms should be fixed soon. Change-Id: Ib49ffa73b647ee0af90864544c2769440157f562 Reviewed-on: http://codereview.qt-project.org/5330 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Support adding application fonts with QFontconfigDatabaseJiang Jiang2011-09-231-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFontDatabaseQPA should be able to reinitialize database and reregister all the fonts when an application font is added, because it will trigger db->invalidate(). Add cloneWithSize support to QFontEngineBox so that even no usable font is found in QFontDatabase, QRawFont::setPixelSize can still work (without making the result rawfont invalid). Register application fonts with QFontconfigDatabase, the code is adapted from QFontDatabaseX11. Reenable QRawFont tests for QPA, these usages are now supported in QPA. Fix QStaticText tests, raster in QPA does support transformations. Translate the text before ZAxix rotation so that it will be visible in canvas. Add back fixedPitch support to QPA, and fix QFontDatabase tests. Fix QGlyphRun tests, ignore non-existence glyphs in alphaMap locking. Fix QFontMetrics tests. Task-number: QTBUG-21415, QTBUG-20754, QTBUG-20977, QTBUG-20976, QTBUG-20760, QTBUG-20759 Change-Id: I24aea7d6ec6b2ac6342134d1f2591327c23a692b Reviewed-on: http://codereview.qt-project.org/5384 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Get the Windows GL context to compile.Jason Barron2011-09-151-5/+1
| | | | | | | | | | Not sure why this was not the case all along, but on my MSVC2008 installation the include must be prefixed by the 'GL' directory. Change-Id: Icb29b072446bab386b5c62ab0df453ded41b8ede Reviewed-on: http://codereview.qt-project.org/4914 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make the Windows input context compile after the refactoring.Jason Barron2011-09-152-23/+14
| | | | | | | | | | | | There is no longer a focusObject setter/getter in the input context. Instead the object can be gotten from the new input panel API. Instead of reimplementing setFocusObject(), implementations should now connect to the inputItemChanged() signal of QInputPanel. Change-Id: I6c674424da5a0c8c3995e5f5acd191ef91ba8a00 Reviewed-on: http://codereview.qt-project.org/4913 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix email address in license headers.Jason McDonald2011-09-1545-45/+45
| | | | | | | Change-Id: I5abf378f91a3a8f453058f36254f04258147cc15 Reviewed-on: http://codereview.qt-project.org/4851 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Rename ImMicroFocus to ImCursorRectangleLars Knoll2011-09-081-1/+1
| | | | | | | | | Also set ImhMultiLine on QTextEdit Change-Id: I04a5a1d69c2048ea94c24210e2b8374f334be1b6 Reviewed-on: http://codereview.qt-project.org/4414 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Cocoa: Fix qmlscene flicker on startup.Morten Sorvig2011-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The SG render thread was racing window creation in the GUI thread, which would cause flicker if the window won the race and was shown before the SG thread had a frame ready. Send a synchronous expose event before showing the window - this will wait for the SG render thread. In addition, don't defer NSwindow creation. The GL context setup is done before the window is shown and needs a fully created window. New API: QWindowSystemInterface::handleSynchronousExposeEvent Retire: QWindowSystemInterface::handleExposeEvent Change-Id: I0bb46089d16ec4882aaac8db67b57d15e0f51531 Reviewed-on: http://codereview.qt.nokia.com/3399 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
* Copy core GL functionality to QtGui with QGL -> QOpenGL naming.Samuel Rødal2011-08-294-10/+10
| | | | | | Change-Id: Ibc989afa4a30dd184d41d1a1cd89f97196e48855 Reviewed-on: http://codereview.qt.nokia.com/3710 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Introduce new platform capability ThreadedOpenGL.Samuel Rødal2011-08-261-0/+4
| | | | | | | | | | | | | Lets the platform plugin advertise whether it's safe to use OpenGL from a different thread. With XCB we only advertise this if we have a reasonably new XCB libary, as older versions suffer from the xcb_wait_for_reply() blocking bug, which cause GL rendering in a separate to stall when using Mesa drivers. Change-Id: I4829df7e583a1c8aed218ae13a159d21266cc594 Reviewed-on: http://codereview.qt.nokia.com/3613 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add Input context for Windows.Friedemann Kleint2011-08-2411-8/+772
| | | | | | | Change-Id: I20b97e863bf1198b9ad810bb5a25652327f626c9 Reviewed-on: http://codereview.qt.nokia.com/3463 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
* QSurfaceFormat: Add missing 'profile' accessors, fix detaching.Friedemann Kleint2011-08-191-4/+1
| | | | | | | | | | | | No longer initialize FormatOptions to SwapBehaviour::DoubleBuffer in the constructor as it is a different enumeration. Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Change-Id: Id69e0345d4395ee88532ac3ee0e89c35e6c5b083 Reviewed-on: http://codereview.qt.nokia.com/3254 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix build.Friedemann Kleint2011-08-196-209/+0
| | | | | | | | | | | - Introduced EXPORT definition for new QPrintSupport library. - Fixed dependencies in src.pro - Fixed some includes. Change-Id: I9863233ca2767928b37cf3fd1fdec31351b5da6b Reviewed-on: http://codereview.qt.nokia.com/3253 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add Windows to the Lighthouse.Friedemann Kleint2011-08-1847-0/+15322
Add an initial Lighthouse plugin for the Windows operating system. Change-Id: I6934562266e1aa0ac270bf6107df05a9e56ef82c Reviewed-on: http://codereview.qt.nokia.com/3107 Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>