summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwidget_mac.mm
Commit message (Collapse)AuthorAgeFilesLines
* Change to release license header.Jason McDonald2011-02-161-13/+13
| | | | Reviewed-by: Trust Me
* Update copyright year to 2011.Jason McDonald2011-01-111-1/+1
| | | | | Reviewed-by: Trust Me (cherry picked from commit ac5c099cc3c5b8c7eec7a49fdeb8a21037230350)
* Cocoa: Fix addChildWindow bug where we connect a grandparent to a childRichard Moe Gustavsen2010-12-131-2/+2
| | | | | | | A plain bug where we ask for a list of widgets, but forget that qFindChildren is recursive, which is not what we want. Reviewed-by: jbache
* Cocoa: make sure stays on top child windows are not levelled downRichard Moe Gustavsen2010-12-131-2/+10
| | | | | | | | [NSWindow addChild] levels the child to the level of the parent. In Qt we do not want this. So we do a check after setting up the parent-child relationship for this. Reviewed-by: cduclos
* Cocoa: small update to 534ba3c7314820604ba5aeeffa6051c91e7c1d09Richard Moe Gustavsen2010-10-151-5/+8
| | | | | | Rather than checking window level directly, we check the Qt window type. This has the advantage that we also include dialogs that are modal.
* Cocoa: fix child window issues (QTBUG 13867, 14420, 13126)Richard Moe Gustavsen2010-10-151-14/+33
| | | | | | | | | | | | | | | | | | | | | | | The main problem behind these issues is the fact that when two windows exists in a parent-child relationship (using the [NSWindow addChild] API), Cocoa will automatically hide both windows even when just hiding one of them. This turns out really bad when the child is a tool window, because those will automatically be hidden when the application becomes deactivated. And as such, the parent will hide as well, tool or not. So after a LOT of investigation, involving manually trying to level windows rather than using the addChild API, the conclusing is that we cannot do it; Cocoa and Qt just tries to outsmart each other. So instead, we now say that only normal windows and dialogs can be part of a parent-child relationship (which seems to be how Apple intended it as well). The rest, and in particular tool windows, we just ignore. This will differ from some other platforms, but at the same time, since tool windows are on a level above other windows on mac from before, and the docs specifies that this can be different from platform to platform, we see it as acceptable. Rev-By: prasanth Rev-By: msorvig
* Compile on MacEskil Abrahamsen Blomfeldt2010-09-161-0/+3
| | | | | | Extern missing symbol Reviewed-by: Fabien Freling
* Implement a private API for setting title widgetsHarald Fernengel2010-09-101-4/+5
| | | | | | | | | Meego and Orbit use client side decorations, so implement a top-level layout in QMainWindow that allows us to set title widgets. To prevent regressions on other platforms, the API is disabled by default. Rev-By: Robert Griebl Rev-By: Thierry Bastian
* Cocoa: revert parts of cc6dc0aeefde881a95f5fea2b26f2f3d7bdc6e15Richard Moe Gustavsen2010-08-171-4/+0
| | | | | | | The reason is that we tried to fix the stacking order of child windows while we fixed a crash. But the patch turned out to break an auto-test Reviewed-by: prasanth
* Cocoa: parent windows shows on screen when they should be hiddenRichard Moe Gustavsen2010-08-171-6/+16
| | | | | | | | | | | | | | The reason is the cocoa method that adds a window as a child of another, it ends up showing both the parent and the child window regardless. And this could in some cases also cause a crash. So we therefore need to be careful when calling that function, and be sure that the parent is actually visible. In addition, addChildWindow reset the stacking level of the child window, and made e.g. normal child windows pop in front of tool child windows. This could easily be seen in e.g. Designer. Task-number: QTBUG-12866 Reviewed-by: prasanth
* Drawer widget in a MainWindow disappears after returning from full screen mode.Carlos Manuel Duclos Vergara2010-07-231-1/+3
| | | | | | | | | The problem was in the toggleDrawer function. We were not checking the status of the last transition before setting the new transition, so all the transition were treated as non-intentional. Task-number: QTBUG-11373 Reviewed-by: Prasanth
* Fix for tst_qmdisubwindow::fixedMinMaxSize failure on CocoaPrasanth Ullattil2010-07-151-0/+7
| | | | | | | We need to respect the size restrictions for all QWidgets. Previously this was only applied to top levels. Reviewed-by: Bradley T. Hughes
* Crash while changing the windows flags from a Qt::Drawer window on CocoaPrasanth Ullattil2010-06-301-3/+5
| | | | | | | | The crash was caused while checking the visibility of the toolbar inside a native cocoa window. There is no toolbar for a drawer window. Task-number: QTBUG-11138 Reviewed-by: Denis
* Child windows shown automatically when their parent is shown(Cocoa).Prasanth Ullattil2010-06-241-1/+1
| | | | | | | | While setting up the stacking order for child windows, their hidden state was never taken into consideration. Task-number: QTBUG-11239 Reviewed-by: Richard Moe Gustavsen
* Fixed an on-exit crash for apps using GL.Trond Kjernåsen2010-06-111-4/+5
| | | | | | | | | | | | If a QGLWidget is left on the heap when the QApplication destructor is called, it will leave the QGLWidget in a broken state. The widget itself is released and set to a non-created state, which the associated QGLContext doesn't get notified about. With this patch the QGLWidget knows when QWidget::destroy() is called and can act acordingly. Task-number: QT-3498, QTBUG-10995 Reviewed-by: Paul
* Add a new qconfig feature GESTURESTasuku Suzuki2010-06-021-0/+4
| | | | | Merge-request: 535 Reviewed-by: Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com>
* isOnActiveSpace is available from 10.6.Carlos Manuel Duclos Vergara2010-05-061-7/+14
| | | | | | | | | | The fix for qtcreatorbug-827 included a call to isOnActiveSpace, which is only available from 10.6 so this patch adds a runtime check for it. Since it is a runtime check there is no need for multiple builds. Notice that the fix for qtcreatorbug-827 will work only on 10.6+ Task-number: QTCREATORBUG-827 Reviewed-by: Richard Moe Gustavsen
* Suggestions' widget on another spaceCarlos Manuel Duclos Vergara2010-05-041-2/+21
| | | | | | | | | The problem here arises from the fact that when a window is raisen we didn't check the current space. This patch fixes that and adds a simple logic so the window is raisen in the right space. Task-number: QTCREATORBUG-827 Reviewed-by: Richard Moe Gustavsen
* Cocoa: key events stopped workingRichard Moe Gustavsen2010-04-301-0/+6
| | | | | | | | If you have an empty toplevel widget, that widget will not receive key events anymore. Seems that we need to revert some parts of 90dfb5e5d8fc8cb841b0762cd88aa4b996c38312 Rev-By: denis
* Force the repaint during a window resize.Fabien Freling2010-04-091-2/+3
| | | | | Reviewed-by: Morten Sorvig Task-number: QTBUG-6384
* Fix misspelling in function name.Fabien Freling2010-03-251-2/+2
|
* Wrong position for foucs ring when used in QMacNativeWidget.Prasanth Ullattil2010-03-241-2/+3
| | | | | | | | | This widget is treated as a window by Qt, but with the embedded flag ON. setGeometry should not clip this window, it will be cliped automatically by the parent view of QMacNativeWidget. Task-number: QTBUG-9199 Reviewed-by: Denis
* Update only appropriate rectangles during update_sys().Fabien Freling2010-03-161-9/+12
| | | | | Instead of updating the bounding box, we iterate over the rectangles of the region. We also keep early alien support.
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-151-8/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (72 commits) different approach to fixing "the other" aliasing issue fix aliasing issue in node_construct() detach in fewer cases, remove redundant calculation SSL: Fix memleak related to local certificate Improve keyboard layout detection on X11 Compile on ARM with -Werror -Wold-style-cast Use the vista-style native dialog for QFileDialog::getExistingDirectory Apply the stdset attribute for resource properties doc: Completed sentence about HideNameFilterDetails Doc fix in QLocale Doc for for QGestureRecognizer::create. Fix broken setCollectionFile (creating multiple models instead reusing) Enable the fast paths when converting to Rgb565 qdoc: ifdefed out all the debug code. Add missing QtScript API shims Further fix license whitespace. Remove NetworkManager test-bed application. Remove configure test for NetworkManager. Fix QDir::entryList regression Add DEFINES to mingw32/windres.exe command line. ...
| * Revert some unfinished changes.Fabien Freling2010-03-111-16/+22
| |
| * Update separate regions instead of their bounding box.Fabien Freling2010-03-111-24/+18
| |
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-151-2/+4
|\ \ | |/ |/| | | | | Conflicts: src/gui/styles/qs60style_s60.cpp
| * Minisplitter doesn't paint to the bottom/rightCarlos Manuel Duclos Vergara2010-03-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | The problem is not related to the Splitter handle but related to an optimization in the paintengine. We were comparing if the size of the widget had changed before setting the new mask, which might not be correct. We could have changed the mask without changing the widget size. Task-number: QTCREATORBUG-753 Reviewed-by: Morten Reviewed-by: Samuel
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-071-2/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (57 commits) fix corewlan detection error when building for 10.5 when 10.6 is also fixed treatment of zlib on Mac when crossbuilding Partial overloading support for qdbus cli tool. Allow empty authority in QUrl::setAuthority as per docs. Added test for QTBUG-6962: Empty authority ignored by QUrl::setAuthority. fixed case of GL include directory check in MAC_APPLICATION_MENU translations Re-generate the Unicode tables after updates to the program that generates them Fix the code after merge: DerivedNormalizationProps has two or more columns add some usefull definitions to qunicodetables_p.h qchar.cpp: fix identation finish last commit prefer DerivedNormalizationProps.txt over CompositionExclusions.txt improve error reporting a bit more improve error reporting fix incorect condition check if string to int conversions were done w/o errors improve error reporting for unassigned grapheme/word/sentence break classes avoid using of qunicodetables_p.h in generator use QHash for line break map ...
| * | Mac: non-modal native qfontdialog does not work at allRichard Moe Gustavsen2010-03-051-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was never implemented, and as it stands, just creating a QFontDialog and calling show on it will not show anything. This patch makes sure that show works, and that one can have more than one font dialog showing at the same time (but only the first one will be native) Reviewed-by: cduclos
* | | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Rohan McGovern2010-03-061-12/+6
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe examples/multimedia/audioinput/audioinput.cpp src/corelib/io/qfsfileengine.cpp src/gui/egl/qegl_wince.cpp src/gui/egl/qeglproperties.cpp src/gui/egl/qeglproperties_p.h src/gui/embedded/directfb.pri src/gui/kernel/qapplication_win.cpp src/gui/painting/qdrawutil.cpp src/opengl/qgl_p.h src/sql/drivers/odbc/qsql_odbc.cpp src/sql/drivers/odbc/qsql_odbc.h tests/auto/auto.pro tests/auto/qgl/tst_qgl.cpp translations/assistant_adp_ru.ts
| * Bug with toolbar focus on MacCarlos Manuel Duclos Vergara2010-03-031-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before doing anything we need to make sure that we don't leave anything in a non-consistent state. When hiding a widget we need to make sure that no mouse_down events are active, because the mouse_up event will never be received by a hidden widget or one of its descendants. The solution is simple, before going through with this we check if there are any mouse_down events in progress, if so we check if it is related to this widget or not. If so, we just reset the mouse_down and then we continue. In X11 and Windows we send a mouse_release event, however we don't do that here because we were already ignoring that from before. I.e. Carbon did not send the mouse release event, so we will not send the mouse release event. There are two ways to interpret this: 1. If we don't send the mouse release event, the widget might get into an inconsistent state, i.e. it might be waiting for a release event that will never arrive. 2. If we send the mouse release event, then the widget might decide to trigger an action that is not supposed to trigger because it is not visible. Task-number: QTBUG-8604 Reviewed-by: denis
| * Carbon : Setting palette brush to a pixmap does not work.Carlos Manuel Duclos Vergara2010-03-021-7/+5
| | | | | | | | | | | | | | | | | | The problem occurs because we were drawing the pixmap and then clearing the buffer. This patch basically moves the clearing of the buffer to the start of the process instead of having it in the middle. Task-number: QTBUG-7800 Reviewed-by: Morten Sorvig
* | Implement alien widgets on Mac/Cocoa.Morten Johan Sørvig2010-03-021-11/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes alien widgets opt in on a per-widget basis on Mac, set the Qt::WA_NativeWindow flag when creating the widget to enable. Setting this flag on widgets that have native child or sibling NSViews is not supported. The main use case for alien widgets on Mac is to improve performance for applications that have complex user interfaces. Qt can handle thousands of widgets per window, while Cocoa is designed to use a smaller number of NSViews in combination with NSCells and custom control implementations. This commit moves us in the direction of having a few main NSViews with "leaf" qwidgets implemented as a custom control.
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into master-s60axis2010-02-261-1/+13
|\ \ | |/ | | | | | | | | Conflicts: qmake/generators/symbian/initprojectdeploy_symbian.cpp qmake/generators/symbian/symmake_abld.h
| * Revert changes made in scroll_sys().Fabien Freling2010-02-251-1/+13
| | | | | | | | | | | | | | | | | | | | The optimization created some glitches. It now works properly but it could be improved performance-wise. Task-number: QTBUG-5926 Task-number: QTBUG-5994 Reviewed-by: Morten Sorvig
* | Cocoa: Sheets loose their opacity on 2nd showRichard Moe Gustavsen2010-02-231-2/+3
| | | | | | | | | | | | | | | | | | | | It turns out that setParent_sys is wiping out opacity for the window regardless of what the value is from before. This patch does the correct thing, namely look at the WA_WState_WindowOpacitySet flag. Task-number: QTBUG-5100 Reviewed-by: cduclos
* | Reusing sheets on Mac OS X 10.5 & above shows painting artifacts.Prasanth Ullattil2010-02-161-0/+2
| | | | | | | | | | | | | | | | | | | | Window modal dialogs are shown as sheets on Mac, reusing them is showing some painting artificats. So make sure we create a new window everytime a sheet is shown. This only applies to Carbon, the Cocoa versions dont have this problem. Task-number: QTBUG-8198 Reviewed-by: MortenS
* | Mac: submenu shows up at the wrong positionRichard Moe Gustavsen2010-02-151-23/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If one opens a menu with a submenu, the submenu will be shown at a wrong position on screen. The reason is that upon show, the top menu will be centered on screen. But the child menu will be shown first, and tries to center of the parent that has not yet been shown. So moving the top menu upon show will fool the subwindow. This patch will move the center code into the setGeometry_sys function so that any resize on the window before it has been shown will re-center the window correctly. Task-number: QTBUG-2196 Reviewed-by: prasanth
* | Merge remote branch 'qt/4.6' into qt-master-from-4.6Qt Continuous Integration System2010-02-091-0/+19
|\ \ | |/ | | | | | | | | Conflicts: src/gui/kernel/qcocoapanel_mac.mm src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
| * Compile.Morten Johan Sørvig2010-02-051-1/+1
| |
| * Improve raster graphics system performance on Mac (second try).Morten Johan Sørvig2010-02-041-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the qmlviewer "sluggish animations and lost mouse events" issue by making sure we don't block and wait for for the screen refresh when flushing the backing store to the screen. NB: This commit fixes build issues found in f5f62c0bed. Review: msorvig Details: - Don't force repaints, flush the backingstore in response to a Cocoa paint/display events only. - Flush once per window. - Get the CGContext from the window (don't create a new one) - Don't call CGContextiFlush on the context.
| * Carbon: crash problem in QWidgetPrivate::hide_sys, v2Richard Moe Gustavsen2010-01-291-1/+1
| | | | | | | | | | | | | | | | | | See change: f842ec12706. Needed some ekstra checks for the cocoa port as well. Task-number: QTBUG-4227 Reviewed-by: Prasanth (cherry picked from commit ebf9c943b789bb4ce1e1222ed17cc37bd0b1f1fe)
| * Carbon: crash problem in QWidgetPrivate::hide_sysRichard Moe Gustavsen2010-01-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | The crash occurs because we at one point try to assign a widget that is marked as 'about to be deleted' to a QPointer, after clearguards has been called. The correct fix is to avoid such an assignment in the first place. Task-number: QTBUG-4227 Reviewed-by: Prasanth (cherry picked from commit f842ec12706b70f94ab5f634dc2aa025ba2cf3f2)
* | Cocoa: Tool Windows steal focus from the main windowRichard Moe Gustavsen2010-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The example that shows this off is tools/inputpanel. This example is strangely written, and calls activateWindow on the main window in an activate callback to another window. So a bit recursion will happend, and this caused troubble for the cocoa port. In addition, in Qt several windows can be active at the same time, expecially tool windows. This means that we need to be careful when returning early from the becomeKeyWindow methods for NSWindow. This patch fixes up on this stuff. Task-number: QTBUG-6002 Reviewed-by: msorvig
* | Merge remote branch 'qt/4.6' into qt-master-from-4.6Qt Continuous Integration System2010-02-011-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qeventdispatcher_mac.mm src/gui/kernel/qt_cocoa_helpers_mac.mm src/gui/widgets/qmenu_mac.mm tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp tools/assistant/tools/assistant/centralwidget.cpp tools/linguist/lupdate/main.cpp
| * Mac: Calling showFullScreen() then showNormal() on a widget results in top ↵Carlos Manuel Duclos Vergara2010-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | menu hiding. The problem here was the way we entered Full Screen Mode. We were using "kUIModeAllSuppressed" which does the following according to the manual: kUIModeAllSuppressed All system UI elements (including the menu bar) are hidden. However, these elements may automatically show themselves in response to mouse movements or other user activity. I changed it to "kUIModeAllHidden", which does the following: All system UI elements (including the menu bar) are hidden. To prevent a change of behavior I added the following option to the SetSystemUIMode: kUIOptionAutoShowMenuBar This flag specifies that the menu bar automatically shows itself when the user moves the mouse into the screen area that would ordinarily be occupied by the menu bar. Only valid for the presentation mode kUIModeAllHidden. Task-number: QTBUG-7625 Reviewed-by: Richard Moe Gustavsen
* | Carbon: crash problem in QWidgetPrivate::hide_sys, v2Richard Moe Gustavsen2010-01-291-1/+1
| | | | | | | | | | | | | | | | See change: f842ec12706. Needed some ekstra checks for the cocoa port as well. Task-number: QTBUG-4227 Reviewed-by: Prasanth
* | Carbon: crash problem in QWidgetPrivate::hide_sysRichard Moe Gustavsen2010-01-291-0/+2
| | | | | | | | | | | | | | | | | | | | The crash occurs because we at one point try to assign a widget that is marked as 'about to be deleted' to a QPointer, after clearguards has been called. The correct fix is to avoid such an assignment in the first place. Task-number: QTBUG-4227 Reviewed-by: Prasanth
* | Cocoa: implement usage of override cursorsRichard Moe Gustavsen2010-01-281-0/+3
| | | | | | | | | | | | | | This have never worked in the Cocoa port, it seems. This patch gives it a try. Reviewed-by: msorvig