summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
Commit message (Collapse)AuthorAgeFilesLines
* Cocoa: Proper handling of mDelegateChristoph Schleifenbaum2012-04-122-0/+8
| | | | | | | | | | | | | mDelegate keeps the pointer to a QNSFontPanelDelegate, which reacts on the NSFontPanel used by this dialog helper. It has to be created before it can be used. On a read-only access, this has been fixed to return a default-constructed value (like QFont()). For writing access (like setting the font) the delegate was already created. The same applies to mDelegate to QNSColorPanelDelegate respective. Change-Id: I36b89c16d98db9275aa31d399fe094b1d56d800d Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix ownership / lifetime of QCocoaNativeInterfaceJames Turner2012-04-122-1/+3
| | | | | | | | Change-Id: I21dd1e3186e0dbbc60294f807de0db6aad8b9eee Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Add Mac OS X backend for QDesktopServices.Christoph Schleifenbaum2012-04-115-0/+138
| | | | | | Change-Id: Ie48844ed93385c8aef9ae0765b7a3d26583ed642 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Corrected filenames to build on case-sensitive Mac filesystemsShawn Rutledge2012-04-031-1/+1
| | | | | Change-Id: Ie6f0188e3b2140b80b444dfdf24a078d215e0e87 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Cocoa: set window levels when creating NSWindow/NSPanelBradley T. Hughes2012-03-301-0/+27
| | | | | | | | Port the QWidgetPrivate::setWindowLevel() function from Qt 4 so that we get compatible window level behavior in Qt 5. Change-Id: I67f036941f1e460be678b28e7079d36b1a6622ac Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: don't call non-existent NSWindow setFrameSizeBradley T. Hughes2012-03-301-1/+2
| | | | | | | | | | | | | | | | Commit 140579cb3ef676aa3a7c3fc322ddfcc6ec1b70f2 changed a setFrame call in propagateSizeHints() to setFrameSize, which doesn't exist in NSWindow. Change it back to setFrame. Spotted due to this objc warning: qcocoawindow.mm:232:9: warning: instance method '-setFrameSize:display:' not found (return type defaults to 'id') [m_nsWindow setFrameSize : NSMakeSize(baseSize.width(),... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~... Change-Id: Ieb7e022694ced7e59c07fdd2fc53048dab1e93c7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Use "qt-project.org" instead of "trolltech" in the resource systemhjk2012-03-283-8/+8
| | | | | | | Task-number: QTBUG-23272 Change-Id: Idcdb9620910577b3c0fc9a792a0446665bd2eab6 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Cocoa: silence warning about QCocoaWindow member initialization orderBradley T. Hughes2012-03-271-1/+1
| | | | | | | | | | qcocoawindow.mm:99:7: warning: field 'm_glContext' will be initialized after field 'm_inConstructor' [-Wreorder] , m_glContext(0) ^ Change-Id: I9e090ddeeaeea581b480b2e7b2b99360062c0632 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Cocoa: initialize QCocoaEventDispacherPrivate::lastSerialBradley T. Hughes2012-03-261-0/+1
| | | | | | | | This silences warnings from valgrind about a conditional depending on an uninitialized value. Change-Id: I819a44ed5dc02e163c00849811870c94f66b6651 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Remove unused qt_mac_is_sheet() functionBradley T. Hughes2012-03-261-11/+0
| | | | | | | | The static qt_mac_is_sheet() function in qcocoafiledialoghelper.mm was not called anywhere, remove it. Change-Id: I88785e15aa17ae9c9ffbc33eba30433c8834b798 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: silence warnings about unused variablesBradley T. Hughes2012-03-265-2/+5
| | | | | | | | Silence warnings about unused function parameters and local variables while building the Cocoa platform plugin. Change-Id: I6aedc4cb21c5fb48d2d6e501561473d3f7112aed Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: silence warnings from QCocoaBackingStoreBradley T. Hughes2012-03-261-16/+1
| | | | | | | | Remove unused (and misspelled) flipedRect() function, as well as several unused variables. Change-Id: I48a5bf2eaad67686f60523a5c22262cad5314128 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: QCocoaWindow::clearNSWindow() needs to cleanup properlyBradley T. Hughes2012-03-261-1/+3
| | | | | | | | | | | clearNSWindow() should also clear the delegate and remove the contentView from the window, since we are no longer using that window. Make sure the QCocoaWindow::~QCocoaWindow() doesn't release the m_contentView until after clearNSWindow(), to avoid crashes while trying to cleanup the window and view. Change-Id: Ia081488f629a4fd4cf10fb1053fb8183b1914d35 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: don't show window when calling raise()Bradley T. Hughes2012-03-261-2/+6
| | | | | | | | | | | Calling raise() on a hidden window should not show it. The setVisible() function will ensure that the window is raised (since we use orderFront or makeKeyAndOrderFront). This fixes the failing tst_QDockWidget::task169808_setFloating() test as well. Task-number: QTBUG-24774 Change-Id: If34472ebbcd615c10654efafd54c84c03d10bc8c Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: reimplement QPlatformWindow::setOpacity()Bradley T. Hughes2012-03-262-0/+7
| | | | | | | | Qt and Cocoa opacity levels are compatible, so we just need to forward the setOpacity() argument to [NSWindow setAlphaValue] Change-Id: I5fd5678894fd6949811ad1c4b493e592561f01f6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: reimplement QPlatformBackingStore::scroll()Bradley T. Hughes2012-03-262-0/+13
| | | | | | | | Use qt_scrollImageInRect() from QtGui to accelerate scrolling in the Cocoa plugin. Change-Id: I8ad1377ed3307345f72d17c72049cec5472c97d3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: send key events for modifier keysBradley T. Hughes2012-03-261-0/+37
| | | | | | | | Implement -flagsChanged: in QNSView so that we can calculate the necessary modifier key events to send. Change-Id: I3de89537d6e22b4a6d69ae646a71d9722dd9f82a Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: keep a NSWindow pointer in QCocoaWindowBradley T. Hughes2012-03-261-1/+1
| | | | | | | | The NSWindow we create could either be a QNSWindow (our NSWindow subclass) or a QNSPanel (our NSPanel subclass). Change-Id: I6e5c18328bf0fd1786a042d1fddc5b3e8be17f89 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix qtnamespace compile break on Mac.Sarah Smith2012-03-266-6/+18
| | | | | | | | | | | | | | | | | Appears as though the QT_NAMESPACE macros are incorrect here. In fact in qisenum.h because the #define is no respecter of a namespace in most of these conditional compile cases they will be ignored effectively. The QT_HEADER also - if qtypetraits.h conditional compile occurs then it will result in adding extern "C" { twice. For the macros invoking them will not cause the extern "C" { to be used anyway, so just remove this altogether. Task-number: QTBUG-24903 Change-Id: I710dc330f58357f395241a0cf3172e41a5864576 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Glenn Watson <glenn.watson@nokia.com> Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
* Check if Qt::ImEnabled is true before handling im events on MacTasuku Suzuki2012-03-233-17/+60
| | | | | | | | | | Key events were not sent to items on graphics view after the change 412dbdf410c765e75c60d1f48143dd6c02a69493. This is because the change only checks if QGuiApplication::focusObject() exists. Qt::ImEnabled needs to be checked too. Change-Id: I2a78af717a7a1a5d84fbc8b521253bdc25b43286 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Add window fullscreen button on OS X Lion.Morten Johan Sorvig2012-03-231-0/+9
| | | | | | | | | Use the heuristic that windows that are not an NSPanel and has the MaximizedButtonHint get the fullscreen button. Change-Id: I9a3520b7e4cd1833421d5d2f5b73da7edbfc3e74 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cocoa: fix setting color with alpha channel value for color dialogTeemu Katajisto2012-03-221-0/+5
| | | | | | | | | | | Make sure that if ShowAlphaChannel option is set then also setShowsAlpha needs to be set for the panel before setting the current color, otherwise alpha channel value is omitted. Task-number: QTBUG-24320 Change-Id: Ifb3822711af8ffd0cf6cb4c8aab2b0020d296663 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: improve mouse button tracking warningsBradley T. Hughes2012-03-211-5/+5
| | | | | | | | | | The warnings about "Internal mouse button tracking invalid" should check for the correct button before emitting a warning. The warning should also mention the correct button as well. For otherMouseDragged, we simply check for any button that's not the left or right button. Change-Id: I9eb6d6bd7fb5919e745b7f8eb517b4bc9efd36a6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Improve window activation handling.Morten Johan Sorvig2012-03-213-5/+15
| | | | | | | | | Make Qt window activation follow the Cocoa key window, with one exception: Popup windows become the key window but not the Qt active window. Change-Id: Ic4d8685737fa3ec5c15a68b81844929370c9cd8e Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cocoa: Implement screen availableGeometry.Morten Johan Sorvig2012-03-212-2/+8
| | | | | | | | As usual the y coordinate needs to be inverted. Change-Id: Iac9b48f9bdb475a3d5a76b930c2e138a625f1ef8 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Cocoa: fix inactive palette text colorBradley T. Hughes2012-03-211-9/+10
| | | | | | | | | The QPalette::Inactive text color should be the same as kThemeTextColorDialogActive. kThemeTextColorDialogInactive is for disabled widgets/windows. Change-Id: I55eb63fff213cb9870a991455cbc3254b9d1538e Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Panels can become key windows too.Morten Johan Sorvig2012-03-201-1/+7
| | | | | | | | | | The cocoa plugin uses NSPanel instead of NSWindow for popup-type windows. With the exception of tooltips and splash screens these windows should take input focus as well. Change-Id: Icdf0854e7c511ccc106e035dae4763ae90c23aa5 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cocoa: set font engine glyph format based on display typeBradley T. Hughes2012-03-202-4/+4
| | | | | | | | | Make the QCoreTextFontEngine::glyphFormat depend on the primary display's subpixel layout (if any). This change also refactors the antialiasing threshold setting to live beside the defaultGlyphFormat. Change-Id: I27f94f775d91d2a68cd647cc24503b31b6ff5e61 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Implement support for child windows.Morten Johan Sorvig2012-03-202-21/+69
| | | | | | | | | | | | | | | | | | | | | | | On OS X, child windows (in the Qt sense) are not windows. Add special case to window creation that links the content views instead of creating a NSWindow. Add a similar special case to setGeometry(). Refactor window (re)creation into recreateWindow(), which is called from both the QCocoaWindow constructor and setParent(). m_nsWindow may now be null, add null-pointer checks to all usages. Change winId() to return the m_contentView pointer instead of m_nsWindow. QGLWidget now works, but probably has sibling window stacking issues which we won't be able to fix without moving to client-side compositing. Change-Id: I2e74cf27734dba7076c150e0d8341f0a62d3de2d Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cocoa: Send keyboard modifiers with wheel events.Morten Johan Sorvig2012-03-192-1/+26
| | | | | | | | | Read and save the modifiers at the beginning of the event stream to keep the event interpretation constant for the entire event stream. Change-Id: I66046dea8f8fd3ff2f88c48da5f076377bda32dd Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cocoa: Fix function key handlingBradley T. Hughes2012-03-181-7/+11
| | | | | | | | | | | Cocoa sends function keys (e.g. arrow keys, backspace, F1-F35, etc.) as Unicode characters in the U+F700-U+F8FF range. Do not deliver text for events that contain a single control character (to match Qt 4 behavior). With this fix, keyboard navigation works again in Qt Creator when running against Qt 5. Change-Id: I5854bf713c2855dbc5ee491bace2f9dc1acd9426 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix shortcut handling in the Cocoa pluginBradley T. Hughes2012-03-181-25/+26
| | | | | | | | | | | KeyPress events could be shortcuts or deadkeys, but we don't know which until we try. Shortcuts take precedence over deadkeys, so send them through QWindowSystemInterface::tryHandleSynchronousShortcutEvent() before passing it onto the input method. Change-Id: I479a3a7ff1c35e7c5692e8a17fb2173576dd0a29 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* QCocoaClipboard: Make QClipboard::clear() clear.Morten Johan Sorvig2012-03-171-0/+4
| | | | | Change-Id: Ifb235d015f7831b335a9c3db92515a8d1cd49311 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Cocoa: Fix menu item activation.Morten Johan Sorvig2012-03-161-1/+1
| | | | | | | Handle the action message on the application delegate. Change-Id: I23686fd6e936a4dbbb141da3dd04a64cbf6a051a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Implement cocoa clipboard support.Morten Johan Sorvig2012-03-158-113/+194
| | | | | | | | | | | | | | | Add QCoccoaClipboard which wraps the existing QMacPasteboard implementation. Remove unused QClipboard integration code from qmacclipboard.mm Change mime type cleanup from using qAddPostRoutine to using an explicit call to destroyMimieTypes in the cocoa platform integration destructor. This is necessary to ensure cleanup happens in the correct order on app shutdown. Change-Id: Ief0e0d996b04c8e84e9fd2cd3a17fb5bd73bb761 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add method to get NSPrintInfo* from QPrintEngine in Cocoa pluginBradley T. Hughes2012-03-153-0/+16
| | | | | | | | | | | Add an invokable method that takes the QPrintEngine (which will always be a QMacPrintEngine) and return the NSPrintInfo* from the QMacPrintEnginePrivate. This will be used by the native dialogs in QtPrintSupport to get/set printer settings. Change-Id: If1e49027e8f0d505656db51be1f40a23f60e8e57 Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Don't keep PMPrint* state separate from NSPrintInfoBradley T. Hughes2012-03-152-49/+43
| | | | | | | | | | | When we need to use PMPrintSession, PMPrintSettings, and PMPageLayout, get these directly from the NSPrintInfo when needed. This avoids us needing to keep the settings in sync. The native dialogs can then only rely on getting a pointer to NSPrintInfo (to be done in a future commit). Change-Id: I4720284dcf999e454f86766b4291fbda7bf3c537 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Add a QPlatformPrinterSupportPlugin for CocoaBradley T. Hughes2012-03-155-0/+200
| | | | | | | | | | | | | | | This is used to create the actual QPrintEngine and to query the system about printer information. The QCocoaPrinterSupport actually lives in the Cocoa platform plugin, so the QCocoaPrinterSupportPlugin uses the createPlatformPrinterSupport() function in the QPlatformNativeInterface (since the latter is a QObject). This is done to avoid adding a printing related virtual function to QPlatformIntegration (since we have plans to do a new printing API in the future). Change-Id: I8bf9be668ff8ae1d07840e2af1e0846dc3299334 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Port QMacPrintEngine and QCoreGraphicsPaintEngine from Qt 4 to Qt 5Bradley T. Hughes2012-03-158-2/+3078
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy qprintengine_mac_p.h, qprintengine_mac.mm, qpaintengine_mac_p.h, and qpaintengine_mac.cpp (as qpaintengine_mac.mm) from src/gui/painting/ in the 4.8 branch of http://git.gitorious.org/qt/qt.git at commit e6bd33d4aef0e4538d7918e7ab130624c911b553. The following changes are necessary to port these files to the Qt 5 API: - The copyright notice on these files has been updated to match the header.LGPL template. - Fix #includes for qprintengine_mac* and qpaintengine_mac*, as some headers have moved in Qt 5. - Remove extern forward declarations for functions that no longer exist. - Remove friend declarations for classes/functions that are not part of the Cocoa platform plugin. - Remove QT_MAC_USE_COCOA blocks. Qt is always using Cocoa now, there is no need to keep the non-Cocoa code paths anymore. The QMacPrintEngine::shouldSuppressStatus() method was also removed, since it is no longer used. - Do not use Qt::UniteClip, it was removed in commit 01b72952c38b9193138eabdab6bdab632cd75ebd - Use QCocoaAutoReleasePool in qprintengine_mac.mm - Use QPlatformPrintSupport::convert*() functions in QMacPrintEngine, since we cannot use non-exported functions from QtPrintSupport in the Cocoa plugin. - Use qt_mac_image_to_cg_image() to convert QPixmap to CGImageRef. First convert QPixmap to QImage (cheap, since the Cocoa platform plugin uses QRasterPlatformPixmap), and then convert the QImage to CFImageRef using the existing helper function. - Copy qt_mac_cg_context() to the Cocoa platform plugin from qmacstyle_mac.mm, adding a note at each location about the duplication. - Add qt_mac_QRegionToHIMutableShape() helper. Adapt the Qt 4.x code for QRegion::toHIMutableShape(), and use this in QCoreGraphicsPaintEngine. - Add qt_mac_drawCGImage() and qt_mac_get_scalefactor() helper. These functions are copied directly from the 4.8 branch of http://git.gitorious.org/qt/qt.git at the same revision shown above. - Add qt_mac_create_imagemask() helper in qpaintengine_mac.cpp. This helper is based on the function with the same name from the 4.8 branch of http://git.gitorious.org/qt/qt.git at the same revision shown above. The correctness of the implementation has not yet been verified. Since these files use the QPrinter API from QtPrintSupport, the Cocoa plugin now needs to link to that library as well. Change-Id: I90b9bbe201327489ef9e1b3294e68e91ddda27bd Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Refactor theme plugin loading.Friedemann Kleint2012-03-154-4/+17
| | | | | | | | | | | | | | | | | | | | In the old implementation, the QPlatformIntegration was asked for the theme first, so there was no way of overriding that by a custom plugin. Also, there was a memory leak in case the platform theme was actually created by a plugin. QGuiApplication now asks the QPlatformIntegration for a list of potential theme names first, tries to load them using the plugin loader and finally invokes a factory method of QPlatformIntegration in case that fails. The theme is now owned by QGuiApplication. In the XCB plugin, the environment variable DESKTOP_SESSION is queried and appended to the list of themes, making it possible to load plugins for other session types. Change-Id: I1a4b4e061815bca16c65b23e591bb7563a3e44e2 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cocoa: Improve basic window handling.Morten Johan Sorvig2012-03-145-186/+183
| | | | | | | | | | | | | | | | | | | | Refactor NSWindow creation into createNSWindow and setNSWindow. This is necessary to support QMacNativeWidget where we re-use an already created window. Implement popup window handling. Make sure the window is displayed correctly and closes when it should. Take control over window activation in order to prevent infinite loops involving the QtCreator "cmd-k" window. Activation events are for now not sent to popup-type windows. There is now a different set of test failures: add and remove some QEXPECT_FAILs. Change-Id: I229761b59f90c9815b968eacc2cbc9c20cc5047e Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa platform plugin: Add support for up to 16 mouse buttonsRick Stockton2012-03-131-2/+94
| | | | | | | | | | | | OS-X provides a buttonNumber within Event data for otherMouseDown: and otherMouseUp: Events. Instead of mapping all occurences of these event types to Qt::MiddleButton, this Update uses that data to support a total of 16 mouse buttons. Task-number: QTBUG-24702 Change-Id: I3cffb32498f98ea182509d7c42f3fc6634155ebb Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Input method on MacTasuku Suzuki2012-03-1210-5/+457
| | | | | | | | Restore input method implimentation in Qt4 Task-number: QTBUG-23867 Change-Id: I5d405ccc8b0a73c399d992f6474a0cc38d191157 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Cocoa: Fix accessiiblityPerformActionMorten Johan Sorvig2012-03-121-2/+1
| | | | | | | Remove hardcoded pressAction(); Change-Id: Ie02e3f2f88a2cd311aec1b39daa160efb3b2b617 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* QCursor: Associate cursor with screen.Friedemann Kleint2012-03-074-4/+4
| | | | | | | | | | | | | | | | | | | | | | - Introduce cursor() accessor to QPlatformScreen. - Remove screen member of QPlatformCursor (a cursor can be shared by multiple screens of a virtual desktop). - Add QCursor::pos()/ QCursor::setPos() taking a QScreen-parameter, use primaryScreen() for old overloads. QCursor::pos() can then query the platform cursor for the position and return the position even if the mouse position is outside the windows owned by the Qt application. - Fix tests Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Task-number: QTBUG-22457 Task-number: QTBUG-22565 Task-number: QTBUG-20753 Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Cocoa: Implement Drag-and-Drop.Friedemann Kleint2012-03-0714-39/+2094
| | | | | | | | | | Implement drag and drop support for drags originating from outside Qt. Port mime and pasteboard code from Qt 4. Use QSimpleDrag from from platform support to implement internal Qt drags. Change-Id: I5b664a95ebb00f48de2bd21c24dfb579af16123e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add fonts to QPlatformTheme.Friedemann Kleint2012-03-074-0/+51
| | | | | | | | | | | | | | | | - Remove QPlatformFontDatabase::defaultFonts() returning a hash containing widget name ->font and the Windows implementation. - Add enumeration and font accessor to QPlatformTheme. The value returned for the enumeration value overwrites the default font of the font database. - Implement for Windows, Mac and KDE. - Add more Windows palettes. Task-number: QTBUG-23686 Change-Id: I8a2abdfd216df23daa7c9630c54264cdf61295db Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Compile with -qtnamespaceSarah Smith2012-03-071-1/+4
| | | | | | | | Mac has to work with -qtnamespace as well, and other files have gotten this right, so follow their example. Change-Id: I551e1843e8a0e82a82d1d5ea8c8cd5f20e6880fa Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Cocoa: Implement widget palettes.Morten Johan Sorvig2012-03-064-5/+94
| | | | | | | | | | | | Add roles to QPLatformTheme::Palette, map QWidget subclasses to those. Port Qt4 widget palette creation code to use the QPLatformTheme::Palette roles. Palette entries are disabled in this commit, this will be fixed later. Change-Id: I07babe3d7c76d306efc4ea4813c7161fdf36227f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QWindow: fix crash on MacTasuku Suzuki2012-03-061-1/+1
| | | | | | | Fixes a crash when QWindow::baseSize() is invalid size. Change-Id: I4e41f63d69ad0f218bfd35db8f30f18f92d4e9d5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>