summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* When clicking on a menu item which has a sub menu it should not closeAndy Shaw2012-11-151-0/+3
| | | | | | | | | If you clicked on a menu with a submenu then it should do nothing as this is what the native behaviour is on Mac. Task-number: QTBUG-10706 Change-Id: I7c8898b4b35a8189e1a8270d8a528eb56c81aed7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix scrolldown arrow not showing on popup for QMenuMiikka Heikkinen2012-11-141-2/+4
| | | | | | | | | | | | | | | | | Scrolldown arrow was not shown when a taller than screen QMenu was opened because the check to draw it used the size that was already adjusted to the screen. Fixed by using the actual menu size in the check. Also fixed the case where the menu was scrolled, closed, and reopened, in which case the size hint would return incorrect cached value. This led to scrolldown arrow not being shown in case the menu was previously fully scrolled down. Task-number: QTBUG-27445 Change-Id: Icd8d774071662a9317b3ac53cb05b31cadba96ff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> (cherry picked from qt5/qtbase commit fe8eb057fa05433e96de21df34871647f421f962))
* Windows: Fixed handling of key events containing ctrl modifierOliver Wolff2012-11-141-0/+8
| | | | | | | | | | | | | | | QKeyEvent::key() returned the wrong value if the ctrl modifier was used in that key event. That was due to the fact that ToUnicode might not return the correct code for these events/keyboard states. While it works for alt+shift+= (us layout) and gives '+' as unicode value it just claims that it cannot translate the given state for ctrl+shift+=. So if the control modifier is used and ToUnicode return 0 toKeyOrUnicode should try again without the control modifier. Task-number: QTBUG-10781 Change-Id: I771f7ed18bcce60d1c7c3f6157d169d4e80ddd60 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Don't use Cocoa code unconditionallyAndy Shaw2012-11-141-0/+2
| | | | | | | | | | | The Cocoa code should only be used if QT_MAC_USE_COCOA is defined, this was causing problems in Carbon with menus which are now resolved. Task-number: QTBUG-27960 Change-Id: I60186d69a869def4b2f03f1b0fdde82208fcfbe5 Reviewed-by: Pasi Matilainen <pasi.matilainen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* qpa: Fix rendering issue in blitter engine (negative scaling factors)Julien Brianceau2012-11-081-1/+5
| | | | | | | | | | | | | | A 180° rotation results in a TxScale QTransform with negative scaling factors (x=-1.0 y=-1.0). This is not properly handled by blitter paint engine yet, so use software rendering fallback in this case. This rendering issue can be seen when using "-webkit-transform" CSS property in WebKit with DirectFB QPA platform. cherry-picked from qt5/qtbase 07ea3cf0b3883979e84bd91a5dc6a7a126de3123 Change-Id: I0911fd1166a3968d0a1d6bcca47ce2b26866de44 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Fix GIF image decoding: do not zero transparent pixelsaavit2012-11-081-9/+6
| | | | | | | | | | | | For the special transparent color index, the decoder would skip writing anything out (thus leaving the pixels at 0 rgba value). Although correct for later frames, for the initial frame this would loose the color information for such pixels (which one otherwise could have made visible e.g. by converting then image to an alpha-less image format). Change-Id: I316cefce8f21797feedebfbf98296ad84eaa4b99 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* HeaderView - call invalidateCachedSizeHint() on clearThorbjørn Lund Martsum2012-11-071-0/+1
| | | | | | | | | | | | This calls invalidateCachedSizeHint on clear, which is a logical thing to do. This is a backport of SHA aa2578a1006f17cff50ca39090bae2e1e090b59b Task-number: QTBUG-22528 Change-Id: I725748b314fd9d09441d3bf34c4607a4cc7162ed Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QWindowsVistaStyle: Restore altered brush origin.Friedemann Kleint2012-11-071-1/+2
| | | | | | | | | | | | The line to restore it was missing, and the leftover variable caused a warning, which was removed in abe5a0a432116963d22c4ef501a4dfd2393d66fb . Task-number: QTBUG-27828 Change-Id: I00b8b89b07bec38a1660c3a9c61220b6d0d7eb48 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> (cherry picked from qtbase/96ebbad5f03d6db5fa81f284ccbdaf4b6259c27b)
* Fix submenu navigation.Friedemann Kleint2012-11-071-0/+10
| | | | | | | | | | | | | | | Bring back code that was removed in Qt 4: 60324267fbb8a8554e62aaf9ef01360709292320 for QTBUG-7411 . This code reselects the submenu action of a currently opened popup when the mouse is moved to the submenu crossing other actions. In addition, make sure it only triggers when the reason is not keyboard selection. Task-number: QTBUG-20094 Change-Id: Ibb73f83e86635083aad8b1e79fc0fdd512c65754 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> (cherry picked from qtbase/0a91c9df01ec8f0c4aef9ce6e5e9bc3804fb80c2)
* Cocoa: QPrintDialog does not show/closes down immediatlyRichard Moe Gustavsen2012-11-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This happends if an event loop recursion ends before the native print dialog gets executed (in the same scope). The reason is that the event dispatcher gets interrupted as the first recursion ends. And (because of the big difference between how AppKit implements modal windows compared to Qt) this sets a flag in the dispatcher that gets handled on the next callback to QCocoaEventDispatcher::processPostedEvents. This will tell the dispatcher to break out of the current modal session. But since it cannot detect that an alien (native) session is now running, it closes down that session by accident instead. While code can be written in the event dispatcher to detect this problem, it ends up more clean to just work around the problem from the native dialogs instead. This to avoid making the dispatcher more complex than it already is. Native dialogs is a bit messy already, and the work-arounds needed should be isolated inside those components, and not inside the dispatcher. Change-Id: I8cb90b3a7a41b2122ae39e1af5eee0746505aa3a Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Qt 4 - QHeaderView - correct drop on manual QHeaderView sectionmoveThorbjørn Lund Martsum2012-11-031-1/+1
| | | | | | | | | | | | | | | | | | | This fixes an error in the calculation of the exact drop position when an user is moving a section in QHeaderView. Before we compared a mouse-position local to the widget (pos) with a summed length of sections (posThreshold). However we need to consider/substract the headers offset to make the posThreshold comparable to the local mouse position. This is a backport of SHA d625535728154fc9ca576bf6472c6b5057a96f17 This solves e.g. Task-number: QTBUG-14814 Change-Id: I8e2c820dc9018fb3d14b71f28aa317417c997a44 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Doc: Updated links in qt-webpages.qdoc to Digia equivalent.Jerome Pasion2012-11-021-3/+0
| | | | | | Change-Id: I7b46898ae6ccc08d96095f1658f87c063aa6b487 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* Mac: Correct writingSystem check value for ChineseLiang Qi2012-11-011-2/+2
| | | | | | | | | | | | | For simplified and traditional Chinese. Based on the Apple doc: Internationalization Programming Topics - Language and Locale Designations. (backport of commit edfb24009cf22a0f0277be5d595b48ef9af9c3bf from qt5/qtbase) Task-number: QTBUG-27130 Change-Id: I08969bfba17b6a2589dca5da83b668bb2d8f3e31 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix a crash in QFileDialog when selecting an invalid name filter.Friedemann Kleint2012-10-311-5/+7
| | | | | | | | | | | | When nameDetailsVisible is set to false and an invalid/empty string is passed to selectNameFilter(), the regexp used to strip the filter off the suffixes returns empty and a crash occurs. Change-Id: I926ea49514ff25a103977d8121fca1cf83d647f5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> (cherry picked from qtbase/d0aa81ee104107db1ce41a9bf0f91d4cb144f7de)
* Fix debugger detection when running on Linux.Friedemann Kleint2012-10-311-20/+28
| | | | | | | | | | Newer Linuxes have a symlink named 'exe' to the executable and 'cmdline' is empty. Task-number: QTBUG-27632 Change-Id: I45eb2186e2608e9600c4b6b27a033d8b1350deee Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixing font database memoryleakKarim Pinter2012-10-311-2/+2
| | | | | | | | | | | There is one case when the QFontEngine* fe is loaded, then FcPattern* match loaded from FcFontRenderPrepare is not deleted. Valgrind was showing this problem, after the fix there is no memoryleak in Valgrind. Change-Id: I8ef928fe8190a6d26f2e5275b85e08a7a8796a7b Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Jiang Jiang <gzjjgod@gmail.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QHeaderView - fix minor bug in visualIndexAtThorbjørn Lund Martsum2012-10-311-2/+2
| | | | | | | | | | | | This fixes a minor bug in VisualIndex triggered when calling resizeSection with size 0 (but not hideSection). It is mostly cosmetics - but it is still a bug. This is a backport of SHA 73a5bc2aac7638438dfde260a4246359a06e89ae Change-Id: Ic3e1ce584d8befa501c670c085435248ebaa681b Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QHeaderView - length returns wrong value fixThorbjørn Lund Martsum2012-10-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | setSectionHidden called with (logindex, true) will sometimes not do a (correct) call to resizeSection(logicalIndex, 0) at once. However it does execute d->doDelayedResizeSections(). Therefore the section is going to be hidden later. However it is a problem that the length meanwhile is wrong. (That is a value that is not the sum of the sections) This is fixed by execute updates before returning the length. This is a backport of SHA 125016ad241125176e5bebab94eebcf50fac20bc Task-number: QTBUG-14242 Change-Id: Ia1d2f6db3213792b250a6a37942b56554261cd3a Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QHeaderView - no big update work if updates are disabledThorbjørn Lund Martsum2012-10-311-0/+7
| | | | | | | | | | | | | This is not a major boost, but still a nice optimization that can speed up hideSection and resizeSection with about 40% if updates are disabled. It is backport of SHA 3bb0c88de8894fc05ad1558b96ae05ceeff64b78 and a5201007f255a07f7ba07981745eeaec41a14a34 Change-Id: I33b83940003c391e5dae549353a6beb27928f92a Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Corrected licensing info and links point to Digia in qmessageboxjutaipal2012-10-301-2/+2
| | | | | | | | Change-Id: I1051b20c287cba927b668290c46749c27edbde21 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fixed GCC 3.4 build with sse2 enabled.Samuel Rødal2012-10-301-1/+2
| | | | | | | | | With minimal effort we can keep the GCC 3.4 build working. Task-number: QTBUG-19803 Change-Id: I31611a27b97d5ac426ea857d8f1b656dc6f5377a (cherry picked from commit 7d7f09650c3b3b2990f16ff4a6401a8c74e1f868) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed crash on destruction of animating QDockWidget in a QMainWindowRohan McGovern2012-10-302-2/+5
| | | | | | | | | | | | | | | | | | | | | It doesn't make sense to hold an unguarded pointer to a QPropertyAnimation while assigning ownership of that animation to the animated widget. Destruction of the widget while the animation is in progress causes the animation pointer to become dangling; then the widget is removed from the containing QMainWindowLayout, which attempts to abort the animation, dereferencing the invalid pointer. The crash can be reproduced sometimes with tst_QDockWidget::taskQTBUG_2940_resizeAfterUndocking (which is in Qt4 only). (cherry-picked from qtbase 33214af3784feacb2d5188bbf07da92f45f582f9) Change-Id: Ia886f64fdb6720914a46bc7f32c71cf4fc81c28d Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* BlackBerry: Change base font sizes from pixels to pointsKevin Krammer2012-10-221-1/+3
| | | | | | | | | | | | | | Previously recommended fonts sizes in pixels do not work very well on the new high resolution devices. Current UX documentation recommends point size 8 for normal text which works well on both types of devices. Backport of qtbase 4d693b6cdf879a03f77f2a06ca0e1be5605c0fc0 Change-Id: I9507b77a5e814b33cf90e714ae62d64e468710b9 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use the right properties when checking the frame's marginsAndy Shaw2012-10-221-4/+4
| | | | | | | | | | Changed it to check the Frame*Margin property instead of the Block*Margin property as this was incorrect for a QTextFrameFormat. Task-number: QTBUG-22173 Change-Id: I2c3066165fb592ed034874b1180593822859f933 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> (cherry picked from qtbase/d060620e6cd3c94e7e0ff809b21593b9c0da0be2)
* QNX: only enable NEON instructions for supported architectures (ARM)Peter Hartmann2012-10-211-1/+1
| | | | | | | | | | | They are not there on x86. This change is not needed for Qt5. Task-number: QTBUG-27612 Change-Id: I385ed5b18b6985f796054acbf4fca2667942f8d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Blackberry: implemented "orientation lock" widget attributeBernd Weimer2012-10-201-0/+14
| | | | | | | | | | | | Qt::WA_LockPortraitOrientation and Qt::WA_LockLandscapeOrientation will be adhered to. This is not needed in Qt5, as those attributes have been removed from Qt5. Change-Id: I5f29cad0e2c784caa6201b683d7b658a5b0d083d Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Close popups on non-client area mouse press.Morten Johan Sorvig2012-10-191-0/+11
| | | | | | | | | | | | | | Fixed QComboBox popup issue which was left open if window was moved(dragged) to another position. Task-number: QTBUG-1894 Task-number: QTBUG-26120 Task-number: QTBUG-26465 Task-number: QTBUG-26827 Change-Id: I7e37b37881cdf94574d79f7e77d36f5bbc15f732 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix a regression with regards to hfw behavior in QStackedWidgetJan Arve Saether2012-10-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression because we made QStackedWidget actually support heightForWidth in 4.8. This was done with change 4780f94e391b5e881497c5228661dead42c821fa. The problem was that heightForWidth was not calculated correctly because some of the pages were hidden. The hidden pages were actually not contributing to the hfw of the QStackedWidget at all. This again caused the QStackedWidget to change its heightForWidth() value when the current tab changed, which again could cause "jumps" in the UI when switching tabs (as demonstrated in the task). The problem was that the patch relied on calling QWidgetItem::heightForWidth(), and this function would return -1 if the widget was hidden. However, QWidget::heightForWidth() does not have this magic and returns the proper hfw value regardless of its visibility. One could argue about the correctness of this patch, but since QStackedLayout::sizeHint() disregards QWidgetItem::sizeHint() (it asks the widget directly), we do the same in QStackedLayoutHFW::heightForWidth() for consistency. In addition, QStackedLayout enforces that only widgets can be added to it, and you cannot add your own QLayoutItem subclasses to it: qWarning("QStackedLayout::addItem: Only widgets can be added"); Change-Id: I0196a9e8e3ef3a36ce0e1a2929dfd58edeb93c69 Task-id: QTBUG-24758 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Fix Drag and Drop with Native WidgetsJian Liang2012-10-181-1/+3
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-27265 Don't check "dragOverWidget != widget" in QOleDropTarget::DragOver() because if the dropsite widget's parent widget is the drop target this check will prevent its parent widget receive drag over event and the dnd cursor indicator is also wrong. We replace the check with "!dragOverWidget->isWindow()" to prevent pass through a window. A similar issue in Qt5 beta has been fixed by https://codereview.qt-project.org/#change,35646 Change-Id: I9e18b71bd7f3ee244db61571811c51dc16b341d2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fixed cosmetic line drawing where begin and end points are equal.Samuel Rødal2012-10-171-0/+5
| | | | | | | | | | | This case has typically required specific work-arounds in other rendering paths as well. (cherry picked from commit dfb55f8a6c8d3ec4da840191c331ace3c2aa2bf3) Task-number: QTBUG-25153 Change-Id: I217e710a30222792ebca3bf297e438d944c32992 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QComboBox: mention insert policy in context of editable propertyMark Brand2012-10-171-1/+4
| | | | | | | | | This makes it a little bit easier for the reader to discover what editable combo boxes are about. Change-Id: I60ce571f01e32d4cacb4718b42a8e12884bd1c13 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> (cherry picked from qt5/qtbase commit a5e7c2802af59d4940e3479288cb9346205b984c)
* QComboBox::currentText: correct documentationMark Brand2012-10-171-3/+6
| | | | | | | | | | | | | | The documentation previously neglected the fact that the current text can be provided by the embedded QLineEdit if the combo box is editable even if there is no selected item. Change-Id: If40868c1633af7ce81b437d29e1da3fd4fefafb0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Adam Light <aclight@gmail.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl> (cherry picked from qt5/qtbase commit 8d56ed85bdce40bca7b8457527103988efb3afcd) Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Mangle QNSApplication and methods into a namespaceYan Shapochnik2012-10-152-13/+16
| | | | | | | | | | | Ensure Qt's native implementation of sendEvent: calls the proper Qt event filters and passes them along to the correct QApplication instance thus guaranteeing that macEventFilter() is properly called when a non namespaced and a namespaced Qt exists in one process. Change-Id: I61543d6ef68b09cfb40c9d263aaaf5ead5ece24b Reviewed-by: Yan Shapochnik <shapochniky@seapine.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Mangle QNSApplication into a namespace when Qt is configured as suchYan Shapochnik2012-10-153-3/+3
| | | | | | | | | | | | | | Ensure the correct QNSApplication is referenced when multiple Qt instances exist in a process. This will also prevent the following messages from being displayed in the console "Class QNSApplication is implemented in both /path/to/QtGui.framework/Versions/4/QtGui and /path/QtGuiNamespaced.framework/Versions/4/QtGuiNamespaced. One of the two will be used. Which one is undefined. Change-Id: I22e7f06aa35e9daecf2e9c881268baf92d35022c Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix number of available printers in CUPS supportNick Ratelle2012-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | | If available printers in CUPS support. If the number of available printers changes, we want to update the count. Additionally, if that number has gone to zero, we want to ensure that the number of available printers in the static object is reset to zero. This fixes a crash that occurs if: * You print * You kill cupsd (or it crashes because you're porting it and your port is * unstable) * You try to print again before restarting it. cherry-picked from qt5/qtbase eda0e120e9e2e7b7be747f4ed035d686c9547769 Change-Id: If4640045073acaecec4495f5cb01806ae859cf65 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Enable NEON compilation on qcc compilers.Rafael Roquetto2012-10-131-1/+1
| | | | | | | | | This change does not apply to qt5. Change-Id: I0d9b9cc39270a377b8f6f8289ad1fd7a05dd0367 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Pass NEON_ASM directly to SOURCES.Rafael Roquetto2012-10-131-3/+2
| | | | | | | | | | | This guarantees that qmake gives them the proper flags (non C++) while building these asm files. cherry-picked from qt5/qtbase 1ef74a763a726829bfc26224d82acff207fdc8bb Change-Id: Iec8dbb2d25700ead99d46b054665b817bbe79b7b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Introducing the PlatformPanel event type.Sergio Martins2012-10-125-1/+35
| | | | | | | | | | | | | | | | | This event can be used by any platform plugin to implement special application panels/overlayed menus. Currently used by QNX only. This replaces sending fake Qt::Key_Menu presses in the QNX plugin. Qt::Key_Menu is already used when invoking context menus with the keyboard. ( backport of qtbase/9695df4d44b228e7e778ff17d5cccac30967b1fd ) Change-Id: Id5cf96758f1104f454a2bb977b367d09d4685b62 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* Clean up whitespaceJan-Arve Saether2012-10-121-34/+34
| | | | | Change-Id: Id1e293352d90a151e31ba73168400aacebc588dc Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* qpa: Fix rendering issue in blitter paint engineJulien Brianceau2012-10-121-3/+4
| | | | | | | | | | | Take into account brush transformation for TexturePattern fill. Example : arrows are not rendered properly in http://www.youtube.com/leanback website. cherry-picked from qt5/qtbase 2f2656002735a14687c5d6b5a3250666a8e102e3 Change-Id: I11fead281e372b2a24da835f85c327879e9997f0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Update the state of native menus correctly on MacPasi Matilainen2012-10-023-12/+7
| | | | | | | | | | | | | | | | | | | | | The state of native menus is currently updated in two incompatible ways on Mac, either by updating the state of native menu items in a native menu (when setEnabled is called) or the state of the native menu item containing the native menu (when the menus are initialized and when a modal dialog is opened/closed). This causes various problems, e.g. inability to enable a menu that was disabled before menu initialization or menus getting enabled incorrectly after a modal dialog is closed. Fix by always setting the state of the native menu item that contains the native menu. Also, autoenable is active for the main menu, resulting in unnecessary menu validation calls, so turn it off. Task-number: QTBUG-25544 Task-number: QTBUG-26399 Task-number: QTBUG-7538 Change-Id: Iab335af633604e7b3017eaa55464d1b8fdd7b821 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Fix issue with mispositioned family name i QFontComboBoxEskil Abrahamsen Blomfeldt2012-10-011-1/+12
| | | | | | | | | | | | | | | | | | | Mac OS X 10.7 comes with the family of Stix fonts, some of which exposed an ugly layout bug in the QFontComboBox because the ascent/descent ratio is very large due to a very high ascent, so centering the text vertically might cause most of the text to be clipped away. The solution is to detect when the ascent is larger than the height of the destination rectangle (hence a large part of the characters will be clipped) and use the actual bounding rect for centralizing instead. Since this only happens for a very few of the fonts, the overhead of getting the bounding rect should be tolerable. Task-number: QTBUG-26691 Change-Id: I4f1a9b3c63138fde4dfdfa99d8581458c59b7ff6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix g++/MinGW compiler warnings.Friedemann Kleint2012-09-299-14/+11
| | | | | | | | | | - Assigned/Unused variables. - Unsigned comparison >= 0 is always true. - Constructor initialization order. - Signed/Unsigned comparisons. Change-Id: I1f9edab0506573420ed0bf3055252ba48625c8eb Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-291254-30044/+30049
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* clear XSizeHints before useDavid Fries2012-09-282-1/+3
| | | | | | | | | | | | Always clear the XSizeHints before retrieving with XGetWMNormalHints because if the window doesn't have size hints set the structure will remain uninitalized. Clear XSizeHints in other locations as well just to be safe. Task-number: QTBUG-15418 Change-Id: Ia9a0c485389bf27016ee7f206a3a916d0bbcbcfa Signed-off-by: David Fries <David@Fries.net> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* [QTBUG-27308][QTBUG-21534] Don't mouse-wheel-scroll QScrollBar when disabledMarc Mutz2012-09-271-0/+2
| | | | | | | | | | | | | | | | The Qt 5 fix (aec5b76) doesn't apply here, because it introduces a new symbol that might break forward compatibility if code compiled against a newer Qt 4.8 is run against an older Qt 4.8, and QScrollBar::wheelEvent() ends up being devirtualised. So copy the guard clause from QWidget::event() here. Task-number: QTBUG-27308 Reported-by: chenjiexin Task-number: QTBUG-21534 Reported-by: Martin Koller Change-Id: I5d2f823c65bae8cff33bac320c37e6496b14646c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fixed outline / fill inconsistencies in raster paint engine.Samuel Rødal2012-09-273-20/+2
| | | | | | | | | | | | We did coordinate rounding of the fill in the raster paint engine to match how drawLine_midpoint_i rendered lines. With the new cosmetic stroker in 4.8 this rounding is not needed anymore. Task-number: QTBUG-26013 (cherry picked from commit b6acec1e5d55d03ad3a0a70d2cf371d3f8fde629) Change-Id: I0324e3a45c525890fb58817a180c6aa712716780 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Load Mac specific resources in a static buildAndy Shaw2012-09-271-1/+4
| | | | | | | | | When Qt was built statically then the Mac specific resources were not being loaded which meant some style specific images were not used. Task-number: QTBUG-25391 Change-Id: Iad538b5f1935ed1744617d6e47ae3e68aa36afac Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Avoid crash caused by drag and drop and winId()Jian Liang2012-09-271-9/+19
| | | | | | | | | | | | | | | Task-number: QTBUG-27263 QWExtra object pointer is not guaranteed to be valid in QWidget::unregisterOldDnd() since commit f6bf4b2baa91e55f40596bf3f2823b119fdfa5e0. To avoid crash we have to check QWExtra object pointer of the native parent widget before access it, and if the pointer is not valid we should check its native parent widget recursively. Change-Id: I764fea4a0826cff751dd74a0fb67e0d2971c1d49 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* cleanup CUPS tmp filesTeemu Katajisto2012-09-271-0/+1
| | | | | | | | | | | | | Set fd in openPrintDevice() so that it gets cleaned up properly in closePrintDevice(). Backported from the Qt5 commit: 99bab571b4cb41362e891f1bb1e812119701c932 Task-number: QTBUG-14724 Change-Id: I02968d597822b636078ae89566dd8ed8a948019b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>