summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
Commit message (Collapse)AuthorAgeFilesLines
* Windows: Fix verbose debug outputMiikka Heikkinen2012-05-241-1/+1
| | | | | | | The isEmpty() check for environment variable contents was inverted. Change-Id: Ic220f4eed9e45539d6e89fe1e0d37976f7757eda Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QPA: Refactor QFileDialogPrivate::qt_clean_filter_list for QPASean Harmer2012-05-241-2/+2
| | | | | | | | | | Allows QFileDialog and QPA plugins to access this helper function. Needed by the Cocoa and QNX plugins. This commit fixes up the Cocoa plugin. The QNX support will be in a follow-up commit. Change-Id: I8dd08a9f3dc27d85edd0dc9dad9629406c1e677a Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QNX: Recreate EGL surface when the window geometry changesKevin Ottens2012-05-241-0/+16
| | | | | | Change-Id: Ic578e9c3f4d8f70bcac0d95f59942cd2724aee51 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: Make sure calls to (create/destroy)Surface are symmetricKevin Ottens2012-05-242-3/+3
| | | | | | | | | As a matter of fact also reduces state duplication with QQnxWindow by getting rid of m_surfaceSize. Change-Id: I47f5af0f00a317d3bb246c0c9161e2219fbd3263 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: Advertise geometry changes to Qt event systemKevin Ottens2012-05-241-0/+2
| | | | | | | | | Some QWindow subclass rely on those events to be sent to know when the window geometry changes (e.g. QQuickCanvas). Change-Id: I16d3928803d09761f265544fdf10a5d080fccc17 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: Force windows resizing when the screen orientation changesKevin Ottens2012-05-241-0/+1
| | | | | | Change-Id: I82e464df86b55f04498a8f6f5c1cc5011cac0bd6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* Add QMacPasteboardMime::count(QMimeData*).Morten Johan Sorvig2012-05-243-8/+17
| | | | | | | | | | | | As QTBUG-25076 points out, the ### comment indicates that we want to add virtual function to QMacPasteboardMime. The default implementation returns 1. Reimplement for QMacPastebardMimeUrl and return the url count. Change-Id: Ie300574eab9991af625986805d2b030914291cc0 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Compile fix for kms platform plugin.Samuel Rødal2012-05-242-1/+2
| | | | | Change-Id: Ieed141c390920d118f8bb34fa884574ba308d23e Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* QtPrintSupport - Modify Platform Plugin QPrinterInfo apiJohn Layt2012-05-242-2/+27
| | | | | | | | | | | | | | Change the way the printsupport plugin creates QPrinterInfo objects, provide platform api to return a named printer, and expose this as static public api in QPrinterInfo. Only the Mac plugin used the old api, the other plugins will have direct support added in separate commits, but will use the default implementation for now. Change-Id: I7d6b6556eb39919cfb15bc0e814afbaf13c5712c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Initialize member variable in QXcbWindowPekka Vuorela2012-05-241-0/+1
| | | | | Change-Id: Iddf3f70ae2cb7be0703c0084da87e41412ad1d06 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix compiler warnings in QtGui, QtWidgets.Friedemann Kleint2012-05-231-1/+1
| | | | | | | | - Unused variables. - Deprecated headers. Change-Id: I8fb5d5f2cc02aca145a8c857358527592b7491ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QtPrintSupport - Fix Mac printerName() useJohn Layt2012-05-232-3/+3
| | | | | | | | | | | | | | | | | | | | Mac in Qt4 and 5 has been using the PMPrinter Name for the QPrinter and QPrinterInfo printerName() value, but this is incorrect. This is in fact the CUPS Description field, is in human readable form and is not guaranteed to be unique. The CUPS Name field is the PMPrinter ID value and should be used as the unique identifier when accessing printers. This has worked up to now due to an undocumented feature in the OSX api that accepted the Name when the ID should be used. Changing all uses of PMPrinterGetName to PMPrinterGetID fixes this and allows the QPrinterInfo test of names to pass without munging the names. Change-Id: I25322aa1a924bed9f67f4ad5e208274c8b700e17 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: John Layt <jlayt@kde.org>
* QNX: Post orientation change eventsKevin Ottens2012-05-231-1/+3
| | | | | | Change-Id: I4dc13e5388e065c2425641c7efabcdee8f94800e Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* Fix font rendering gamma correction on MacJiang Jiang2012-05-232-0/+8
| | | | | | | It needs a 2.0 gamma (as in Qt 4) in platform plugin styleHint. Change-Id: I2286532c607554c41baee4fa348cd7899bf010e1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Handle keyboard dead keys correctlyBradley T. Hughes2012-05-231-2/+12
| | | | | | | | | | | Some keyboard layouts have physical dead keys (like the ¨ key on a Norwegian keyboard). These do not send any text, so we should not use [NSString characterAtIndex:0] if the string is empty. When encountering an empty [NSEvent character] string, use Qt::Key_unknown and QChar::ReplacementCharacter. Change-Id: I7281aa9ea6005341c0dcfa5900bfe601e4eac6a9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Avoid UTF-16 to UTF-8 to UTF-16 conversion in key handlingBradley T. Hughes2012-05-231-1/+1
| | | | | | | | | | When coverting NSEvent characters to a QString, use QCFString::toQString(), which copies the UTF-16 characters out of the NSString into a QString (instead of converting to UTF-8 and back again on each key press). Change-Id: I78f7c46e75283b7b51c762fd7f22e351ac068072 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: don't send input method events for basic text inputBradley T. Hughes2012-05-232-11/+27
| | | | | | | | | | | | | | | | | | | | | | When receiving keyDown events on the Mac, we pass them to NSView's interpretKeyEvents method, which ends up calling our insertText method. This means we end up sending input method events for most text input (instead of normal key events). While this is not wrong, it is unexpected, and different form how Qt 4 works. Change insertText to do nothing if no preedit string has been set when handling a key event. For normal text input that does not need input method handling, we can simply return and let handleKeyEvent send key events instead. Our insertText implementation has to take care to not ignore calls from outside key event processing (such as the user input characters with the Character Viewer). As a result m_keyEventsAccepted changes to m_sendKeyEvent to let insertText know whether or not insertText was called via handleKeyEvent. Change-Id: Ie8c2eb67f6a8438f08442f9ff48f2027a041ca23 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QNX: Implementing QPlatformScreen::refreshRate() for QNX QPASean Harmer2012-05-232-0/+20
| | | | | | Change-Id: I777ebd2c1ca51d244de714eb5b235d931df044d6 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Minor QPlatformMenu API cleanup.Morten Johan Sorvig2012-05-234-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Make the QPlatformMenu* classes abstract with pure virtual functions. Delete qplatformmenu_qpa.cpp. QtGui no longer has to carry the empty implementations. Change the inheritance tree - Make QPlatformMenu and QPlatformMenuBar inherit QObject instead of QMenuItem. Add (now) missing virtual functions to QPlatformMenu. The effect of this change is to reduce the number of pure virtuals the platform has to implement. Change QPlatformMenuBar::syncMenu to take a QPlatformMenu pointer instead of a QPlatformMenuItem* pointer. Fix a couple of header/unused variable compiler warnings. Change-Id: I77450e40c6aae26f3e1aca204603acebd242c036 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* QNX: Register for navigator events before any window creationSean Harmer2012-05-231-6/+14
| | | | | | | | | | | | | This prevents a possible race condition in which the nvaigator service notices that we have created a window and starts sending us messages possibly before we have registered with bps for navigator messages. This resulted in applications sometimes missing navigator messages at startup. Change-Id: I362fd782d7798990bc196f23e07b58293b13275d Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* bcm97425: Enable the egl mode directfb QPA platform pluginHolger Hans Peter Freyther2012-05-221-1/+1
| | | | | | | | | | | The directfb_egl mode of the directfb QPA platform plugin was never enabled. Modify directfb.pro to check for directfb_egl inside the QT_CONFIG variable. This issue was introduced when moving the config from the CONFIG variable to QT_CONFIG. Change-Id: Ia86ec48475ac037d05282e69ee6324969054e186 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qpa api: replace QPA headers with something more benignGirish Ramakrishnan2012-05-221-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current 'we mean it' headers are considered too aggressive for QPA. Replaced using the following script. for file in `find -type f -name "qplatform*.h" -and -not -name "*_p.h"`; do LINE_NO_1=`grep -n -m 1 "W A R N I N G" $file | awk -F ':' '{print $1}'` LINE_NO_2=`grep -n -m 1 "We mean it." $file | awk -F ':' '{print $1}'` if [ -z "$LINE_NO_1" ]; then LINE_NO_1=`grep -n -m 1 "#define " $file | awk -F ':' '{print $1}'` LINE_NO_2=$((1+$LINE_NO_1)) else LINE_NO_1=$(($LINE_NO_1-2)) LINE_NO_2=$(($LINE_NO_2+2)) fi head -n $LINE_NO_1 $file > $file.new cat >> $file.new <<EOF // // W A R N I N G // ------------- // // This file is part of the QPA API and is not meant to be used // in applications. Usage of this API may make your code // source and binary incompatible with future versions of Qt. // EOF tail -n +$LINE_NO_2 $file >> $file.new mv $file.new $file done Change-Id: I8a974c9bf8942647b7ad950afb372c1f738aa725 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* directfb: Handle focus, close and geometry change eventsHolger Hans Peter Freyther2012-05-222-0/+32
| | | | | | | Report the focus, close and geometry to Qt. Change-Id: I059fef5aba5f0e5c0654ba11b0615bc0f5ac50aa Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* directfb: Expose the window when it becomes visibleHolger Hans Peter Freyther2012-05-221-2/+4
| | | | | | | | This change is required to make DirectFB windows appear on the screen again. Change-Id: Ib00d3fa597bc23879b5646bddd6cbb5c627b0edf Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Clean up Raspberry Pi specDonald Carr2012-05-221-0/+1
| | | | | | | Introduce platform libs hook to handle/allow device specific initialization and the associated symbol resolution Change-Id: I098b07dcb581390d369d9165c6cedc7ace1e088a Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Windows/MinGW: Fix warnings about missing enumeration values.Friedemann Kleint2012-05-211-0/+1
| | | | | Change-Id: I8fa6456e517d670a4d463fdc589cb32e4f79843c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QNX: Take orientation into account when reporting physical sizeSean Harmer2012-05-211-3/+8
| | | | | | | | | Previously landscape orientation was assumed in the QQnxScreen ctor. We now calculate the initial physical dimensions correctly. Change-Id: I6c434eaba1f931c769f343671fb80052287b51e5 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Implement the QPlatformScreen::orientation() functionSean Harmer2012-05-212-2/+19
| | | | | | | | Also removed some invalid TODO comments. Change-Id: I470a9a6538ce10a3a14df14faa641d7be7f18a74 Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QWindowsBackingStore: Implement scroll.Friedemann Kleint2012-05-212-0/+15
| | | | | | | | | | Similar to XCB. Task-number: QTBUG-24299 Task-number: QTBUG-24296 (partially fixed) Change-Id: I4c9d813d9645f957f2caad0c4e395ce0d3d222cc Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cocoa: Fix memory leak in the accessibility code.Morten Johan Sorvig2012-05-211-0/+1
| | | | | | | | QCocoaAccessibleElement takes ownership of the QAccessibleinterface pointer. Delete it in dealloc(). Change-Id: I45a5540b9cf564c639bfa119ff4882008d63fd96 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Cocoa implementation of QPA menu interface.James Turner2012-05-1920-256/+1217
| | | | | | | | | | | Implement the QPA platform menu interface for Cocoa, including native menubar support and merging with the predefined menus created from the bundled .nib. Cleanup code previously used to maintain the menus, and add a manual test of the menus code. Change-Id: Ia99267ddb6485e18e05c540eb32c5aee6cbb85db Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QPA menu abstraction, originally based on Morten's workJames Turner2012-05-195-23/+8
| | | | | | | | | | Create a QPA abstraction for native menus, derived from the Cocoa support in 4.8, but with the expectation to support other platforms too. Update the QtWidget QMenu and QMenuBar code to maintain their QPA equivalents if they exist. Change-Id: Id605de3da8811dc832bf48b35f9107778ad320ff Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Adding QPlatformTheme support for Blackberry devices.Sean Harmer2012-05-197-2/+306
| | | | | | | | Starting off simple with fonts that follow the Playbook guidelines. Change-Id: If772f9a20c5e7566543be6bba47b49cdf3bf1524 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Special case z-ordering of the QDesktopWidget windowSean Harmer2012-05-191-1/+11
| | | | | | | | | | | | | | | | | The assumption that window creation order implies correct initial z-ordering is broken when dealing with certain window types. In this commit we special case the QDesktopWidget's window which maybe created after normal application windows yet still need to be layered below them. Without this fix we may accidentaly activate the Desktop window when the blackberry navigator service sends an event to activate the window group. That results in broken focus handling. Change-Id: I42dfde2efb4a0011e37e7bd2e7c5442590606a24 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* eglfs: hooks can never be nullGirish Ramakrishnan2012-05-181-8/+4
| | | | | | | | | | e60ca0de6015a8ee16c7be54d0d430252ef525c1 reworked the hooks design. hooks is initialized with a stub pointer if we don't have a platform hook. Change-Id: Ia60facfebd9e4d9c08d237c6d49793efb598130f Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: Add support for cursor hotspotsGirish Ramakrishnan2012-05-184-14/+69
| | | | | | | | | Cursor information is now loaded from cursor.json. Done-with: Johannes Zellner Change-Id: I093cf8e944d495269973e777d0b444ae4ececee1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: Allow cursor atlas to be specified using an env variableGirish Ramakrishnan2012-05-171-1/+4
| | | | | | | | The atlas it assumed to have 8 cursors per row. All cursors have to be square. Change-Id: I7ffbad4662be450b146f84032bb26187894d528f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: delete cursor textures in the destructorGirish Ramakrishnan2012-05-171-1/+7
| | | | | Change-Id: I7e86313134c428bacda41f5e5401ebc392ceecd8 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* eglfs: remove multiple references to qeglfshooks.h in HEADERSGirish Ramakrishnan2012-05-171-1/+0
| | | | | | | ce2b46daea5815df1070463b6bc379e1b4573dae introduced the mistake. Change-Id: Ifbd276dc24138dfb771d0cb14cb5d18dfa7beb2d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Handle EglDisplay and EglContext in the native interface of eglfs.Samuel Rødal2012-05-163-1/+39
| | | | | Change-Id: I793176204f12eea9d915fb7fe489bd3450a283cd Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Add eglfs cursor supportGirish Ramakrishnan2012-05-169-1/+381
| | | | | | | | cursor-atlas.png was generated from existing cursor images (qttools/src/shared/qtpropertybrowser/images/) Change-Id: Ic4b396590eaec93e14a4b0915b15f735f5b1a5f5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Windows: Trim filter specification of the native file dialog.Friedemann Kleint2012-05-151-1/+2
| | | | | | | | In the event customer code (namely Qt Creator) does not pass a clean specification (corresponding to 4.8 behaviour). Change-Id: I8271e3a45bea4bea912fcdf0b7c0aae6c022c6a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Do not limit mingw mkspec to "win32-g++" only.kb2012-05-151-1/+1
| | | | | | | | | | | | The Qt configure script and various qmake project files interpret mkspecs with a win32-g++ prefix as needing special mingw treatment. This patch corrects one instance of the too-specific "win32-g++" qmake platform scope and broadens it to "win32-g++*" -- bringing it in line with the rest of the Qt project files -- thus re-enabling custom mkspecs for crosscompilation. Change-Id: I8c5107053ce9e0c499002b1990b492bda0eec52b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix font printing on Windows using the native engine.Friedemann Kleint2012-05-153-6/+25
| | | | | | | | | | | - Add HFONT, LOGFONT, trueType as properties of the Windows font engine, make it a real Q_OBJECT. - Query properties in the Windows print engine and use the HFONT, LOGFONT there. Change-Id: I5c35275b32ef6580d7fa15ed83c6e79e33dc3334 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix include path to fb_base.priGirish Ramakrishnan2012-05-151-1/+1
| | | | | | | Also fixes a typo in fb_base.pri. Change-Id: I4fae156640325a7a2894ea0d1fbe96936f190bdb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove capitalization when specifying include-libraries.kb2012-05-141-1/+1
| | | | | | | | | | | | | MinGW installations on case-sensitive filesystems expect lowercase names of include-libraries and (usually) include files. When crosscompiling on Debian 6 (targeting MS Windows) linking fails because mingw is looking for non-existent include-libraries. Using lowercase names solves this. Change-Id: Id3454f4ed8ba42b6ea93d65d9c0ce567db6712df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Do not override CO_E_NOT_SUPPORTEDkb2012-05-141-0/+2
| | | | | Change-Id: Id0cb9e1dca67400a2e3a02da663d810b06bdb6ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Windows: Query mouse double click interval from system.Friedemann Kleint2012-05-141-1/+4
| | | | | | Change-Id: I6bfd19a76bf3fde1344760d7f216a2dffa4b9018 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add missing include library to prevent link failurekb2012-05-141-0/+1
| | | | | | | | When cross-compiling the uuid library needs to be included explicitly so the linker has access to _IID_IUnknown et al. Change-Id: I713af426357603c08eef55857be20105e5aa6eba Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Make QFileOpenEvents delivered again.Christoph Schleifenbaum2012-05-111-4/+5
| | | | | | | | Create a FileOpenEvent within QWindowSystemInterfacePrivate and handle it in QWindowSystemSystemInterface and QGuiApplication Change-Id: Ie777c923958d83d56e8648c9bfb1f9dcb985654d Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>