summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
Commit message (Collapse)AuthorAgeFilesLines
* Cocoa: support modal windowsBradley T. Hughes2012-04-254-32/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | Qt::WindowModal windows and dialogs are shown using [NSApp beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:] as long as they have a valid parent. Otherwise they are behave as application modal. Use the existing modal session support in the QCocoaEventDispatcher (which was inherited from Qt 4) to support Qt::ApplicationModal windows and dialogs. Some changes to this code are needed to ensure proper behavior: 1. Window level modification is now done in QCocoaWindow::recreateWindow() instead of in QCocoaEventDispatcher. 2. Make interrupt() use [NSApp abortModal] to stop a modal session (previously we were freeing memory from under Cocoa's feet, causing tools like valgrind and Instruments.app to complain) 3. Do not remove an item from a list and use a const reference to the removed item immediately after (minor bug fix). Also make sure that QCocoaEventDispatcher cleans up any modal sessions and retained user input events on destruction (otherwise we leave NSApplication in a weird state, which causes some autotest failures). Change-Id: Iaeefa025400f324b5348b8c81a40384ef026efb4 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix compilation with Q_DECL_OVERRIDEOlivier Goffart2012-04-202-5/+5
| | | | | | | In C++11, the override keyword is placed after the function declaration Change-Id: I3a079860762f30fa21eb01611c770713f6ba4acb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix crash in QCocoaBackingStore.Morten Johan Sorvig2012-04-202-4/+7
| | | | | | | | | | QWindow->handle() may be null during construction, and also during calls to resize(). Get and check the pointer at each call instead of caching it in the constructor. Change-Id: Icd950b55e16fdd2077e3b7fe3c3393d8b89b5903 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Implement QCocoaWindow::setWindowState.Morten Johan Sorvig2012-04-204-42/+98
| | | | | | | | | | | | | | | | | | | | Add window state change notification logic. Send and expose event in addition to window state change on window restore since the QWidget logic expects this. Modify QCocoaWindow::setVisible to sync up window state that may have been set on the hidden window. Refactor NSWindow event observing to use one observer function for all notifications. Add window state testing to tests/manual/windowflags Add delay after showFullScreen in tst_qstatusbar to wait for the Lion fullscreen transition. Change-Id: I57c523cedd0644d4181b40d72046fad4fdb09a9c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* change NSTextInput to NSTextInputClient in Cocoa pluginTasuku Suzuki2012-04-182-25/+23
| | | | | | | | NSTextInput protocol is slated for deprecation Task-number: QTBUG-23867 Change-Id: I3f9eadc31bdf4234c63f1bcde5172f22da8d340e Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-04-172-0/+15
|\ | | | | | | Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
| * Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-1610-1/+162
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
| * \ Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-105-11/+39
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * | | Add a remainingTime() method to the public interface of the QTimer classLaszlo Papp2012-04-032-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is an extension coming from the use case when you, for instance, need to implement a countdown timer in client codes, and manually maintain a dedicated variable for counting down with the help of yet another Timer. There might be other use cases as well. The returned value is meant to be in milliseconds, as the method documentation says, since it is reasonable, and consistent with the rest (ie. the interval accessor). The elapsed time is already being tracked inside the event dispatcher, thus the effort is only exposing that for all platforms supported according to the desired timer identifier, and propagating up to the QTimer public API. It is done by using the QTimerInfoList class in the glib and unix dispatchers, and the WinTimeInfo struct for the windows dispatcher. It might be a good idea to to establish a QWinTimerInfo (qtimerinfo_win{_p.h,cpp}) in the future for resembling the interface for windows with the glib/unix management so that it would be consistent. That would mean abstracting out a base class (~interface) for the timer info classes. Something like that QAbstractTimerInfo. Test: Build test only on (Arch)Linux, Windows and Mac. I have also run the unit tests and they passed as well. Change-Id: Ie37b3aff909313ebc92e511e27d029abb070f110 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* | | | Cocoa: allow timer activation to recurseBradley T. Hughes2012-04-172-23/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CFRunLoopTimer's callback will never recurse. Since we are using one CFRunLoopTimer to drive all Qt timers, we need to work around this by sending all timers via a dedicated CFRunLoopSource (since these callbacks can recurse). We also need to block this new timer source along with the posted event source when calling processEvents() "manually" to prevent livelock deep in CFRunLoop. Change-Id: I375e46b6cfa0c76db678a1085314d42d8996d062 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* | | | Add QPlatformWindow::setWindowModified(bool)Bradley T. Hughes2012-04-172-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mac OS X provided a platform API for marking a window/document as modified. This previously worked in Qt 4, so we need to have an interface to keep this working in Qt 5. If the platform window does not provide an implementation, fallback to setting the window title. Note that this does not add any QWindow API, it's only in QPlatformWindow. Change-Id: I84c5a5df8536859157f2b1fa9e4cc647a09fd06d Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* | | | Fix tst_QDialog::deleteInExec() crash on Mac OS XBradley T. Hughes2012-04-171-1/+0
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When destroying a window immediately after showing it, we can sometimes provoke a crash in Cocoa after the show-window-animation has finished (which appears to assume that the window's view will always be valid). Prevent the crash by not removing the view from the window. When recreating a window, we explicitly release the old window, but we do not release the view, so we can freely add it to the new window (i.e. this does not introduce new bugs related to recreating the platform window). Task-number: QTBUG-24977 Change-Id: I466ce75b04785401032a0a2d4a2c494910cd1672 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* | | Fix incorrect state of show/hide menu items in Mac application menuPasi Matilainen2012-04-163-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "Hide <app>", "Hide Others" and "Show All" menu items in Mac application menu are always enabled, and do not get disabled correctly. Fix by turning on autoenable for the menu in qt_menu.nib, and by implementing menu item validation in QCocoaMenuLoader. Task-number: QTBUG-10705 Change-Id: Ic181dfa26a71acad0067f5269c72517b50b17362 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> (cherry picked from commit 8f23a6be1069455e609e8bea7527726c24bebb36)
* | | 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>